.notifications{position:relative}.notifications>button{display:flex;align-items:center;gap:8px;min-height:40px}.notifications-panel{position:absolute;right:0;top:calc(100% + 8px);width:380px;max-height:min(640px,75dvh);overflow:auto;background:var(--surface-hi);border:1px solid var(--line-app-strong);border-radius:12px;z-index:100;padding:16px;color:var(--text)}.notifications-panel header{display:flex;justify-content:space-between;align-items:start}.notifications-panel p{font-size:12px;color:var(--muted-app);margin:6px 0 12px}.notifications-panel ul{padding:0;margin:8px 0 0;list-style:none}.notification-item{width:100%;text-align:left;border:0;border-top:1px solid var(--line-app);background:transparent;padding:14px 10px;display:flex;flex-direction:column;gap:6px;font-size:13px;overflow-wrap:anywhere;color:var(--text);cursor:pointer}.notification-item:hover{background:var(--row-active)}.notification-item.is-unread{background:var(--accent-soft)}.notification-item time{font-family:var(--font-mono);font-size:11px;color:var(--muted-app)}.notifications--mobile{display:none}@media(max-width:960px){.notifications--desktop{display:none}.notifications--mobile{display:block}.notifications-panel{position:fixed;inset:auto 12px 76px;width:auto;max-height:70dvh}}.ri-page,.ri-card,.ri-table{min-width:0}.ri-page{display:grid;gap:var(--sp-4)}.ri-kpis{--cols: 3;min-width:260px}.ri-kpis .kpi__v{font-size:16px}.ri-filters{display:flex;align-items:end;flex-wrap:wrap;gap:var(--sp-3)}.ri-filters label{display:grid;gap:var(--sp-1);font-size:var(--fs-caption);color:var(--muted-app);min-width:130px}.ri-filters .input{width:100%;min-width:0}.ri-card{margin-block:var(--sp-4)}.ri-card .card__head{align-items:flex-start;gap:var(--sp-3)}.ri-card .card__head h2{margin:0;font-size:16px;font-weight:500}.ri-card .card__foot{gap:var(--sp-3);flex-wrap:wrap}.ri-card .card__foot .card__note{flex:1;min-width:0}.ri-message{padding:var(--sp-4)}.ri-table .dt{width:100%;table-layout:fixed}.ri-table .dt th:last-child{width:90px}.ri-table .dt td{vertical-align:top}.ri-table .dt td .cell-main,.ri-table .dt td .cell-sub{max-width:none;overflow:visible;text-overflow:clip;display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.6}.ri-table .cell-main{display:block;margin-bottom:4px}.ri-fields{margin-top:var(--sp-2)}@media(max-width:600px){.ri-kpis{width:100%;min-width:0}.ri-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ri-filters label{min-width:0}.ri-table .dt--stack tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-3)}.ri-table .dt--stack td{min-width:0;width:auto;white-space:normal;overflow-wrap:anywhere}.ri-table .dt--stack td[data-col=report]{grid-column:1;grid-row:1}.ri-table .dt--stack td[data-col=severity]{grid-column:2;grid-row:1}.ri-table .dt--stack td[data-col=issue]{grid-column:1 / -1;grid-row:2}.ri-table .dt--stack td[data-col=correction]{grid-column:1 / -1;grid-row:3}.ri-table .dt--stack td[data-col=correction]:before{content:"怎麼改";display:block;font-weight:500;margin-bottom:4px}}.sheet-table td.qe-has-toggle{position:relative;padding-left:16px}.qe-toggle{position:absolute;left:1px;top:50%;transform:translateY(-50%);width:16px;height:22px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted-app);font:12px/1 var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.qe-toggle:hover{background:var(--row-active);color:var(--text)}.qe-toggle[aria-expanded=true]{color:var(--accent)}.qe-toggle .dot{position:absolute;right:0;top:2px;width:5px;height:5px}.sheet-table tr.qe-tr>td.qe-td{padding:0;height:auto;text-align:left;overflow:visible;background:var(--surface);border-color:var(--sheet-line)}.qe-panel{position:sticky;left:0;box-sizing:border-box;width:100%;padding:10px 12px 8px;font-family:var(--font-sans);font-size:var(--fs-table);color:var(--text);text-align:left;background:var(--surface-hi2);box-shadow:inset 3px 0 0 var(--accent)}.qe-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-bottom:6px;border-bottom:1px solid var(--line-app)}.qe-title{font-size:var(--fs-label);font-weight:var(--fw-medium, 500);color:var(--text-strong);min-width:0}.qe-sub{margin-left:6px;font-weight:400;color:var(--muted-app);font-size:var(--fs-caption)}.qe-aside{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qe-close{min-width:26px;padding:0 6px}.qe-note{margin:8px 0 0;font-size:var(--fs-caption);color:var(--muted-app)}.qe-note--warn{color:var(--amber)}.qe-block{margin-top:8px}.qe-block+.qe-block{padding-top:8px;border-top:1px dashed var(--line-app-strong)}.qe-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.qe-block-title{font-size:var(--fs-caption);color:var(--muted-app);font-weight:var(--fw-medium, 500)}.qe-grid{display:grid;gap:0}.qe-drow{display:grid;grid-template-columns:40px minmax(0,1fr) 76px 52px 64px 88px;align-items:center;gap:0 8px;min-height:32px;border-top:1px solid var(--line-app)}.qe-drow--head{min-height:26px;border-top:0;font-size:var(--fs-caption);color:var(--faint-app);font-weight:var(--fw-medium, 500)}.qe-meta{display:contents}.qe-drow .num{text-align:right;font-variant-numeric:tabular-nums}.qe-dept{font-size:var(--fs-caption);color:var(--text-2);font-weight:var(--fw-medium, 500)}.qe-unit{color:var(--muted-app);font-size:var(--fs-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qe-drow .dash{color:var(--faint-app)}.qe-panel .ci:not(.ci--ro),.qe-a .ci:not(.ci--ro){height:28px;border:1px solid var(--line-app-strong);border-radius:var(--r-md);background:var(--surface-hi);padding:0 6px;font-size:var(--fs-table)}.qe-panel .ci:not(.ci--ro):focus,.qe-a .ci:not(.ci--ro):focus{border-color:var(--focus-line, rgba(10, 10, 10, .5));box-shadow:0 0 0 .5px var(--focus-line, rgba(10, 10, 10, .5))}.qe-panel .ci-combo-wrap>input.ci{padding-right:20px}.qe-panel .ci-combo-btn{opacity:1;right:3px}.qe-panel .ci--ro,.qe-a .ci--ro{text-align:left;white-space:normal;word-break:normal}.qe-panel .qe-qty .ci--ro,.qe-panel .qe-extra .ci--ro{text-align:right}.qe-panel .ci-print-value,.qe-a .ci-print-value{display:none}.qe-extras{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px}.qe-extra{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--muted-app)}.qe-extra .ci{width:88px}.qe-add{margin-top:6px}.qe-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-top:8px;padding-top:6px;border-top:1px solid var(--line-app)}.qe-sum{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0}.qe-sum>div{display:flex;align-items:baseline;gap:6px}.qe-sum dt{font-size:var(--fs-caption);color:var(--muted-app)}.qe-sum dd{margin:0;font-size:var(--fs-label);font-weight:var(--fw-medium, 500);color:var(--text-strong);font-variant-numeric:tabular-nums}.qe-sum .is-bad dd{color:var(--danger)}.qe-sum .is-warn dd{color:var(--amber)}.qe-a{margin-top:var(--sp-3)}.qe-a__head{cursor:pointer;-webkit-user-select:none;user-select:none}.qe-caret{display:inline-block;width:14px;color:var(--muted-app)}.qe-a__total{font-size:var(--fs-caption);color:var(--text-2)}.qe-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px}.qe-field{display:grid;gap:3px;font-size:var(--fs-caption);color:var(--muted-app)}.qe-field .k small{margin-left:4px;color:var(--faint-app)}.qe-field .ci--calc{text-align:left;height:28px;line-height:28px}.qe-a select.ci{height:28px;border:1px solid var(--line-app-strong);border-radius:var(--r-md);background:var(--surface-hi)}.qe-a__calc{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px 12px;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line-app)}.qe-a__calc>div{display:flex;justify-content:space-between;gap:6px;font-size:var(--fs-caption)}.qe-a__calc dt{color:var(--muted-app)}.qe-a__calc dd{margin:0;color:var(--text-2);font-variant-numeric:tabular-nums}.qe-confirm{margin:0;padding-left:18px;display:grid;gap:6px}.qe-meter{display:flex;align-items:flex-start;gap:10px}.qe-meter__wrap{position:relative;flex:1 1 auto;padding-bottom:16px}.qe-meter__wrap .meter__track{display:block}.qe-meter__mark{position:absolute;top:-3px;width:0;height:12px;border-left:1px dashed var(--text-strong)}.qe-meter__target{position:absolute;top:9px;transform:translate(-50%);font-size:10.5px;color:var(--muted-app);white-space:nowrap;font-variant-numeric:tabular-nums}.qe-meter .meter__val{line-height:6px}.qe-diff{width:100%;border-collapse:collapse;font-size:var(--fs-table)}.qe-diff th{height:32px;padding:0 8px;font-size:var(--fs-caption);font-weight:var(--fw-medium, 500);color:var(--faint-app);text-align:right;border-bottom:1px solid var(--line-app);white-space:nowrap}.qe-diff th:first-child,.qe-diff td:first-child{text-align:left}.qe-diff td{height:32px;padding:0 8px;border-top:1px solid var(--line-app);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.qe-diff tr:first-child td{border-top:0}.qe-diff .sub{display:block;font-size:11px;color:var(--faint-app);line-height:1.2}.qe-diff .is-up{color:var(--danger)}.qe-diff .is-down{color:var(--green)}.qe-diff tr.total td{font-weight:var(--fw-medium, 500);border-top:1px solid var(--line-app-strong)}.qe-diff-wrap{overflow-x:auto}@media screen{.fx-quote-main>.sheet-wrap{container-type:inline-size}.qe-panel{width:min(100%,calc(100cqw - 40px))}}@media screen and (max-width:600px){.qe-drow{grid-template-columns:34px minmax(0,1fr) 64px;padding:3px 0}.qe-meta{display:flex;grid-column:2 / -1;gap:12px;justify-content:flex-end;font-size:var(--fs-caption);color:var(--muted-app)}.qe-drow--head .qe-meta{display:none}.qe-meta>[data-k]:before{content:attr(data-k) " ";color:var(--faint-app);font-family:var(--font-sans)}.qe-extra .ci{width:72px}.qe-diff th,.qe-diff td{padding:0 4px}}@media print{.qe-tr,.qe-toggle,.qe-panel,.qe-a{display:none!important}}.qe-diff-section{margin-bottom:var(--sp-4, 16px)}.input-guards{display:block;min-width:0;max-width:100%;white-space:normal}.input-guard{display:block;font-size:12px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere;text-align:left}.input-guard--warning{color:var(--amber, #bd6500)}.input-guard--error{color:var(--danger, #c10007)}.input-guard a{color:inherit;text-decoration:underline}.guard-date{display:inline-flex;flex-direction:column;min-width:0;max-width:100%;width:100%;vertical-align:top}.guard-date>input{min-width:0;max-width:100%}.guard-date__toggle{align-self:flex-start;border:0;background:transparent;color:var(--muted-app);padding:2px 0;font-size:10px;cursor:pointer;white-space:normal}.guard-date__converted{display:block;font-size:11px;color:var(--muted-app);white-space:normal;overflow-wrap:anywhere}@media print{.guard-date__toggle,.guard-date__converted,.input-guards{display:none}}:root{--sheet-font: "標楷體", "DFKai-SB", "BiauKai", "TW-Kai", "AR PL UKai TW", "Noto Serif TC", "Noto Serif CJK TC", "Noto Sans TC", "Noto Sans CJK TC", "WenQuanYi Zen Hei", serif;--sheet-line: #3a3835;--sheet-line-soft: #9d9a93;--fill-gray: #d4d2cd;--fill-param: #e1dfda;--fill-yellow: #fff6b3;--fill-cyan: #d3f3f3;--fill-blue: #dde8f3;--fill-blue-strong: #9fc0e8;--fill-red: #f3b9b3;--fill-green: #cfe9dc;--fill-lightblue: #e4eef7}.fx-page{max-width:none}.fx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap}.fx-head h1{font-size:var(--fs-heading);line-height:var(--lh-heading);letter-spacing:var(--ls-heading)}.fx-head .sub{color:var(--muted-app);margin-top:4px;font-size:var(--fs-label)}.fx-toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.fx-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);gap:var(--sp-5);align-items:start}.fx-layout--stack{grid-template-columns:minmax(0,1fr)}@media screen and (max-width:1100px){.fx-layout{grid-template-columns:minmax(0,1fr)}}.fx-side{position:sticky;top:calc(var(--topbar-h) + 16px);display:grid;gap:var(--sp-3);align-content:start}.fx-extra{margin-top:var(--sp-5);display:grid;gap:var(--sp-5)}.fx-extra h2{font-size:var(--fs-title);font-weight:var(--fw-medium)}.fx-extra h3{font-size:var(--fs-label);font-weight:var(--fw-medium)}.fx-eyebrow{font-size:var(--fs-caption);color:var(--muted-app);margin-bottom:6px}.fx-msg{padding:8px 12px;border-radius:var(--r-lg);font-size:var(--fs-caption)}.fx-msg--error{background:var(--danger-soft);color:var(--danger)}.fx-msg--ok{background:var(--green-soft);color:var(--green)}.fx-msg--warn{background:var(--amber-soft);color:var(--amber)}.fx-warnings{margin:0;padding-left:18px;font-size:var(--fs-caption);color:var(--amber)}.fx-btn-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.fx-slip-layout{margin-top:0}.fx-slip-main{min-width:0}.fx-slip-side .card__body .inspector-facts{font-size:var(--fs-caption)}.sheet-wrap{overflow-x:auto;border:1px solid var(--line, #e3e0d9);border-radius:var(--r-card, 12px);background:var(--bg, #fff)}.sheet{font-family:var(--sheet-font);color:#000;padding:24px;font-size:14px;line-height:1.35;min-width:0}.sheet--quote{width:1040px;max-width:100%;margin:0 auto}.sheet--slip{width:max-content;min-width:100%;font-size:12px}.sheet-status{display:inline-block;font-family:var(--font-sans, sans-serif);font-size:11px;color:var(--muted, #6b6863);margin-bottom:8px}.sheet-table{border-collapse:collapse;table-layout:fixed;width:100%}.sheet-table td,.sheet-table th{border:1px solid var(--sheet-line);padding:2px 4px;vertical-align:middle;height:22px;font-weight:400;text-align:center;overflow:hidden}.sheet-table th{font-weight:600}.sheet-table td.noborder,.sheet-table th.noborder{border-color:transparent}.sheet-table td.nb-top{border-top-color:transparent}.sheet-table td.nb-bottom{border-bottom-color:transparent}.sheet-table td.left,.sheet-table th.left{text-align:left}.sheet-table td.right,.sheet-table th.right{text-align:right}.sheet-table td.top{vertical-align:top}.sheet-table td.tall{height:44px}.sheet-table td.xtall{height:80px}.sheet-table td.pre{white-space:pre-wrap;text-align:left;line-height:1.5}.sheet-table td.wrap{white-space:normal}.sheet-table td.lbl{white-space:nowrap;overflow:visible;text-align:left;font-size:13px}.sheet--quote .sheet-table :is(tbody tr:first-child,tbody tr:last-child) td{border-top:1px solid var(--sheet-line);border-bottom:1px solid var(--sheet-line)}.sheet--quote .sheet-table :is(tbody tr:first-child,tbody tr:last-child) td.noborder{border-color:transparent}.sheet--quote .sheet-table+.sheet-table{margin-top:-1px}.sheet--quote .qs--letterhead+.qs--items{margin-top:0}.sheet-table td.nowrap{white-space:nowrap}.sheet-table .t20{font-size:20px;letter-spacing:.2em;font-weight:600}.sheet-table .t18{font-size:18px;letter-spacing:.3em;font-weight:600}.sheet-table .t26{font-size:24px;font-family:Arial,var(--sheet-font);text-align:left}.sheet-table .t12{font-size:12px}.sheet-table .t16{font-size:16px}.fill-gray{background:var(--fill-gray)}.fill-param{background:var(--fill-param)}.fill-yellow{background:var(--fill-yellow)}.fill-cyan{background:var(--fill-cyan)}.fill-blue{background:var(--fill-blue)}.fill-blue-strong{background:var(--fill-blue-strong)}.fill-red{background:var(--fill-red)}.fill-green{background:var(--fill-green)}.fill-lightblue{background:var(--fill-lightblue)}.fill-costcol{background:#f1f0ec}.band-dark{background:#434343;height:8px!important;padding:0!important}.band-black{background:#000;color:#fff;font-weight:600}.ci{display:block;width:100%;min-width:0;box-sizing:border-box;border:0;background:transparent;font:inherit;color:inherit;padding:1px 2px;margin:0;outline:none;text-align:center;border-radius:0}.ci--left{text-align:left}.ci--right{text-align:right;font-variant-numeric:tabular-nums}.ci--center{text-align:center}.ci--ro{white-space:pre-wrap;word-break:break-all}.ci--nowrap{white-space:nowrap!important}.ci--calc{color:#1a1a1a;white-space:nowrap}.ci--calc.ci--left{white-space:normal}.ci-empty{color:#b3b0a9}input.ci,select.ci,textarea.ci{cursor:text}input.ci:hover,select.ci:hover,textarea.ci:hover{background:#1c1a180a}input.ci:focus,select.ci:focus,textarea.ci:focus{background:#fffbe6;box-shadow:inset 0 0 0 2px #e0b500}select.ci{cursor:pointer;appearance:auto;text-align:left}textarea.ci{resize:vertical;text-align:left;line-height:1.4}input.ci[type=number]::-webkit-outer-spin-button,input.ci[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.ci[type=number]{-moz-appearance:textfield;appearance:textfield}input.ci[type=date]{font-size:12px}.ci--invalid{outline:2px solid var(--status-overdue, #b4473b);outline-offset:-2px}.sheet--slip .sheet-table{width:auto}.sheet--slip .sheet-table td,.sheet--slip .sheet-table th{padding:1px 3px;height:24px}.sheet--slip .slip-title td{font-size:22px;font-weight:600;letter-spacing:.3em;height:40px}.sheet--slip .slip-caseline td{height:30px;font-size:16px}.sheet--slip .slip-head th{font-size:12px;line-height:1.2;white-space:pre-wrap}.sheet--slip .slip-row td{height:30px}.sheet--slip .w-no{width:44px}.sheet--slip .w-name{width:150px}.sheet--slip .w-unit{width:52px}.sheet--slip .w-qty{width:60px}.sheet--slip .w-code{width:190px}.sheet--slip .w-amt{width:86px}.sheet--slip .w-adm{width:54px}.sheet--slip .w-days{width:60px}.sheet--slip .w-cost{width:74px}.sheet--slip .w-note{width:90px}.sheet--slip .w-gap{width:10px}.sheet--slip .slip-block{margin-top:10px}.sheet--slip .slip-block td,.sheet--slip .slip-block th{min-width:64px}.sheet--slip .slip-block td.w-no,.sheet--slip .slip-block th.w-no{min-width:44px}.sheet--slip .slip-block td.sel{min-width:96px}.sheet--slip .slip-caseline td.lbl{font-size:14px}.ci-pct{display:flex;align-items:center;gap:2px}.ci-pct .ci{width:auto;flex:1}.sheet--slip .slip-block-title td{font-weight:600;text-align:left}.sheet--slip .slip-lower{display:grid;grid-template-columns:auto auto auto;gap:16px;align-items:start;margin-top:12px;justify-content:start}.sheet--slip .slip-lower .sheet-table{width:auto}.sheet--slip .slip-lower td{min-width:70px}.sheet--slip .slip-remarks{margin-top:10px}.sheet--slip .slip-remarks td{height:60px}.sheet--slip .k-label{text-align:left;white-space:nowrap}.slip-dist-note{font-family:var(--font-sans, sans-serif);font-size:11px;color:var(--muted, #6b6863);display:block;text-align:left}.fx-cost{display:grid;gap:0}.fx-cost .kv-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid var(--line-app);font-size:var(--fs-label)}.fx-cost .kv-row:first-child{border-top:0}.fx-cost .kv-row.total{border-top:1px solid var(--line-ink);font-weight:var(--fw-strong);margin-top:2px;padding-top:7px}.fx-cost .kv-row .k{color:var(--text-2)}.fx-cost .kv-row .k small{color:var(--faint-app);margin-left:4px;font-size:11px}.fx-cost .kv-row .v{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;font-weight:var(--fw-medium);white-space:nowrap;color:var(--text-strong)}.fx-cost .kv-row.sub .k{padding-left:14px}.fx-stat{display:flex;align-items:baseline;gap:10px}.fx-stat .v{font-family:var(--font-mono);font-size:var(--fs-stat);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium);line-height:var(--lh-tight)}.fx-stat .v.is-neg{color:var(--danger)}.fx-stat .v.is-low{color:var(--amber)}.fx-stat .k{color:var(--muted-app);font-size:var(--fs-caption)}.fx-margin-bar{height:6px;border-radius:var(--r-full);background:var(--fill);overflow:hidden;margin-top:8px}.fx-margin-bar>span{display:block;height:100%;background:var(--accent)}.fx-margin-bar>span.is-low{background:var(--amber)}.fx-margin-bar>span.is-neg{background:var(--danger)}.fx-dept{width:100%;border-collapse:collapse;font-size:var(--fs-label)}.fx-dept th{text-align:left;font-weight:var(--fw-nav);color:var(--faint-app);font-size:var(--fs-label);height:40px;padding:0 14px;border-bottom:1px solid var(--line-app);background:transparent}.fx-dept th.num{text-align:right}.fx-dept td{padding:10px 14px;border-top:1px solid var(--line-app);vertical-align:top}.fx-dept tbody tr:first-child td{border-top:0}.fx-dept td.dept-name{font-weight:var(--fw-medium);color:var(--text-strong);white-space:nowrap;font-size:13.5px}.fx-dept td.num{text-align:right;font-variant-numeric:tabular-nums}.fx-dept .input,.fx-dept .select{height:var(--control-sm);font-size:var(--fs-caption);padding:0 8px;border:1px solid var(--line-app-strong);border-radius:var(--r-md);background:var(--surface-hi);width:100%;min-width:0;font:inherit}.fx-dept .input:focus,.fx-dept .select:focus{outline:none;border-color:var(--focus-line);box-shadow:0 0 0 .5px var(--focus-line)}.fx-dept .input--num{text-align:right;font-variant-numeric:tabular-nums;width:80px}.fx-dept .input--date{width:140px}.fx-dept textarea.input{height:auto;min-height:52px;padding:6px 8px;resize:vertical}.fx-dept .hint{display:block;font-size:11px;color:var(--faint-app);margin-top:3px;white-space:nowrap}.fx-dept .hint button{font-size:11px;padding:0 4px;height:auto;min-height:0}.fx-dept .reply-grid{display:grid;grid-template-columns:1fr;gap:6px}.fx-dept .reply-done{display:flex;flex-direction:column;gap:3px;font-size:var(--fs-caption)}.fx-dept .reply-done b{font-weight:var(--fw-medium);color:var(--text-strong)}.fx-dept .reply-sub{color:var(--muted-app);font-size:var(--fs-sub)}.fx-dept .reply-wait{font-size:var(--fs-caption);color:var(--faint-app)}.fx-dept-wrap{overflow:hidden;background:var(--surface-hi)}.fx-people{display:flex;flex-wrap:wrap;gap:4px 10px}.fx-people label{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);white-space:nowrap;cursor:pointer}.fx-revise{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fx-revise .input{height:var(--control-sm);border:1px solid var(--line-app-strong);border-radius:var(--r-md);padding:0 10px;font:inherit;font-size:var(--fs-caption);flex:1 1 160px;min-width:0}.fx-embed{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line-app);border-radius:var(--r-lg);box-shadow:var(--ring-line-soft);overflow:hidden}.fx-embed .stat-cell{padding:12px 14px;background:var(--surface-hi)}.fx-embed .stat-cell .k{font-size:11px;color:var(--muted-app)}.fx-embed .stat-cell .v{font-family:var(--font-mono);font-size:var(--fs-kpi);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium);margin-top:2px}.fx-embed-table{width:100%;border-collapse:collapse;font-size:var(--fs-label)}.fx-embed-table th{text-align:left;color:var(--faint-app);font-weight:var(--fw-nav);font-size:var(--fs-label);height:40px;padding:0 14px;border-bottom:1px solid var(--line-app)}.fx-embed-table td{padding:8px 14px;border-top:1px solid var(--line-app);height:40px}.fx-embed-table tbody tr:first-child td{border-top:0}.fx-embed-table td.num,.fx-embed-table th.num{text-align:right;font-variant-numeric:tabular-nums}.fx-embed-table td.mono{font-size:12px}@media print{@page{size:A4 portrait;margin:10mm}@page quote{size:A4 portrait;margin:10mm}@page slip{size:A4 landscape;margin:10mm}body{background:#fff}.topbar,.sidebar,.inspector,.fx-head .fx-toolbar,.fx-back,.fx-side,.fx-extra,.fx-progress,.fx-msg,.sheet-status,.no-print{display:none!important}.app-shell{display:block}.app-main{padding:0!important;max-width:none!important}.page-with-panel{display:block}.fx-page{max-width:none}.fx-layout{display:block}.fx-head{margin:0 0 4mm}.fx-head h1{font-size:14px}.sheet-wrap{border:0;border-radius:0;overflow:visible}.sheet{padding:0}.sheet--quote{width:100%;font-size:12px}.sheet--quote .sheet-table td{height:18px}.sheet--slip{font-size:9pt;width:100%}.sheet--slip .sheet-table td,.sheet--slip .sheet-table th{height:16px}.ci,input.ci,select.ci,textarea.ci{background:transparent!important;box-shadow:none!important;appearance:none}select.ci{text-align-last:center}textarea.ci{resize:none;overflow:hidden}input[type=date].ci::-webkit-calendar-picker-indicator{display:none}.fill-yellow,.fill-cyan,.fill-blue,.fill-red,.fill-green,.fill-param,.fill-gray,.fill-lightblue,.fill-blue-strong,.fill-costcol,.band-black,.band-dark{-webkit-print-color-adjust:exact;print-color-adjust:exact}}input.ci:focus,select.ci:focus,textarea.ci:focus{background:transparent;box-shadow:inset 0 0 0 2px var(--line-focus, rgba(28, 26, 24, .4));outline:none}input.ci:focus-visible,select.ci:focus-visible,textarea.ci:focus-visible{outline:none}.ci--combo{text-align:left;cursor:text}@keyframes ci-flash{0%{background-color:#ffd666}to{background-color:transparent}}[data-changed]{animation:ci-flash .8s var(--ease-out, cubic-bezier(.22, 1, .36, 1)) 1;border-radius:2px}@media(prefers-reduced-motion:reduce){[data-changed]{animation:none}}.ci-combo-list{position:fixed;z-index:var(--z-dropdown, 50);margin:0;padding:4px;list-style:none;max-height:280px;overflow-y:auto;background:var(--bg, #fff);border:1px solid var(--line-strong, #cdcac3);border-radius:var(--r-float, 14px);box-shadow:var(--shadow-float, 0 8px 20px rgba(28,26,24,.12));font-family:var(--font-sans, sans-serif);font-size:var(--fs-table, 13px);color:var(--ink, #1c1a18);line-height:1.4}.ci-combo-opt{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:5px 10px;border-radius:8px;cursor:pointer}.ci-combo-opt[aria-selected=true]{background:var(--bg-paper, #f6f5f1)}.ci-combo-opt.is-current{font-weight:var(--fw-medium, 500)}.ci-combo-col--0{font-family:var(--font-mono, monospace);font-size:12px;color:var(--ink-2, #45423e);white-space:nowrap}.ci-combo-col--1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ci-combo-col--2{color:var(--muted, #6b6863);font-size:12px;white-space:nowrap}.ci-combo-empty,.ci-combo-more{padding:6px 10px;color:var(--faint, #8c8981);font-size:12px}.ci-combo-list[aria-label$=" 項目"] .ci-combo-opt{grid-template-columns:minmax(0,1fr) auto}.ci-combo-list[aria-label$=" 項目"] .ci-combo-col--0{font-family:inherit;font-size:inherit;color:inherit;min-width:0;overflow:hidden;text-overflow:ellipsis}.ci-combo-list[aria-label$=" 項目"] .ci-combo-col--1{color:var(--muted, #6b6863);font-size:12px;overflow:visible}.ci-combo-wrap{position:relative;display:block;width:100%;min-width:0}.ci-combo-wrap>input.ci{padding-right:18px}.ci-combo-btn{position:absolute;top:50%;right:1px;transform:translateY(-50%);width:16px;height:16px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--faint, #8c8981);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55}.ci-combo-wrap:hover .ci-combo-btn,.ci-combo-wrap:focus-within .ci-combo-btn,.ci-combo-btn[aria-expanded=true]{opacity:1;color:var(--ink-2, #45423e)}.ci-combo-btn:hover{background:#1c1a1814}.ci-combo-list.is-browsing{max-height:360px}.ci-combo-group{position:sticky;top:-4px;z-index:1;margin:2px 0 0;padding:6px 10px 3px;display:flex;justify-content:space-between;align-items:baseline;background:var(--bg, #fff);border-bottom:1px solid var(--line, #e6e3dc);color:var(--muted, #6b6863);font-size:11px;font-weight:600;letter-spacing:.02em}.ci-combo-group+.ci-combo-opt{margin-top:2px}.qi-cell .ci-combo-wrap{flex:1 1 auto;min-width:0}.qi-cell .ci-combo-wrap .ci{flex:none}.fx-combo-wrap .ci-combo-wrap{display:inline-block;width:auto;min-width:180px}@media print{.ci-combo-btn{display:none}}.row-hidden{display:none}.qi-notecell{position:relative}.qi-notecell .ci{padding-right:18px}.row-del{position:absolute;top:50%;right:2px;transform:translateY(-50%);width:16px;height:16px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--faint, #8c8981);font-size:11px;line-height:16px;cursor:pointer;opacity:0}tr:hover .row-del,.qi-notecell:focus-within .row-del,.row-del:focus{opacity:1}.row-del:hover{background:#c0392b1f;color:var(--danger, #c0392b)}@media print{.row-del{display:none}}.sheet-addrow td{height:26px;padding:2px 4px}.sheet-add-btn{font-family:var(--font-sans, sans-serif);font-size:12px;color:var(--ink-2, #45423e);padding:2px 6px;border-radius:6px}.sheet-add-btn:hover{background:var(--bg-paper, #f6f5f1)}.sheet-add-btn .faint{margin-left:6px}.sheet-wrap--slip{overflow:visible}.sheet.sheet--slip{width:100%;max-width:none;min-width:0;font-size:13px}.sheet--slip .slip-head th{font-size:12px}.slip-tools{display:flex;gap:16px;align-items:center;font-family:var(--font-sans, sans-serif);font-size:12px;color:var(--muted, #6b6863);margin-bottom:6px}.slip-tool{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.slip-tool input{width:14px;height:14px}.slip-title-bar{border:1px solid var(--sheet-line);border-bottom:0;height:40px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;letter-spacing:.3em}.slip-scroll{overflow:auto;max-height:calc(100vh - 160px);min-height:200px;position:relative}.slip-hscroll{overflow-x:auto}.sheet--slip .slip-main{width:max-content}.sheet--slip .slip-main th.stick,.sheet--slip .slip-main td.stick{position:sticky;z-index:2;background:var(--bg, #fff);background-clip:padding-box}.sheet--slip .slip-main .s0{left:0}.sheet--slip .slip-main .s1{left:44px}.sheet--slip .slip-main .s2{left:194px}.sheet--slip .slip-main .s3{left:246px}.sheet--slip .slip-main .s3:after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:4px;pointer-events:none;background:linear-gradient(to right,rgba(28,26,24,.1),transparent)}.sheet--slip .slip-main tr.slip-head th{position:sticky;top:0;z-index:3;background:var(--bg, #fff);background-clip:padding-box}.sheet--slip .slip-main tr.slip-head+tr.slip-head th{top:46px}.sheet--slip .slip-main tr.slip-head th.stick{z-index:4}.sheet--slip .slip-main tr.slip-head th.fill-gray{background:var(--fill-gray)}.sheet--slip .slip-main td.stick.fill-green{background:var(--fill-green)}.sheet--slip .slip-main tr.band-black td.stick{background:#000}.sheet--slip .slip-main th.col-actual,.sheet--slip .slip-main td.col-actual{background:#f4f1ea;border-left-color:var(--sheet-line)}.sheet--slip .slip-main td.col-actual.is-neg .ci{color:var(--status-overdue, #b4473b)}.sheet--slip .slip-depts{margin-top:10px}.sheet--slip .slip-dept-table{width:max-content;min-width:100%}.sheet--slip .slip-dept-table td,.sheet--slip .slip-dept-table th{min-width:72px}.sheet--slip .slip-dept-table tr.band-black td{text-align:left;padding-left:8px;color:#fff}.slip-dept-hint{font-weight:400;font-size:11px;opacity:.85}.sheet--slip .slip-dept-table td.c-people{min-width:240px;max-width:420px;overflow:visible}.sheet--slip .slip-dept-table td.c-desc,.sheet--slip .slip-dept-table td.c-work{min-width:150px}.sheet--slip .slip-dept-table td.c-status{min-width:150px;overflow:visible}.sheet--slip .slip-dept-table td.c-budget{min-width:120px}.slip-dept-budget{display:flex;align-items:center;gap:4px}.slip-dept-budget .ci{flex:1 1 auto;min-width:48px}.slip-dept-manual{font-family:var(--font-sans, sans-serif);font-size:10px;line-height:14px;padding:0 4px;border-radius:4px;background:var(--amber-soft, #fdf0d5);color:var(--amber, #97621f);white-space:nowrap}.slip-dept-reset{font-family:var(--font-sans, sans-serif);font-size:10px;color:var(--muted, #6b6863);padding:0 3px;border-radius:4px;white-space:nowrap}.slip-dept-reset:hover{background:var(--bg-paper, #f6f5f1);color:var(--ink, #1c1a18)}.slip-people{display:flex;flex-wrap:wrap;gap:3px;align-items:center;min-height:22px;padding:1px 0}.slip-people .chip{height:20px;font-size:12px;font-family:var(--font-sans, sans-serif)}.slip-people .fx-combo-wrap{min-width:150px}.slip-people .fx-combo-wrap--group{min-width:130px}.slip-people .fx-combo-wrap .ci.fx-combo{height:22px;font-size:12px}.slip-dept-status{display:flex;flex-direction:column;gap:3px;align-items:flex-start;font-family:var(--font-sans, sans-serif);font-size:11px;padding:2px 0}.slip-dept-note{color:var(--muted, #6b6863);white-space:nowrap}.slip-dept-err{color:var(--danger, #b42318);font-size:12px;white-space:normal;max-width:220px}.slip-dept-late{width:100%;max-width:220px;font-size:12px;padding:2px 4px}.slip-dept-reply-btn{margin-top:2px}.slip-sign-cell .ci--ro{font-size:12px}@media print{.slip-people .fx-combo-wrap,.slip-dept-reply-btn,.slip-dept-manual,.slip-dept-reset,.slip-people .fx-chip-x{display:none!important}.slip-people .chip{height:auto;padding:0;background:transparent;box-shadow:none}.slip-people .chip+.chip:before{content:"、"}.slip-dept-status .pill{background:transparent;box-shadow:none;padding:0;color:#000}.fx-slip-layout,.fx-slip-main{display:block;width:100%;min-width:0}.sheet--slip .slip-dept-table{width:max-content;min-width:100%;table-layout:auto}.sheet--slip .slip-dept-table td,.sheet--slip .slip-dept-table th{white-space:nowrap}.sheet--slip .slip-dept-table td.c-desc,.sheet--slip .slip-dept-table td.c-work,.sheet--slip .slip-dept-table td.c-people{white-space:normal}}.slip-block-wrap{margin-top:10px}.slip-block-wrap .slip-block{margin-top:0}.slip-block-bar{display:flex;align-items:center;gap:12px;font-family:var(--font-sans, sans-serif);font-size:12px;color:var(--ink-2, #45423e);margin-bottom:2px}.slip-block-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 2px;border-radius:6px;font:inherit;color:inherit}.slip-block-toggle:hover{background:var(--bg-paper, #f6f5f1)}.slip-block-caret{width:12px;text-align:center;color:var(--muted, #6b6863)}.slip-block-sum{color:var(--muted, #6b6863)}.slip-block-sum b{color:var(--ink, #1c1a18);font-variant-numeric:tabular-nums}.slip-block-wrap.is-collapsed .slip-block-body{display:none}.fx-side{max-height:none;overflow:visible}.fx-side>.card,.fx-side .card__body{min-width:0;overflow-x:hidden}.sheet--quote{min-width:720px}.fx-meters{position:static;display:grid;gap:0;margin:0 0 16px;padding:4px 14px;background:var(--surface-hi, #fff);box-shadow:var(--ring-line-soft),var(--shadow-xs);border-radius:var(--r-lg, 8px)}.fx-meter{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;min-height:26px}.fx-meter-body .pb-node-label,.fx-meter-body .pb-label{font-size:11px}.fx-meter+.fx-meter{border-top:1px solid var(--line, #e3e0d9)}.fx-meter-label{font-size:var(--fs-label, 13px);font-weight:var(--fw-medium, 500);color:var(--muted-app, #737373)}.fx-meter-body{min-width:0;font-size:var(--fs-small, 12px)}.fx-meter-body .pb{gap:8px}.fx-meter-body .pb-legend,.fx-meter-body .pb-phase-label{display:none}.fx-meter-bar{display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:12px}.fx-meter-track{position:relative;height:8px;border-radius:999px;background:var(--fill, #e5e5e5);overflow:hidden;display:block}.fx-meter-fill{position:absolute;left:0;top:0;height:100%;border-radius:999px;background:var(--accent, #056dff)}.fx-meter-fill.is-low{background:var(--status-warn, #97621f)}.fx-meter-fill.is-neg{background:var(--status-overdue, #b4473b)}.fx-meter-fill--faint{background:var(--bg-step, #d8d5ce)}.fx-meter-fill--done{background:var(--status-done, #2e7a4b);height:50%;top:25%}.fx-meter-mark{position:absolute;top:-2px;width:2px;height:12px;background:var(--fg, #0d0d0c)}.fx-meter-vals{display:flex;gap:14px;flex-wrap:wrap;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted-app, #737373);font-size:var(--fs-caption, 12px)}.fx-meter-vals--wrap{white-space:normal}.fx-meter-vals b{color:var(--text-strong, #0a0a0a);font-weight:var(--fw-medium, 500);font-family:var(--font-mono);font-size:12px}.fx-meter-vals .is-neg,.fx-meter-vals .is-neg b{color:var(--status-overdue, #b4473b)}.fx-meter-vals .is-low,.fx-meter-vals .is-low b{color:var(--status-warn, #97621f)}.fx-page--slip{padding-bottom:64px}@media(min-width:1101px){.fx-costbar{display:none!important}.fx-page--slip{padding-bottom:0}}.fx-costbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-topbar, 40);display:flex;align-items:center;gap:20px;padding:8px var(--page-x, 24px);background:#fbfbfbf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--line-app, #ebebeb);font-size:var(--fs-label, 13px)}.fx-costbar.is-collapsed{left:auto;right:16px;bottom:12px;padding:4px 10px;border:1px solid var(--line, #e3e0d9);border-radius:var(--r-pill, 999px);box-shadow:var(--shadow-float)}.fx-costbar-toggle{font-size:var(--fs-small, 12px);color:var(--muted, #6b6863);white-space:nowrap;padding:2px 6px;border-radius:6px}.fx-costbar-toggle:hover{background:var(--bg-paper, #f6f5f1)}.fx-costbar-items{display:flex;gap:24px;flex-wrap:wrap;align-items:baseline}.fx-costbar-item{display:inline-flex;gap:8px;align-items:baseline;white-space:nowrap}.fx-costbar-item .k{color:var(--muted, #6b6863);font-size:var(--fs-small, 12px)}.fx-costbar-item .v{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;font-weight:var(--fw-medium, 500)}.fx-costbar-item .v.is-neg{color:var(--status-overdue, #b4473b)}.fx-costbar-item .v.is-low{color:var(--status-warn, #97621f)}.fx-chip{height:22px;gap:4px;padding-right:4px;font-size:12px}.fx-chip-x{color:var(--muted, #6b6863);padding:0 4px;border-radius:4px;font-size:14px;line-height:1}.fx-chip-x:hover{background:var(--bg-tint, rgba(28,26,24,.07));color:var(--fg, #0d0d0c)}.fx-combo-wrap{display:inline-block;min-width:180px}.fx-combo-wrap .ci.fx-combo{height:var(--control-sm, 26px);border:1px solid var(--line-app-strong, #e0e0e0);border-radius:var(--r-md, 6px);padding:0 8px;font-family:var(--font-sans, sans-serif);font-size:var(--fs-table, 13px);background:var(--bg, #fff)}.fx-combo-wrap .ci.fx-combo:focus{box-shadow:none;border-color:var(--line-focus, rgba(28,26,24,.4))}.fx-dept-sub td{padding:0 14px 10px;border-top:0;background:var(--surface, #f2f2f2)}.fx-dispatch{font-size:var(--fs-small, 12px)}.fx-dispatch .slip-block-toggle{font-size:var(--fs-caption, 12px);color:var(--text-2, #262626);margin:4px 0;font-weight:var(--fw-medium, 500)}.fx-dispatch-body{padding:4px 0 2px 18px}.fx-placeholder{padding:14px 16px;font-size:var(--fs-small, 12px)}@media screen and (max-width:900px){.fx-layout{grid-template-columns:minmax(0,1fr)}.fx-side{position:static;max-height:none;overflow:visible}.fx-meters{position:static}.fx-dept th:nth-child(n+3),.fx-dept td:nth-child(n+3){display:none}.fx-meter{grid-template-columns:1fr;gap:2px}.fx-meter-bar{grid-template-columns:1fr;gap:4px}.sheet{padding:12px}.sheet--quote{min-width:640px}.slip-scroll{overflow:visible;max-height:none}.sheet--slip .slip-main{width:100%;display:block}.sheet--slip .slip-main colgroup{display:none}.sheet--slip .slip-main tbody,.sheet--slip .slip-main tr{display:block}.sheet--slip .slip-main tr.slip-head,.sheet--slip .slip-main tr.band-black{display:none}.sheet--slip .slip-main tr.slip-title td{display:block;border:0}.sheet--slip .slip-main tr.slip-caseline{display:grid;grid-template-columns:auto 1fr;border:1px solid var(--sheet-line);margin-bottom:8px}.sheet--slip .slip-main tr.slip-caseline td{border:0;height:auto;padding:4px 6px;text-align:left}.sheet--slip .slip-main tr.slip-caseline td:last-child{display:none}.sheet--slip .slip-main tr.slip-caseline td[colspan="7"]{grid-column:1 / -1}.sheet--slip .slip-main tr.slip-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 72px;gap:0;border:1px solid var(--sheet-line);margin-bottom:10px}.sheet--slip .slip-main tr.slip-row.row-hidden{display:none}.sheet--slip .slip-main tr.slip-row td{position:static;display:flex;align-items:center;gap:6px;min-height:30px;height:auto;border:0;border-bottom:1px solid var(--sheet-line-soft);padding:2px 6px;text-align:left;overflow:visible}.sheet--slip .slip-main tr.slip-row td:before{content:attr(data-label);flex:0 0 auto;font-size:11px;color:var(--muted, #6b6863);font-family:var(--font-sans, sans-serif);white-space:nowrap}.sheet--slip .slip-main tr.slip-row td .ci{flex:1 1 auto}.sheet--slip .slip-main tr.slip-row td.c-no{grid-column:1 / -1;background:var(--bg-paper, #f6f5f1);font-weight:600}.sheet--slip .slip-main tr.slip-row td.c-name{grid-column:1}.sheet--slip .slip-main tr.slip-row td.c-unit{grid-column:2}.sheet--slip .slip-main tr.slip-row td.c-qty{grid-column:3}.sheet--slip .slip-main tr.slip-row td.c-dept{grid-column:1}.sheet--slip .slip-main tr.slip-row td.c-dept-unit{grid-column:2}.sheet--slip .slip-main tr.slip-row td.c-dept-qty{grid-column:3}.sheet--slip .slip-main tr.slip-row td.c-dept-unit:before,.sheet--slip .slip-main tr.slip-row td.c-dept-qty:before,.sheet--slip .slip-main tr.slip-row td.c-unit:before,.sheet--slip .slip-main tr.slip-row td.c-qty:before{display:none}.sheet--slip .slip-main tr.slip-row td:not(.c-no):not(.c-name):not(.c-unit):not(.c-qty):not(.c-dept):not(.c-dept-unit):not(.c-dept-qty){grid-column:1 / -1;justify-content:space-between}.sheet--slip .slip-main tr.slip-row td:not(.c-no):not(.c-name):not(.c-unit):not(.c-qty):not(.c-dept):not(.c-dept-unit):not(.c-dept-qty) .ci{flex:0 1 50%}.sheet--slip .slip-main .s3:after{display:none}.sheet--slip .slip-main tr.slip-row td:not(.c-name):not(.c-unit):not(.c-qty):has(>.ci--calc:empty){display:none}.sheet--slip .slip-main tr.sheet-addrow td{display:block;border:0;position:static}.slip-title-bar{border-bottom:1px solid var(--sheet-line);margin-bottom:8px}.sheet--slip .slip-lower{grid-template-columns:1fr}.fx-costbar-items{gap:10px 14px}.fx-dept th:last-child,.fx-dept td:last-child,.fx-dept-sub td{display:table-cell}}@media print{.fx-slip-main .cs-head,.fx-summary,.apr-block,.fx-costbar,.sp-toggle{display:none!important}.fx-section--form.cs,.fx-section--form .cs-body{border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;background:transparent!important}.sheet--slip .slip-main tr.slip-row td:before{content:none}.sheet-table tr{break-inside:avoid}.slip-scroll,.slip-hscroll{overflow:visible;max-height:none}.sheet--slip .slip-main th.stick,.sheet--slip .slip-main td.stick,.sheet--slip .slip-main tr.slip-head th{position:static}.sheet--slip .slip-main .s3:after{display:none}.slip-block-wrap.is-collapsed .slip-block-body{display:block}.slip-block-bar,.slip-tools,.sheet-addrow,.fx-costbar,.fx-meters,.col-actual{display:none!important}.row-hidden{display:table-row}.fx-page--slip{padding-bottom:0}.fx-side{max-height:none;overflow:visible}[data-changed]{animation:none}}.qi-cell{display:flex;align-items:center;gap:4px;min-width:0}.qi-cell .ci{flex:1 1 auto;min-width:0}.qi-code{font-family:var(--font-mono, monospace);font-size:10.5px;color:var(--muted, #6b6863);white-space:nowrap;flex:0 0 auto}.qi-cell .pill{font-family:var(--font-sans, sans-serif);flex:0 0 auto}.sheet-table td.is-error{box-shadow:inset 0 0 0 2px var(--danger, #c10007);background:var(--danger-soft, #fde7e4)}.sheet-table td.is-error .ci::placeholder{color:var(--danger, #c10007)}.fx-errors{margin:0 0 12px;padding:8px 12px 8px 28px;border-radius:var(--r-lg, 10px);background:var(--danger-soft, #fde7e4);color:var(--danger, #c10007);font-size:var(--fs-caption, 12px)}.fx-errors li+li{margin-top:2px}@media print{.qi-cell .pill,.qi-code{display:none}.sheet-table td.is-error{box-shadow:none;background:transparent}}.sheet--quote .th-sub{display:block;font-size:8px;line-height:1.1;color:var(--muted, #6b6863);font-family:var(--font-sans, sans-serif);font-weight:400;margin-top:1px}@media print{.sheet--quote .col-cost{width:0!important;max-width:0!important;min-width:0!important;padding:0!important;border-left:0!important;border-right:0!important;overflow:hidden;font-size:0!important;color:transparent!important;background:transparent!important}.sheet--quote .col-cost *{display:none!important}}.qn-summary{font-size:var(--fs-caption);color:var(--text-2);background:var(--surface);border-radius:var(--r-lg);padding:6px 10px;margin-bottom:10px}.qn-timeline{list-style:none;margin:0;padding:0 0 0 14px;position:relative;display:grid;gap:10px}.qn-timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:2px;background:var(--line-app);border-radius:1px}.qn-item{position:relative}.qn-dot{position:absolute;left:-14px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 2px var(--muted-app)}.qn-item--sent .qn-dot{box-shadow:0 0 0 2px var(--accent);background:var(--accent)}.qn-item--contact .qn-dot{box-shadow:0 0 0 2px var(--green)}.qn-item--draft .qn-dot{box-shadow:0 0 0 2px var(--amber);background:var(--amber-soft)}.qn-body{display:grid;gap:3px;font-size:var(--fs-caption)}.qn-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qn-line b{color:var(--text-strong);font-weight:var(--fw-medium)}.qn-toggle{margin-left:auto;font-size:var(--fs-caption)}.qn-sub{color:var(--text-2)}.qn-delta{margin-left:6px;font-family:var(--font-mono, monospace)}.qn-delta.is-down{color:var(--green)}.qn-delta.is-up,.qn-reason{color:var(--amber)}.qn-item--draft .qn-body{background:var(--amber-soft);border-radius:var(--r-lg);padding:6px 8px}.qn-diff{width:100%;border-collapse:collapse;font-size:11.5px;margin-top:4px}.qn-diff th,.qn-diff td{padding:3px 4px;border-bottom:1px solid var(--line-app);text-align:right;vertical-align:top}.qn-diff th:nth-child(2),.qn-diff td:nth-child(2){text-align:left}.qn-diff th:first-child,.qn-diff td:first-child{text-align:center}.qn-diff th{color:var(--muted-app);font-weight:var(--fw-regular)}.qn-diff tr.is-changed td{background:var(--amber-soft)}.qn-diff tr.is-added td{background:var(--green-soft)}.qn-diff tr.is-removed td{background:var(--danger-soft);text-decoration:line-through}.qn-diff tr.is-removed td .pill,.qn-diff td .pill{text-decoration:none;margin-left:4px}.qn-diff .qn-diff__total td{font-weight:var(--fw-medium);color:var(--text-strong);border-bottom:0}.qn-timeline{padding-left:22px}.qn-timeline:before{left:6px}.qn-dot{left:-19px}.qn-count{font-size:var(--fs-caption);color:var(--faint-app);white-space:nowrap}.qn-line{min-width:0}.qn-line>*{min-width:0}.qx-headline{margin:0;font-size:var(--fs-label);color:var(--text-2);line-height:1.55;overflow-wrap:anywhere}.card__foot.qx-foot{flex-direction:column;align-items:stretch;gap:8px}.qx-foot .qx-actions{margin-left:0;justify-content:flex-end;flex-wrap:wrap;row-gap:8px}.qx-actions>button{white-space:nowrap;flex:0 0 auto}.qx[data-stage=won] .qx-headline,.qx[data-stage=closed] .qx-headline{color:var(--muted-app)}.qx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}@media(max-width:480px){.qx-grid{grid-template-columns:minmax(0,1fr)}}.modal .choice-list+.field,.modal .field+.choice-list{margin-top:var(--sp-3)}@media screen and (max-width:480px){.modal>.card__foot{flex-direction:column;align-items:stretch;gap:8px}.modal>.card__foot .button-row{margin-left:0;justify-content:flex-end}}.quote-node-detail{margin-top:12px;border-top:1px solid var(--line-app);padding-top:12px}.quote-node-detail>.card__head{padding:0 0 8px;border:0}.quote-node-detail>.inspector-facts{margin:0 0 12px}.fx-progress .step[aria-expanded=true]{background:var(--row-active)}.base-fill{display:flex;flex-direction:column;gap:6px}.base-fill__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}.base-fill__who{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-2)}.base-fill__items{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px}.base-fill__items li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.base-fill__editor{margin:0}.base-fill__reassign{flex-wrap:wrap;align-items:flex-end;gap:8px}.base-fill__reassign .field{min-width:180px;max-width:100%}.fbar{row-gap:10px}.fbar__chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;flex:1 1 100%}.fbar__div{width:1px;height:18px;background:var(--line-app-strong);margin:0 4px}.fbar__clear{gap:6px;color:var(--muted-app)}.fbar__clear:hover{color:var(--text)}.fchip-wrap{position:relative;display:inline-flex;min-width:0}.fchip{display:inline-flex;align-items:center;gap:0;height:32px;max-width:100%;border-radius:var(--r-lg);background:var(--surface-hi);box-shadow:var(--ring-line),var(--shadow-xs);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--fw-nav);white-space:nowrap;transition:var(--transition-colors)}.fchip:hover{box-shadow:0 0 0 1px var(--inactive),var(--shadow-xs)}.fchip__btn{display:inline-flex;align-items:center;gap:6px;min-width:0;height:100%;padding:0 10px 0 12px;border-radius:inherit;color:inherit;font:inherit;background:none}.fchip__btn:focus-visible,.fchip__x:focus-visible,.fchip--toggle:focus-within{outline:none;box-shadow:0 0 0 2px var(--surface-hi),0 0 0 3.5px var(--focus-line)}.fchip__k{color:var(--muted-app);font-weight:var(--fw-nav)}.fchip__v{color:var(--text-strong);max-width:220px;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.fchip__text{display:inline-flex;align-items:baseline;min-width:0}.fchip__sep{color:var(--faint-app)}.fchip__caret{color:var(--icon);flex:0 0 auto;transition:transform var(--dur-fast) var(--ease)}.fchip.is-open .fchip__caret{transform:rotate(180deg)}.fchip.is-open{box-shadow:0 0 0 1px var(--focus-line),var(--shadow-xs)}.fchip__x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 7px 0 -2px;border-radius:var(--r-full);color:var(--accent);background:transparent}.fchip__x:hover{background:#056dff1f}.fchip__n{color:var(--faint-app);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.fchip.is-active{background:var(--accent-soft);box-shadow:0 0 0 1px #056dff52}.fchip.is-active .fchip__k{color:var(--accent-ring)}.fchip.is-active .fchip__v,.fchip.is-active .fchip__n,.fchip.is-active .fchip__caret{color:var(--accent)}.fchip.is-active .fchip__sep{color:var(--accent-light)}.fchip.is-active .fchip__btn{padding-right:6px}.fchip--toggle{gap:8px;padding:0 12px 0 10px;cursor:pointer;-webkit-user-select:none;user-select:none}input[type=checkbox].fswitch{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:24px;height:14px;margin:0;border-radius:var(--r-full);background:var(--inactive);position:relative;cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}input[type=checkbox].fswitch:after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 1px #00000026;transition:transform var(--dur-fast) var(--ease)}input[type=checkbox].fswitch:checked{background:var(--accent)}input[type=checkbox].fswitch:checked:after{transform:translate(10px)}input[type=checkbox].fswitch:focus-visible{outline:none}.fchip--toggle .fchip__k{color:var(--text-2)}.fchip--toggle.is-active .fchip__k{color:var(--accent)}.fchip--sort{height:28px;box-shadow:var(--ring-line)}.fchip--sort .fchip__btn{gap:5px;padding:0 8px 0 10px}.fchip--sort svg:first-child{color:var(--icon)}.qfilters{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.qchip{gap:6px;padding:0 6px 0 12px;cursor:pointer;font:inherit;font-size:var(--fs-label);font-weight:var(--fw-nav)}.qchip:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface-hi),0 0 0 3.5px var(--focus-line)}.qchip__n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--r-full);background:var(--surface);color:var(--muted-app);font-size:var(--fs-caption);font-weight:var(--fw-nav);font-variant-numeric:tabular-nums}.qchip--bad .qchip__n{background:var(--danger-soft);color:var(--danger)}.qchip--warn .qchip__n{background:var(--amber-soft);color:var(--amber)}.qchip.is-active{color:var(--accent)}.qchip.is-active .qchip__n{background:#056dff1f;color:var(--accent)}.qchip.is-zero{box-shadow:0 0 0 1px var(--line-app);color:var(--faint-app)}.qchip.is-zero .qchip__n{background:transparent;color:var(--inactive)}.fpop{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-dropdown);width:280px;max-width:calc(100vw - 32px);padding:6px;border-radius:var(--r-xl);background:var(--surface-hi);box-shadow:var(--shadow-float);animation:fpop-in var(--dur-fast) var(--ease)}.fpop--right{left:auto;right:0}.fsort .fpop{width:220px}@keyframes fpop-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.fpop{animation:none}}.fpop__title{padding:6px 8px 4px;font-size:var(--fs-caption);font-weight:var(--fw-nav);color:var(--muted-app)}.fpop__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin:6px -6px -6px;padding:8px 8px 8px 12px;border-top:1px solid var(--line-app)}.fpop__hint{font-size:var(--fs-caption);color:var(--faint-app)}.fopts{display:flex;flex-direction:column;min-width:0}.fopts__search{display:flex;align-items:center;gap:6px;height:32px;margin:2px 2px 6px;padding:0 10px;border-radius:var(--r-lg);background:var(--surface-hi2);box-shadow:inset 0 0 0 1px var(--line-app);color:var(--icon)}.fopts__search:focus-within{box-shadow:inset 0 0 0 1px var(--focus-line);background:var(--surface-hi)}.fopts .fopts__input{flex:1 1 auto;min-width:0;width:auto;height:100%;min-height:0;padding:0;border:0;border-radius:0;outline:none;box-shadow:none;background:transparent;font:inherit;font-size:var(--fs-label);color:var(--text)}.fopts__input::-webkit-search-cancel-button{-webkit-appearance:none}.fopts__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:2px 8px 6px}.fopts__n{font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.fopts__acts{display:inline-flex;gap:2px}.fopts__act{height:22px;padding:0 6px;border-radius:var(--r-sm);font-size:var(--fs-caption);font-weight:var(--fw-nav);color:var(--link);background:none}.fopts__act:hover:not(:disabled){background:var(--row-active)}.fopts__act:disabled{color:var(--faint-app);cursor:default}.fopts__list{list-style:none;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;outline:none;border-radius:var(--r-md)}.fopts__list:focus-visible{box-shadow:inset 0 0 0 1px var(--focus-line)}.fopt{display:flex;align-items:center;gap:10px;min-height:33px;padding:4px 8px;border-radius:var(--r-md);font-size:var(--fs-label);color:var(--text);cursor:pointer}.fopts:focus-within .fopt.is-active,.fopt:hover{background:var(--row-active)}.fopt__box{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--r-sm);background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--inactive);color:#fff}.fopt__box--radio{border-radius:50%}.fopt.is-on .fopt__box{background:var(--accent);box-shadow:none}.fopt.is-on .fopt__box--radio{background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--accent)}.fopt__dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.fopt__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fopt.is-on .fopt__label{font-weight:var(--fw-nav);color:var(--text-strong)}.fopt__count{flex:0 0 auto;font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.fopts__empty{padding:12px 8px;font-size:var(--fs-caption);color:var(--muted-app)}.fbar--mobile{flex-wrap:nowrap}.fbar--mobile .search-field{flex:1 1 0;width:auto;min-width:0}.fbar__open{flex:0 0 auto;gap:6px;min-height:var(--control-md)}.fbar__open.is-active{background:var(--accent-soft);color:var(--accent)}.fbar__applied{display:flex;flex-wrap:wrap;gap:6px;margin:calc(-1 * var(--sp-1)) 0 var(--sp-3)}.fchip-mini{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:24px;padding:0 2px 0 8px;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-caption);font-weight:var(--fw-nav);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fchip-mini button{width:20px;height:20px;border-radius:50%;color:inherit;background:none;font-size:14px;line-height:1}.fsheet-layer{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;justify-content:flex-end}.fsheet-backdrop{position:absolute;inset:0;background:#0a0a0a52;animation:fsheet-fade var(--dur-base) var(--ease)}.fsheet{position:relative;display:flex;flex-direction:column;width:100%;max-height:86vh;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface-hi);box-shadow:var(--shadow-lg);animation:fsheet-up var(--dur-base) var(--ease)}@keyframes fsheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@keyframes fsheet-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.fsheet,.fsheet-backdrop{animation:none}}.fsheet__head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:18px 12px 10px 16px;border-bottom:1px solid var(--line-app)}.fsheet__grab{position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--fill)}.fsheet__head h2{display:flex;align-items:baseline;gap:8px;margin:0;font-size:var(--fs-title);font-weight:var(--fw-title)}.fsheet__n{font-size:var(--fs-caption);font-weight:var(--fw-nav);color:var(--accent)}.fsheet__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-lg);color:var(--icon-strong)}.fsheet__close:hover{background:var(--row-active)}.fsheet__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px 16px 12px}.fsheet__extra{display:flex;flex-wrap:wrap;gap:6px;padding-top:12px}.fsheet__group{padding:12px 0;border-bottom:1px solid var(--line-app)}.fsheet__group:last-child{border-bottom:0}.fsheet__group h3{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 8px;font-size:var(--fs-label);font-weight:var(--fw-nav);color:var(--text-2)}.fsheet__group .segmented{flex-wrap:wrap;height:auto;min-height:var(--control-md);padding:2px;overflow:visible}.fsheet__toggles{display:flex;flex-wrap:wrap;gap:6px}.fsheet__group .fopt{min-height:40px}.fsheet__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-app)}.fsheet__foot .btn-primary{flex:1 1 auto;min-height:var(--control-lg)}.rl-frame{border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line-app-strong);background:var(--surface-hi)}.rl-frame>:first-child{border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg)}.rl-frame>:last-child,.rl-frame>.rl:last-child>.rl-row:last-child{border-bottom-left-radius:var(--r-lg);border-bottom-right-radius:var(--r-lg)}.rl-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:var(--th-h);padding:0 var(--sp-3) 0 var(--sp-4);background:var(--surface-hi2);border-bottom:1px solid var(--line-app)}.rl-head__count{font-size:var(--fs-label);color:var(--text-2);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.rl-empty{padding:0 var(--sp-4)}.rl{list-style:none;margin:0;padding:0}.rl-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto 28px;grid-template-areas:"icon title right menu" "icon sub right menu";column-gap:var(--sp-3);row-gap:2px;align-items:center;padding:10px var(--sp-3) 10px var(--sp-4);border-top:1px solid var(--line-app);cursor:pointer;transition:var(--transition-colors)}.rl-row:first-child{border-top:0}.rl-row:hover{background:var(--surface-hi2)}.rl-row.is-dim .rl-title__link{color:var(--muted-app)}.rl-icon{grid-area:icon;align-self:start;margin-top:2px;display:inline-flex;width:16px;height:16px}.rl-icon--active{color:var(--accent)}.rl-icon--open{color:var(--green)}.rl-icon--overdue{color:var(--danger)}.rl-icon--warn{color:var(--amber)}.rl-icon--closed{color:var(--src-wo)}.rl-icon--na,.rl-icon--draft{color:var(--faint-app)}.rl-title{grid-area:title;display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.rl-title__link{min-width:0;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer;font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--text-strong);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-row:hover .rl-title__link{color:var(--accent)}.rl-title__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}.rl-no{flex:0 0 auto;font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.rl-title .pill{align-self:center;height:18px;padding:0 6px;font-size:11px}.rl-sub{grid-area:sub;min-width:0;font-size:var(--fs-sub);color:var(--muted-app);line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-sub__part+.rl-sub__part:before{content:"·";margin:0 6px;color:var(--faint-app)}.rl-sub .mono{font-size:var(--fs-sub)}.rl-sub b{font-weight:var(--fw-medium);color:var(--text-2)}.rl-sub .is-bad{color:var(--danger);font-weight:var(--fw-medium)}.rl-sub .is-warn{color:var(--amber)}.rl-sub .is-node{color:var(--text-2)}.rl-sub .is-node .mono{color:var(--faint-app);margin-right:4px}.rl-right{grid-area:right;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);min-width:0}.rl-meta{display:inline-flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-caption);color:var(--muted-app);font-variant-numeric:tabular-nums;white-space:nowrap}.rl-meta .is-bad{color:var(--danger)}.rl-meta .is-warn{color:var(--amber)}.rl-action{display:inline-flex}.rl-avatar{flex:0 0 auto}.rl-menu{grid-area:menu;position:relative;display:inline-flex;justify-content:center}.rl-menu__pop{position:absolute;right:0;top:calc(100% + 4px);z-index:var(--z-dropdown);display:flex;flex-direction:column}.rl-row .row-menu-button{cursor:pointer;border:0;background:transparent}@media(max-width:960px){.rl-right .rl-meta,.rl-right .rl-avatar{display:none}}@media(max-width:600px){.rl-head{padding:0 var(--sp-2) 0 var(--sp-3)}.rl-row{grid-template-columns:16px minmax(0,1fr) auto 24px;grid-template-areas:"icon title right menu" "icon sub sub sub";column-gap:8px;padding:10px var(--sp-2) 10px var(--sp-3)}.rl-title{flex-wrap:wrap;row-gap:0;column-gap:6px}.rl-title__link,.rl-sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rl-right{align-self:start;gap:var(--sp-2)}.rl-right .rl-action{display:none}.rl-menu{align-self:start}.rl-menu .row-menu-button{width:24px;height:24px}}.dp{border-radius:var(--r-lg);background:var(--surface-hi);box-shadow:var(--ring-line-soft);padding:var(--sp-3) var(--sp-4)}.dp--compact{border:0;padding:0}.dp-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.dp-head h3{font-size:var(--fs-label);font-weight:var(--fw-medium);margin:0}.dp-window{font-family:var(--font-mono);font-size:11.5px;color:var(--muted-app);font-variant-numeric:tabular-nums}.dp-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);padding:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-label)}.dp-summary>span{display:inline-flex;align-items:center;gap:6px}.dp-summary small{color:var(--muted-app);font-size:var(--fs-caption)}.dp-summary b{font-weight:var(--fw-medium);font-size:14px}.dp-summary .is-over b,.dp-summary .is-over small{color:var(--danger)}.dp-summary .dp-meter{width:140px}.dp-reply{color:var(--ink-2)}.dp-msg{font-size:var(--fs-small);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);margin-bottom:var(--sp-2)}.dp-msg--warn{background:var(--status-warn-bg);color:var(--status-warn)}.dp-msg--error{background:var(--status-overdue-bg);color:var(--status-overdue)}.dp-msg--ok{background:var(--status-done-bg);color:var(--status-done)}.dp-table-wrap{overflow:visible}.dp-table{width:100%;border-collapse:collapse;font-size:var(--fs-table)}.dp-table th{text-align:left;font-weight:var(--fw-nav);color:var(--faint-app);font-size:var(--fs-caption);height:32px;padding:0 var(--sp-2);border-bottom:1px solid var(--line-app);background:transparent;white-space:nowrap}.dp-table td{padding:8px var(--sp-2);border-top:1px solid var(--line-app);border-bottom:0;vertical-align:top;line-height:var(--lh-dense);height:auto}.dp-table tbody tr:first-child td{border-top:0}.dp-table tbody tr:hover td{background:transparent}.dp-table th.num,.dp-table td.num{text-align:right;font-variant-numeric:tabular-nums}.dp-table td.is-wrap{white-space:normal}.dp-table tr.is-mine td,.dp-table tbody tr.is-mine:hover td{background:var(--accent-soft)}.dp-table .dp-sub{display:block;font-size:var(--fs-small);color:var(--muted)}.dp-table .is-late,.dp-sub.is-late{color:var(--status-overdue)}.dp-ops{white-space:nowrap;display:flex;gap:var(--sp-2);align-items:center}.dp-empty{color:var(--muted);font-size:var(--fs-table);padding:var(--sp-3) var(--sp-2)}.dp-foot{padding-top:var(--sp-3);display:flex;align-items:center;gap:var(--sp-3)}.dp-hint{font-size:var(--fs-small);color:var(--muted)}.dp-hint.is-late{color:var(--status-overdue)}.dp-row--new td,.dp-row--edit td{background:var(--surface)}.dp-new-title{font-size:var(--fs-small);color:var(--ink-2);font-weight:var(--fw-medium);margin-bottom:var(--sp-2)}.dp-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.dp-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3) var(--sp-4);align-items:start}.dp-field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.dp-field label{font-size:var(--fs-small);color:var(--ink-2)}.dp-field--people,.dp-field--work{grid-column:span 2}.dp-field--reason{grid-column:1 / -1}.dp-field.is-error label,.dp-field.is-late label{color:var(--status-overdue)}.dp-field.is-error .input,.dp-field.is-late .input{border-color:var(--status-overdue);background:var(--status-overdue-bg)}.dp-field.is-warn .input{border-color:var(--status-warn)}.dp-form .input{height:var(--control-sm);font-size:var(--fs-caption);border-radius:var(--r-md)}.dp-issues{grid-column:1 / -1;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-small)}.dp-issues li:before{content:"• "}.dp-issues .is-error{color:var(--status-overdue)}.dp-issues .is-warn{color:var(--status-warn)}.pp{position:relative}.pp-box{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:var(--control-sm);padding:2px 24px 2px 6px;border:1px solid var(--line-app-strong);border-radius:var(--r-md);background:var(--surface-hi);cursor:text}.pp-box:hover{border-color:var(--line-strong)}.pp:focus-within .pp-box{border-color:var(--line-focus)}.pp.is-invalid .pp-box{border-color:var(--status-overdue);background:var(--status-overdue-bg)}.pp.is-disabled .pp-box{background:var(--bg-paper);cursor:not-allowed}.pp-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 4px 0 3px;border-radius:11px;background:var(--fill);font-size:var(--fs-caption);color:var(--text);white-space:nowrap}.pp-chip.is-off{color:var(--faint)}.pp-chip-x{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 3px;border-radius:50%}.pp-chip-x:hover{color:var(--status-overdue);background:var(--status-overdue-bg)}.pp-input{flex:1 1 90px;min-width:90px;height:20px;border:0!important;padding:0 2px!important;background:transparent!important;font-size:var(--fs-table);outline:none;box-shadow:none!important}.pp-caret{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-size:11px}.pp--compact .pp-box{min-height:0;height:100%;border:0;background:transparent;padding:0 20px 0 4px;flex-wrap:nowrap}.pp--compact .pp-chip{background:transparent;padding:0;height:auto;font-size:inherit}.pp--compact .pp-input{min-width:40px;flex:1 1 40px;font-size:inherit}.pp--single .pp-chip+.pp-input{flex-basis:20px;min-width:20px}.pp-av{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:var(--fw-medium);line-height:1}.pp-pop{position:fixed;z-index:var(--z-dropdown);background:var(--surface-hi);border-radius:var(--r-xl);box-shadow:var(--shadow-float);padding:6px;font-family:var(--font-ui, inherit);color:var(--text)}.pp-quick{display:flex;flex-wrap:wrap;gap:4px;padding:2px 2px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}.pp-me,.pp-grp{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px 0 4px;border:1px solid var(--line-app-strong);border-radius:13px;background:var(--surface-hi);font-size:var(--fs-small);color:var(--text);cursor:pointer}.pp-grp{padding-left:10px}.pp-me:hover:not(:disabled),.pp-grp:hover{background:var(--accent-soft);border-color:var(--line-focus)}.pp-me:disabled{opacity:.5;cursor:default}.pp-list{max-height:280px;overflow:auto}.pp-sec{display:flex;justify-content:space-between;padding:8px 8px 2px;font-size:var(--fs-small);color:var(--faint);font-weight:var(--fw-medium)}.pp-opt{display:flex;align-items:center;gap:var(--sp-2);height:36px;padding:0 8px;border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-label)}.pp-opt.is-active{background:var(--row-active)}.pp-opt.is-on{background:var(--accent-soft)}.pp-opt.is-off{color:var(--faint)}.pp-opt.is-off .pp-av{filter:grayscale(1);opacity:.6}.pp-name{font-weight:var(--fw-medium);white-space:nowrap}.pp-meta{color:var(--muted);font-size:var(--fs-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pp-check{margin-left:auto;color:var(--accent)}.pp-empty{display:flex;flex-direction:column;gap:2px;padding:var(--sp-4) var(--sp-2);text-align:center;color:var(--muted);font-size:var(--fs-label)}.pp-empty small{color:var(--faint);font-size:var(--fs-small)}.pp-foot{display:flex;justify-content:space-between;padding:6px 8px 2px;margin-top:4px;border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--faint)}.mw .page-head h1{margin:0}.mw-stats{margin-bottom:var(--sp-6)}@media(max-width:900px){.mw-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.mw-count{margin-left:6px;vertical-align:2px}.mw-toggle{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);color:var(--muted-app);cursor:pointer}.mw-late{color:var(--danger)}.mw-node-no{display:inline-block;width:26px;font-family:var(--font-mono);font-size:11px;color:var(--faint-app)}.mw-tasks{display:flex;flex-direction:column}.mw-task{border-top:1px solid var(--line-app)}.mw-task:first-child{border-top:0}.mw-task.is-today{background:var(--accent-soft)}.mw-task-row{display:flex;align-items:center;gap:var(--sp-3);min-height:52px;padding:8px var(--sp-4);cursor:pointer;transition:var(--transition-colors)}.mw-task-row:hover{background:var(--row-active)}.mw-task.is-today .mw-task-row:hover{background:var(--accent-soft)}.mw-task-row:focus-visible{outline:2px solid var(--focus-line);outline-offset:-2px}.mw-task-caret{width:12px;color:var(--icon-dim);flex:0 0 auto;font-size:11px}.mw-task-date{width:92px;flex:0 0 auto;font-size:11.5px;line-height:1.3;color:var(--text-2)}.mw-task-date small{color:var(--faint-app);font-family:var(--font-mono);font-size:11px}.mw-task.is-late .mw-task-date{color:var(--danger)}.mw-task-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.mw-task-title{color:var(--text-strong);font-weight:var(--fw-medium);font-size:13.5px}.mw-task-title .mono{color:var(--muted-app);font-size:12px;margin-right:2px}.mw-task-sub{font-size:var(--fs-sub);color:var(--muted-app);overflow:hidden;text-overflow:ellipsis}.mw-task-flags{display:flex;gap:6px;flex:0 0 auto;align-items:center}.mw-task-ops{display:flex;gap:var(--sp-2);align-items:center;flex:0 0 auto}.mw-task-detail{padding:0 var(--sp-4) var(--sp-4) calc(12px + var(--sp-3) + var(--sp-4))}.mw-task-detail .kv{padding-top:var(--sp-2)}.dd-due{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.dd-due__hint{font-size:var(--fs-caption);color:var(--muted-app);white-space:nowrap}.dd-due--warn .dd-due__hint{color:var(--amber)}.dd-due--danger .dd-due__hint{color:var(--danger)}.dd-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.chip-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-full);border:1px solid var(--line-app-strong);background:var(--surface-hi);color:var(--text);font:inherit;font-size:var(--fs-label);cursor:pointer}.chip-btn small{color:var(--faint-app);font-size:var(--fs-caption)}.chip-btn:hover{border-color:var(--accent)}.chip-btn.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip-btn.is-on small{color:var(--accent)}.dd-ext{display:block;font-size:var(--fs-caption);color:var(--muted-app)}@media(max-width:600px){.chip-btn{height:40px}}.dd-cell{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.dd-cell .dd-ext{flex-basis:100%}.eva-card{min-width:0}.eva-card .card__head,.eva-card .card__title{flex-wrap:wrap}.eva-card h2{font-size:var(--fs-title);font-weight:var(--fw-medium)}.eva-card .eva-kpis{gap:0;margin-bottom:var(--sp-4);border:1px solid var(--line-app);border-radius:var(--r-md)}.eva-kpis .kpi{padding:var(--sp-3);border-top:0}.eva-kpis .kpi+.kpi{border-left:1px solid var(--line-app)}.eva-kpis .kpi__v{font-size:16px}.eva-kpis .kpi__k{font-size:11px}.eva-note{color:var(--muted-app);font-size:var(--fs-caption);line-height:1.6;overflow-wrap:anywhere}.eva-status{font-size:var(--fs-caption)}.eva-card .dt td .mono.text-danger{color:var(--danger)}.eva-groups tbody tr[aria-selected=true]{background:var(--accent-soft)}.eva-groups tbody tr[aria-selected=true] td{box-shadow:none}.eva-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-3)}.eva-group-link{padding:0;border:0;background:transparent;text-align:left;color:var(--link);font:inherit;cursor:pointer;overflow-wrap:anywhere}.eva-group-link:hover{text-decoration:underline}.eva-group-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}.eva-cases{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line-app)}.eva-cases__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.eva-cases h3{font-size:var(--fs-label);font-weight:var(--fw-medium);overflow-wrap:anywhere}.eva-cases__foot{display:flex;justify-content:flex-end;margin-top:var(--sp-3)}@media(max-width:600px){.eva-card .eva-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.eva-kpis .kpi{padding:var(--sp-2)}.eva-card .dt--stack tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);padding:var(--sp-3)}.eva-card .dt--stack td{text-align:left;overflow-wrap:anywhere}.eva-card .dt--stack td:before{color:var(--muted-app);font-size:11px;margin-right:var(--sp-2)}.eva-card .dt--stack td[data-col=budget]:before{content:"預估 "}.eva-card .dt--stack td[data-col=actual]:before{content:"實際 "}.eva-card .dt--stack td[data-col=difference]:before{content:"差異組·日 "}.eva-card .dt--stack td[data-col=variance]:before{content:"差異 "}.eva-card .dt--stack td[data-col=averageDifference]:before{content:"平均差異組·日 "}.eva-card .dt--stack td[data-col=averageVariance]:before{content:"平均差異 "}.eva-card .dt--stack td[data-col=caseCount]:before{content:"案件數 "}.eva-card .dt--stack td[data-col=budget],.eva-card .dt--stack td[data-col=difference],.eva-card .dt--stack td[data-col=averageDifference]{grid-column:1}.eva-card .dt--stack td[data-col=actual],.eva-card .dt--stack td[data-col=variance],.eva-card .dt--stack td[data-col=averageVariance]{grid-column:2}.eva-departments .dt--stack td[data-col=dept]{grid-column:1}.eva-departments .dt--stack td[data-col=status]{grid-column:2;grid-row:1;text-align:right}.eva-card .dt--stack tr.empty-row{display:block}}.stm{font-size:var(--fs-label)}.stm .card{padding:var(--sp-4)}.stm .card>.cdm-head{margin:calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4)) var(--sp-3);padding:10px var(--sp-4);min-height:44px;border-bottom:1px solid var(--line-app)}.stm-meter .cdm+.cdm{margin-top:6px}.stm-meter--compact .cdm-head{margin-bottom:6px}.stm-meter-foot{margin-top:var(--sp-2);font-size:var(--fs-table);font-variant-numeric:tabular-nums}.stm-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-3)}.stm-summary.has-nodes{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.fx-meters .stm-summary .card{padding:var(--sp-3);box-shadow:none}.fx-meters .stm-summary .card>.cdm-head{margin:0 0 8px;padding:0;min-height:0;border-bottom:0}.stm-cards{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media(min-width:1280px){.stm-cards{grid-template-columns:1fr 1fr}.stm-cards .stm-card:nth-child(3),.stm-cards .stm-card:nth-child(4){grid-column:1 / -1}}.stm-card>.cdm-head{margin-bottom:var(--sp-3)}.stm-card>.cdm-head h3{font-size:var(--fs-h4);font-weight:var(--fw-medium)}.stm-card .fx-embed-table{margin-top:var(--sp-3)}.stm-card .note{margin-top:var(--sp-2)}.stm-dept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-3)}.stm-cost-table td.num,.stm-cost-table th.num{white-space:nowrap}.stm-total td{border-top:1px solid var(--line-ink);border-bottom:0}.stm-ok{color:var(--status-done)}.stm-warn{color:var(--status-warn)}.stm-danger{color:var(--status-overdue)}.stm-warn--amber{color:var(--status-warn)!important}.stm-gap{display:inline-block;margin-left:6px;white-space:nowrap}.stm-card .dt td.is-wrap{min-width:150px}.stm-card .dt td.is-num,.stm-card .dt th.is-num{white-space:nowrap}.cdm-fill--raw{background:var(--status-active);opacity:.35}.stm-mark--dashed{background:transparent;border-left:1px dashed var(--fg);width:0}.stm-margin-pill{display:inline-flex;gap:4px;align-items:center;height:22px;padding:0 9px;border-radius:var(--r-full);font-size:var(--fs-caption);background:var(--surface-hi);box-shadow:var(--ring-line);color:var(--text-2);white-space:nowrap}.stm-margin-pill .num{font-family:var(--font-mono);font-size:11.5px}.stm-margin-pill.is-ok{color:var(--green)}.stm-margin-pill.is-warn{color:var(--amber)}.stm-margin-pill.is-danger{color:var(--danger)}.stm-margin-badge{display:inline-flex;align-items:center;gap:8px;padding:0;font-size:var(--fs-caption);color:var(--text);vertical-align:middle;flex-wrap:wrap}.stm-margin-badge__k{color:var(--muted-app)}.stm-margin-badge b{font-family:var(--font-mono);font-size:var(--fs-kpi);font-weight:var(--fw-medium);color:var(--text-strong)}.stm-margin-badge .num.muted{font-family:var(--font-mono);font-size:11.5px}.stm-margin-badge.is-warn b,.stm-margin-badge.is-warn .num{color:var(--amber)}.stm-margin-badge.is-danger b,.stm-margin-badge.is-danger .num{color:var(--danger)}.stm-flag-dot{width:7px;height:7px;border-radius:50%;background:var(--status-warn)}.stm-flag-dot.is-danger{background:var(--status-overdue)}.stm-spark{display:block;overflow:visible}.stm-margin .stm-spark{width:100%;height:120px;margin:var(--sp-2) 0}.stm-spark-line{fill:none;stroke:var(--status-active);stroke-width:1.5}.stm-spark-line.is-warn{stroke:var(--status-warn)}.stm-spark-line.is-danger{stroke:var(--status-overdue)}.stm-spark-dot{fill:var(--status-active)}.stm-spark-dot.is-warn{fill:var(--status-warn)}.stm-spark-dot.is-danger{fill:var(--status-overdue)}.stm-spark-budget{stroke:var(--fg);stroke-width:1;stroke-dasharray:4 3;opacity:.6}.stm-spark-threshold{stroke:var(--status-warn);stroke-width:1;stroke-dasharray:1 3}.stm-spark-zero{stroke:var(--status-overdue);stroke-width:1;opacity:.5}.stm-margin-value{font-family:var(--font-mono);font-size:var(--fs-kpi);letter-spacing:0}.stm-margin.is-danger{box-shadow:0 0 0 1px var(--danger)}.stm-margin.is-warn{box-shadow:0 0 0 1px var(--amber)}.stm-legend{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:var(--fs-small);margin-left:auto}.stm-legend i{display:inline-block;width:18px;height:0;border-top:1.5px solid var(--status-active)}.stm-legend .stm-legend__dash{border-top:1px dashed var(--fg)}.stm-legend .stm-legend__dot{border-top:1px dotted var(--status-warn)}.stm-track--time{height:10px;overflow:visible;background:var(--fill)}.stm-win{position:absolute;top:0;bottom:0;background:var(--inactive);border-radius:4px}.stm-act{position:absolute;top:2px;bottom:2px;background:var(--status-active);border-radius:3px}.stm-act.is-late{background:var(--status-overdue)}.stm-today{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--fg)}.stm-reply{position:absolute;top:-2px;bottom:-2px;width:1px;border-left:1px dashed var(--ink-2)}.stm-relay{position:absolute;top:7px;width:1px;height:6px;background:var(--muted)}.stm-relay.is-met{background:var(--status-done)}.stm-due{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--status-done)}.stm-due--rolling{opacity:.6}.stm-due.is-late{background:var(--status-overdue)}.stm-time-val{min-width:96px;white-space:nowrap}.stm-sla{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:var(--r-full);font-size:var(--fs-caption);background:var(--surface-hi);box-shadow:var(--ring-line);color:var(--text-2)}.stm-sla .num{font-family:var(--font-mono);font-size:11.5px}.stm-sla.is-flag{color:var(--danger)}.stm-sla.is-late{color:var(--amber)}.stm-sla-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--sp-3)}.stm-options{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);align-items:center;min-height:var(--toolbar-h);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px #0000000d;font-size:var(--fs-caption);color:var(--muted-app)}.stm-options label{display:inline-flex;align-items:center;gap:6px}.stm-options select.input{height:var(--control-sm);font-size:var(--fs-caption);max-width:420px;border-radius:var(--r-md)}.stm-options__pct{width:64px;height:var(--control-sm);text-align:right;border-radius:var(--r-md)}.stm-options__check{color:var(--ink)}.stm-money .kpi__v{font-size:15px}.stm-profit-formula{font-size:var(--fs-table);color:var(--ink-2)}.stm-profit-table th,.stm-profit-table td{white-space:nowrap}.stm-summary-cells .kpi__v{font-size:15px}@media(max-width:1100px){.stm-summary-cells{grid-template-columns:repeat(3,minmax(0,1fr))!important}.stm-money{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.stm-preview>summary{cursor:pointer;color:var(--muted);font-size:var(--fs-small)}.stm-assumptions>summary{cursor:pointer;color:var(--muted);font-size:var(--fs-small)}.stm-assumptions ul{margin:var(--sp-2) 0 0 var(--sp-4);font-size:var(--fs-small);color:var(--ink-2);line-height:var(--lh-body)}.stm-car{margin-top:12px}.stm-car td.num,.stm-car th.num{white-space:nowrap}.stm-car-mm{display:inline-block;margin-right:8px}.lp-card .card__head{flex-wrap:wrap;gap:var(--sp-2)}.lp-anomaly{margin:var(--sp-2) 0;display:flex;flex-direction:column;gap:4px}.lp-table td,.lp-table th{white-space:nowrap}.lp-table .cell-sub{display:block}.lp-total td{font-weight:var(--fw-medium);border-top:1px solid var(--line-app-strong)}.lp-flags{display:flex;flex-wrap:wrap;gap:4px;align-items:center;white-space:normal!important}.lp-note,.lp-car,.lp-persons{margin-top:var(--sp-2)}.text-warn{color:var(--amber)}@media(max-width:600px){.lp-car{--cols: 2 !important}}.stm-export-head{flex-wrap:wrap}.stm-export-head>.row{flex-wrap:wrap}@media(max-width:600px){.stm-export-head h2{flex-basis:100%}}.reply-progress{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.reply-progress__head,.reply-progress__row{display:grid;grid-template-columns:64px minmax(120px,1fr) 90px minmax(125px,1fr) minmax(120px,1fr);gap:16px;align-items:center;padding:14px 20px}.reply-progress__head{color:var(--muted);font-size:12px}.reply-progress__rows{list-style:none;margin:0;padding:0}.reply-progress__row{border-top:1px solid var(--line);font-size:13px}.reply-progress__row .pill{justify-self:start;white-space:nowrap}.reply-progress__row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.reply-progress__dept{font-weight:500}.reply-progress__person{overflow-wrap:anywhere}.reply-progress__wait{font-variant-numeric:tabular-nums}.reply-progress__row--warn .reply-progress__wait>span,.reply-progress__row--danger .reply-progress__wait>span{display:inline-block;border-radius:4px;padding:3px 6px}.reply-progress__row--warn .reply-progress__wait>span{background:var(--amber-soft);color:var(--amber)}.reply-progress__row--danger .reply-progress__wait>span{background:var(--danger-soft);color:var(--danger)}.reply-progress__note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.7}.reply-progress-section{margin-bottom:24px}.reply-progress-case+.reply-progress-case{margin-top:20px}.reply-progress-case__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.reply-progress-case__head h3{font-size:14px;font-weight:500;margin:0}@media(max-width:700px){.reply-progress__head{display:none}.reply-progress__row{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:14px}.reply-progress__row:first-child{border-top:none}.reply-progress__dept{grid-column:1;grid-row:1}.reply-progress__person{grid-column:1;grid-row:2}.reply-progress__row .pill{grid-column:2;grid-row:1;justify-self:end}.reply-progress__wait{grid-column:2;grid-row:2;text-align:right}.reply-progress__action{grid-column:1 / -1;display:flex;align-items:center;gap:12px}.reply-progress-case__head{align-items:flex-start}.reply-progress-case__head h3{line-height:1.6}}.ob-welcome{display:flex;flex-direction:column;gap:var(--sp-3)}.ob-lead{margin:0;font-size:var(--fs-body);line-height:1.6;color:var(--text-2)}.ob-note{margin:0;font-size:var(--fs-caption);line-height:1.55;color:var(--muted-app)}.ob-flow{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 4px}.ob-flow li{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 5px;border-radius:var(--r-full);background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--line-app-strong);font-size:var(--fs-label);color:var(--text-2)}.ob-flow__n{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:10px}.ob-role h3{margin:0 0 4px;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--muted-app);letter-spacing:.02em}.ob-role ul{margin:0;padding-left:18px;list-style:disc;display:flex;flex-direction:column;gap:4px}.ob-role li{font-size:var(--fs-body);line-height:1.55;color:var(--text)}.ob-role+.ob-role{padding-top:var(--sp-3);border-top:1px solid var(--line-app)}.ob-notify{list-style:none;margin:0;padding:0;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line-app)}.ob-notify li{display:flex;flex-direction:column;gap:2px;padding:10px 12px}.ob-notify li+li{border-top:1px solid var(--line-app)}.ob-notify strong{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong)}.ob-notify span{font-size:var(--fs-caption);line-height:1.5;color:var(--muted-app)}.ob-dots{display:inline-flex;align-items:center;gap:3px;flex-wrap:nowrap;min-width:0;overflow:hidden}.ob-meter{display:inline-block;width:88px;height:4px;border-radius:var(--r-full);background:var(--fill);overflow:hidden;flex-shrink:1}.ob-meter span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-base) var(--ease-standard)}.ob-dots span{flex-shrink:0;width:5px;height:5px;border-radius:var(--r-full);background:var(--fill);transition:width var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.ob-dots span.is-done{background:var(--accent);opacity:.4}.ob-dots span.is-active{width:12px;background:var(--accent)}.ob-layer{position:fixed;inset:0;z-index:1100}.ob-block{position:absolute;inset:0}.ob-dim{position:absolute;inset:0;background:#0a0a0a6b}.ob-spot{position:fixed;border-radius:var(--r-lg);pointer-events:none;box-shadow:0 0 0 2px var(--accent),0 0 0 6px var(--accent-soft),0 0 0 9999px #0a0a0a6b;transition:top var(--dur-base) var(--ease-standard),left var(--dur-base) var(--ease-standard),width var(--dur-base) var(--ease-standard),height var(--dur-base) var(--ease-standard)}.ob-card{position:fixed;width:340px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface-hi);border-radius:var(--r-drop);box-shadow:var(--ring-line-soft),var(--shadow-lg);animation:modal-in var(--dur-base) var(--ease)}.ob-card.has-clip{width:440px}.ob-card__body{padding:12px 16px 14px;display:flex;flex-direction:column;gap:6px}.ob-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.ob-card__count{font-variant-numeric:tabular-nums}.ob-card__close{margin-right:-6px}.ob-card__title{margin:0;font-size:var(--fs-title);font-weight:var(--fw-medium);line-height:1.35;color:var(--text-strong)}.ob-card__text{margin:0;font-size:var(--fs-label);line-height:1.6;color:var(--text-2)}.ob-card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:10px 16px;border-top:1px solid var(--line-app)}.ob-card__foot .button-row{flex-wrap:nowrap}.ob-clip{position:relative;aspect-ratio:16 / 10;background:var(--surface);border-bottom:1px solid var(--line-app);overflow:hidden}.ob-clip video,.ob-clip img{display:block;width:100%;height:100%;object-fit:cover;object-position:top left}.ob-clip__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:var(--r-full);background:var(--surface-hi);color:var(--text);box-shadow:var(--ring-line),var(--shadow-md);font-size:var(--fs-caption);font-weight:var(--fw-medium);cursor:pointer}.ob-card--sheet{left:0;right:0;width:auto!important;max-width:none}.ob-card--sheet.ob-card--bottom{bottom:0;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}.ob-card--sheet.ob-card--top{top:0;border-radius:0 0 16px 16px;padding-top:env(safe-area-inset-top)}.ob-card--sheet .ob-clip{aspect-ratio:auto;height:min(26vh,200px)}.ob-card--sheet .ob-card__foot{padding:10px var(--sp-4) 12px}.ob-card--sheet .ob-card__foot .button-row :is(button){min-height:var(--control-md)}.topbar__help{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-btn);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:var(--fw-medium);flex-shrink:0}.topbar__user-wrap{position:relative;min-width:0}button.topbar__user{border:0;background:transparent;padding:4px 8px;margin:0;border-radius:var(--r-btn);cursor:pointer;font:inherit;min-height:32px}button.topbar__user:hover,button.topbar__user[aria-expanded=true]{background:var(--row-active)}.topbar__menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;padding:6px;z-index:var(--z-dropdown);background:var(--surface-hi);border-radius:var(--r-xl);box-shadow:var(--ring-line),var(--shadow-lg);display:flex;flex-direction:column}.topbar__menu button{display:flex;align-items:center;gap:8px;min-height:33px;padding:0 10px;border:0;border-radius:var(--r-md);background:transparent;color:var(--text);font:inherit;font-size:var(--fs-label);text-align:left;cursor:pointer}.topbar__menu button:hover,.topbar__menu button:focus-visible{background:var(--row-active)}.mw-welcome{margin-top:var(--sp-3)}.mw-welcome__list{margin:4px auto 0;padding-left:18px;max-width:440px;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--muted-app);font-size:var(--fs-label);line-height:1.55}@media(prefers-reduced-motion:reduce){.ob-spot,.ob-dots span{transition:none}.ob-card{animation:none}}@media print{.ob-layer{display:none!important}}@media(max-width:960px){.topbar .breadcrumb{min-width:0;overflow:hidden}.topbar__user-wrap{flex:0 1 auto}button.topbar__user{max-width:100%;padding:2px 4px}}@media(max-width:600px){.topbar__name{max-width:72px}.topbar__help{width:28px;height:28px}}.tk{display:flex;flex-direction:column;gap:var(--sp-3)}.tk-msg,.tk-stats{margin:0}.tk-stats .kpi{text-align:left;border:0;font:inherit;cursor:pointer}.tk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.tk-toolbar .note{flex:1 1 320px;text-align:right}.tk-code{font-family:var(--font-mono);background:var(--fill);color:var(--text-2);letter-spacing:.04em}.tk-status--done{background:var(--green-soft);color:var(--green)}.tk-status--active{background:var(--accent-soft);color:var(--accent)}.tk-status--warn{background:var(--amber-soft);color:var(--amber)}.tk-status--danger{background:var(--danger-soft);color:var(--danger)}.tk-status--na{background:var(--surface);color:var(--muted-app)}.tk-comp{background:transparent;box-shadow:var(--ring-line);color:var(--muted-app)}.tk-comp--deliver{color:var(--amber);box-shadow:0 0 0 1px var(--amber)}.tk-comp--auto{color:var(--faint-app)}.tk-due{display:inline-flex;flex-direction:column;line-height:1.25;font-size:12.5px;color:var(--text-2);font-variant-numeric:tabular-nums}.tk-due small{font-family:var(--font-mono);font-size:11px;color:var(--muted-app)}.tk-due--late,.tk-due--late small{color:var(--danger)}.tk-due--soon small{color:var(--amber)}.tk-due--done{color:var(--green)}.tk-table-wrap{overflow-x:auto}.tk-table{width:100%;border-collapse:collapse;font-size:var(--fs-table);table-layout:fixed}.tk-table th{height:40px;padding:0 var(--sp-3);text-align:left;font-weight:var(--fw-nav);font-size:var(--fs-caption);color:var(--faint-app);background:transparent;border-bottom:1px solid var(--line-app);white-space:nowrap}.tk-table td{height:44px;padding:6px var(--sp-3);border-top:1px solid var(--line-app);vertical-align:middle}.tk-table tbody tr:first-child td{border-top:0}.tk-row{cursor:pointer;transition:var(--transition-colors)}.tk-row:hover td{background:var(--row-active)}.tk-row.is-open td{background:var(--surface-hi2)}.tk-row.is-late .tk-name .cell-main{color:var(--danger)}.tk-row.is-na td,.tk-row.is-na .cell-main{color:var(--muted-app)}.tk-name .cell-main{display:block;font-weight:var(--fw-medium);color:var(--text-strong);line-height:1.3}.tk-name .cell-sub{display:block;font-size:var(--fs-sub);color:var(--muted-app);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-owner{color:var(--text-2);font-size:var(--fs-label);overflow:hidden;text-overflow:ellipsis}.tk-table .tk-owner{white-space:nowrap}.tk-case .btn-link{font-size:var(--fs-label);color:var(--text-strong);font-weight:var(--fw-medium)}.tk-case .mono{color:var(--muted-app);font-size:12px;margin-right:2px}.tk-ops-cell{text-align:right}.tk-ops{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tk-row-detail td{background:var(--surface-hi2);padding:var(--sp-2) var(--sp-4) var(--sp-4) var(--sp-4);height:auto;border-top:0}.tk-detail{display:flex;flex-direction:column;gap:var(--sp-3);font-size:var(--fs-label)}.tk-detail .kv{padding-top:var(--sp-2)}.tk-detail-title{font-size:var(--fs-caption);color:var(--muted-app);font-weight:var(--fw-medium);margin-bottom:4px}.tk-reviews{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-caption)}.tk-reviews .is-ok{color:var(--green)}.tk-reviews .is-bad{color:var(--danger)}.tk-node-note{margin:0}.tk-empty{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-label)}.tk-cards{display:flex;flex-direction:column}.tk-card{padding:8px 0;border-top:1px solid var(--line-app);display:flex;flex-direction:column;gap:5px}.tk-card:first-child{border-top:0;padding-top:0}.tk-card-head{display:flex;align-items:center;gap:6px;cursor:pointer;min-height:22px;border-radius:var(--r-sm)}.tk-card-head:hover .tk-card-name{color:var(--accent)}.tk-card-head:focus-visible{outline:2px solid var(--focus-line);outline-offset:2px}.tk-card-name{flex:1 1 auto;min-width:0;font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-card.is-late .tk-card-name{color:var(--danger)}.tk-card.is-na .tk-card-name{color:var(--muted-app);font-weight:var(--fw-regular)}.tk-card-sub{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--muted-app);flex-wrap:wrap}.tk-card-sub .tk-owner{font-size:var(--fs-caption);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-card-sub .tk-due{font-size:12px;flex-direction:row;gap:6px;align-items:baseline}.tk-card .tk-ops--compact{justify-content:flex-start}.tk-card .tk-detail{padding:var(--sp-2) 0 0}.tk-card .tk-detail .kv{grid-template-columns:64px 1fr}.tk-dlv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tk-dlv-item{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-label)}.tk-dlv-kind{flex:0 0 auto;margin-top:1px}.tk-dlv-kind--link{color:var(--src-drawing);box-shadow:0 0 0 1px var(--src-drawing)}.tk-dlv-kind--form{color:var(--src-wo);box-shadow:0 0 0 1px var(--src-wo)}.tk-dlv-kind--qty{color:var(--src-series);box-shadow:0 0 0 1px var(--src-series)}.tk-dlv-body{display:flex;flex-direction:column;gap:2px;min-width:0}.tk-dlv-label{font-weight:var(--fw-medium);color:var(--text-strong)}.tk-dlv-link{color:var(--link);font-family:var(--font-mono);font-size:12px;word-break:break-all}.tk-dlv-text{color:var(--text-2);white-space:pre-wrap}.tk-dlv-meta{font-size:var(--fs-stamp);color:var(--faint-app)}.tk-handover{font-size:var(--fs-caption)}.tk-qty-table{border-collapse:collapse;font-size:var(--fs-caption);width:100%}.tk-qty-table th{text-align:left;font-weight:var(--fw-nav);color:var(--faint-app);padding:4px 8px;border-bottom:1px solid var(--line-app)}.tk-qty-table td{padding:4px 8px;border-top:1px solid var(--line-app)}.tk-qty-table tbody tr:first-child td{border-top:0}.tk-qty-table .num{text-align:right;font-variant-numeric:tabular-nums}.tk-qty-table--edit{font-size:var(--fs-label)}.tk-qty-table--edit td{height:36px}.tk-qty-input{width:110px;height:var(--control-sm);text-align:right;font-variant-numeric:tabular-nums}.tk-errors ul{margin:0;padding-left:18px}.tk-dlv-edit{display:flex;flex-direction:column;gap:8px}.tk-dlv-edit-row{display:grid;grid-template-columns:96px 1fr 1.4fr auto;gap:8px;align-items:start}.tk-dlv-edit-row .input{height:var(--control-sm);font-size:var(--fs-caption)}.tk-dlv-edit-row textarea.input{height:auto}.tk-checks{display:flex;flex-wrap:wrap;gap:6px}.tk-check{display:inline-flex;align-items:center;gap:4px;height:var(--control-sm);padding:0 10px;border-radius:var(--r-md);box-shadow:var(--ring-line);font-size:var(--fs-caption);cursor:pointer;background:var(--surface-hi)}.tk-check.is-on{background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 1px var(--accent-light)}.tk-check input{margin:0}.tk-sub{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.tk-sub-date .input{height:var(--control-sm);font-size:var(--fs-caption)}.tk-handover-form .input{font-size:var(--fs-label)}.tk-more summary{cursor:pointer}.mw .tk--mywork .tk-table th:first-child,.mw .tk--mywork .tk-table td:first-child{padding-left:var(--sp-4)}@media(max-width:900px){.tk-dlv-edit-row{grid-template-columns:1fr 1fr}.tk-dlv-edit-row textarea.input,.tk-dlv-edit-row input[type=url]{grid-column:1 / -1}}.tk-ops{flex-wrap:nowrap}.tk-more{position:relative;display:inline-flex}.tk-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30}.tk-card .tk-menu{right:auto;left:0}.tk-owner-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;border-radius:999px;padding:2px 8px 2px 2px;border:1px solid transparent;background:transparent;color:var(--text-2);font:inherit;font-size:var(--fs-label);line-height:1.3}.tk-owner-chip.is-editable{cursor:pointer}.tk-owner-chip.is-editable:hover{border-color:var(--line-app);background:var(--row-active);color:var(--text)}.tk-owner-chip.is-editable:hover .tk-owner-edit{opacity:1}.tk-owner-edit{opacity:0;font-size:11px;color:var(--accent);transition:opacity .12s}.tk-avatars{display:inline-flex}.tk-avatar{width:20px;height:20px;border-radius:50%;background:var(--accent-soft, #e7edff);color:var(--accent);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;margin-left:-4px;border:1px solid var(--surface, #fff)}.tk-avatar:first-child{margin-left:0}.tk-owner-names{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tk-table .tk-owner-cell{max-width:160px}.report-lark-hint{margin:0;padding:8px 12px;border-radius:6px;background:var(--status-warn-bg, #fff7e6);color:var(--text, inherit);font-size:13px}.tk-files{display:flex;flex-direction:column;gap:var(--sp-2)}.tk-drop{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);padding:14px 16px;border:1px dashed var(--line-app-strong);border-radius:var(--r-md);background:var(--surface-hi2);color:var(--muted-app)}.tk-drop.is-over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tk-drop.is-disabled{opacity:.6}.tk-drop__text{font-size:var(--fs-body)}.tk-drop__btns{display:inline-flex;gap:var(--sp-2)}.tk-drop__hint{flex-basis:100%;font-size:var(--fs-caption);color:var(--faint-app)}.tk-drop__cam{display:none}.tk-files__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tk-files__item{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-3);align-items:baseline;font-size:var(--fs-caption)}.tk-files__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.tk-files__meta{color:var(--faint-app)}.tk-files__item .status-text{grid-column:1 / -1;white-space:normal}.tk-dlv-file{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.tk-dlv-file__btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--accent);cursor:pointer;font:inherit;text-align:left}.tk-dlv-file__btn:hover{text-decoration:underline}@media(max-width:960px),(pointer:coarse){.tk-drop__cam{display:inline-flex}.tk-drop__text{display:none}}.tk-toolbar{justify-content:flex-start}.tk-toolbar__note{flex:1 1 260px;text-align:right;font-size:var(--fs-caption);color:var(--muted-app)}.tk-sub-line{display:flex!important;align-items:center;gap:6px;min-width:0;margin-top:3px;white-space:nowrap;overflow:hidden}.tk-sub-line .tk-owner-chip{flex:0 1 auto;min-width:0;font-size:var(--fs-sub);padding:0 6px 0 0}.tk-sub-line .tk-owner-chip.is-editable{padding:0 6px 0 0}.tk-sub-line .tk-avatar{width:18px;height:18px;font-size:10px}.tk-sub-line .tk-owner-names{overflow:hidden;text-overflow:ellipsis}.tk-sub-line .tk-comp{height:18px;padding:0 6px;font-size:11px;flex:none}.tk-sub-sep{color:var(--faint-app);flex:none}.tk-sub-text{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--muted-app)}.tk-table td.tk-name{padding-top:8px;padding-bottom:8px}.tk-table td.tk-status-cell,.tk-table th.tk-th-status{text-align:right}.tk-table .tk-ops{flex-wrap:nowrap}.tk-group th{height:36px;padding:0 var(--sp-3);text-align:left;background:var(--surface-hi2);border-top:1px solid var(--line-app);border-bottom:1px solid var(--line-app);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-2);white-space:nowrap}.tk-table tbody:first-of-type .tk-group th{border-top:0}.tk-group__name .mono{color:var(--faint-app);margin-right:8px;font-variant-numeric:tabular-nums}.tk-group__count{float:right;font-size:var(--fs-caption);font-weight:var(--fw-regular);color:var(--muted-app);font-variant-numeric:tabular-nums}.tk-group__count.is-done{color:var(--green)}.tk-table--grouped .tk-group+.tk-row td{border-top:0}@media(max-width:960px){.tk-table tr.tk-group{display:block}.tk-table tr.tk-group th{display:flex;justify-content:space-between;align-items:center;padding:0 var(--sp-2)}.tk-group__count{float:none}.tk-table td.tk-status-cell{margin-left:auto}.tk-sub-line{white-space:normal;flex-wrap:wrap}.tk-toolbar__note{text-align:left}}.tk-ops .tk-main-btn.btn-primary{background:var(--accent);color:var(--surface-hi)}.tk-ops .tk-main-btn.btn-primary:hover{background:var(--accent-hover)}.tk-sub-line .tk-owner-chip{flex:0 0 auto;max-width:60%}.sb{overflow-wrap:anywhere}.sb .card__head{flex-wrap:wrap}.sb-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px 0 8px}.sb-filters label{display:grid;gap:4px;font-size:var(--fs-caption);color:var(--muted-app);flex:1 1 150px;min-width:0}.sb-filters select{width:100%;min-width:0}.sb-scope{color:var(--muted-app);font-size:var(--fs-caption);padding-bottom:8px}.sb-note{color:var(--muted-app);font-size:var(--fs-caption);line-height:1.6;margin:0 0 12px}.sb-chart{max-height:480px;overflow-y:auto;scrollbar-gutter:stable;border-block:1px solid var(--line-app)}.sb-node{display:grid;grid-template-columns:minmax(140px,1.2fr) minmax(100px,2fr) repeat(3,minmax(64px,.5fr));gap:16px;align-items:center;width:100%;min-height:62px;padding:10px 12px;text-align:left;font:inherit;color:var(--text);border:0;border-bottom:1px solid var(--line-app);background:var(--surface-hi);cursor:pointer}.sb-node:last-child{border-bottom:0}.sb-node:hover{background:var(--row-active)}.sb-node.is-selected{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.sb-node:focus-visible,.sb-case-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sb-node-name{font-size:var(--fs-label);font-weight:var(--fw-medium);min-width:0}.sb-node-name small{display:block;margin-top:3px;font-weight:var(--fw-regular);font-size:var(--fs-caption);color:var(--muted-app)}.sb-metric{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline;justify-content:end;font-size:var(--fs-caption)}.sb-metric>span{color:var(--muted-app)}.sb-metric b{font-weight:var(--fw-medium)}.sb-bar{display:grid;gap:6px}.sb-bar .meter__track{height:8px}.sb-cases{min-width:0;margin-top:20px}.sb-cases h3{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;font-size:var(--fs-label)}.sb-case-link{border:0;background:transparent;color:var(--link);font:inherit;padding:2px 0;cursor:pointer;text-align:left;overflow-wrap:anywhere}.sb-case-link:hover{text-decoration:underline}.sb .card__foot{margin-top:16px;margin-bottom:0}@media(max-width:600px){.sb-node{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 8px}.sb-node-name,.sb-bar{grid-column:1 / -1}.sb-metric{justify-content:start}.sb-bar .sb-metric{justify-content:end}.sb-chart{max-height:500px}.sb-filters label{flex-basis:calc(50% - 12px)}.sb-cases .dt--stack td{white-space:normal;overflow-wrap:anywhere}}@media(max-width:600px){.sb-cases td:before{display:block;color:var(--muted-app);font-size:var(--fs-caption);margin-bottom:2px}.sb-cases td[data-col=caseNo]:before{content:"案號"}.sb-cases td[data-col=caseName]:before{content:"案名"}.sb-cases td[data-col=owners]:before{content:"現在負責人"}.sb-cases td[data-col=stalledWorkdays]:before{content:"已停工作日"}}.ov{min-width:0;max-width:1180px}.ov-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-10)}.ov-head h1{font-size:28px;font-weight:var(--fw-medium);letter-spacing:-.01em;color:var(--text-strong);display:flex;align-items:baseline;gap:10px}.ov-head__dept{font-size:var(--fs-label);color:var(--muted-app);font-weight:var(--fw-regular)}.ov-head__sub{margin:6px 0 0;color:var(--muted-app);font-size:var(--fs-label)}.ov-old{font-size:var(--fs-label);color:var(--muted-app);gap:6px}.ov-link{border:0;background:transparent;padding:4px 0;font:inherit;font-size:var(--fs-label);letter-spacing:.04em;color:var(--muted-app);cursor:pointer;white-space:nowrap}.ov-link:hover{color:var(--accent)}.ov-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.ov-eyebrow{margin:0 0 var(--sp-2);font-size:var(--fs-label);color:var(--muted-app)}.ov-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:var(--sp-10);background:var(--line-app);border-radius:var(--r-xl);box-shadow:0 0 0 1px var(--line-app-strong);overflow:hidden}.ov-stat{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding:var(--sp-3) var(--sp-4);border:0;background:var(--surface-hi);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:var(--transition-colors)}.ov-stat:disabled{cursor:default}.ov-stat:not(:disabled):hover{background:var(--surface-hi2)}.ov-stat:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ov-stat__value{font-size:var(--fs-heading);line-height:1.3;color:var(--text-strong);font-variant-numeric:tabular-nums;font-weight:var(--fw-medium)}.ov-stat__value small{font-size:var(--fs-label);color:var(--muted-app);margin-left:4px;font-weight:var(--fw-regular)}.ov-stat.is-bad .ov-stat__value{color:var(--danger)}.ov-stat__label{margin-top:2px;font-size:var(--fs-label);color:var(--text-2)}.ov-stat__sub{margin-top:2px;font-size:var(--fs-caption);color:var(--muted-app);line-height:1.4}.ov-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--sp-12);align-items:start}.ov-sec{min-width:0}.ov-sec__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line-app-strong)}.ov-sec__head h2{font-size:18px;font-weight:var(--fw-medium);color:var(--text-strong);display:flex;align-items:baseline;gap:8px}.ov-sec__n{font-size:var(--fs-label);color:var(--muted-app);font-weight:var(--fw-regular);font-variant-numeric:tabular-nums}.ov-sec__hint{font-size:var(--fs-caption);color:var(--faint-app)}.ov-empty{color:var(--muted-app);font-size:var(--fs-body);margin:0;padding:var(--sp-5) 0}.ov-more{border:0;border-bottom:1px solid color-mix(in srgb,var(--text-strong) 28%,transparent);background:transparent;padding:2px 0;font:inherit;font-size:var(--fs-label);letter-spacing:.04em;color:var(--text-strong);cursor:pointer;transition:border-color .2s ease;white-space:nowrap}.ov-more:hover{border-bottom-color:var(--text-strong)}.ov-rows{list-style:none;margin:0;padding:0}.ov-rows>li{border-bottom:1px solid var(--line-app)}.ov-rows__more{padding:var(--sp-3) 0;font-size:var(--fs-caption);color:var(--muted-app);border-bottom:0!important}.ov-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:12px var(--sp-1);border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:var(--transition-colors)}.ov-row:hover{background:var(--surface-hi2)}.ov-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ov-row__main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.ov-row__name{font-size:14px;font-weight:var(--fw-medium);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-row__who{font-size:var(--fs-caption);color:var(--muted-app);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-row__why{flex:0 1 auto;max-width:60%;font-size:var(--fs-label);color:var(--text-2);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-row__why.is-bad{color:var(--danger)}.ov-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.ov-dot--bad{background:var(--danger)}.ov-dot--warn{background:var(--amber)}.ov-week{display:grid;gap:var(--sp-5);padding-top:var(--sp-4)}.ov-week__day h3{font-size:var(--fs-label);font-weight:var(--fw-regular);color:var(--muted-app);margin:0 0 var(--sp-1)}.ov-week__day h3 b{color:var(--text-strong);font-weight:var(--fw-medium);margin-right:4px}.ov-week__conflict{display:flex;align-items:baseline;gap:var(--sp-2);padding:10px var(--sp-1);font-size:var(--fs-label);color:var(--danger);line-height:1.5}.ov-week__conflict .ov-dot{transform:translateY(-1px)}.ov-week__none{padding:10px var(--sp-1);font-size:var(--fs-label);color:var(--faint-app)}.ov--sales .ov-sec{max-width:760px}.ov-quote{display:flex;align-items:center;gap:var(--sp-4)}.ov-quote__log{color:var(--accent);padding:0 var(--sp-1)}.ov-quote__log:hover{text-decoration:underline}.ov-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);align-items:start}.ov-card{min-width:0}.ov-card--wide{grid-column:1 / -1}.ov-card .card__title h2{font-size:var(--fs-h4);font-weight:var(--fw-medium)}.ov-card .card__title{flex-wrap:wrap}.ov-empty{color:var(--muted-app);font-size:var(--fs-label);margin:var(--sp-2) 0}.ov-note{margin:var(--sp-2) 0 0;font-size:var(--fs-caption);color:var(--faint-app);line-height:1.5}.ov-legend{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-caption);white-space:nowrap}.ov-table-wrap{max-width:100%;overflow-x:auto}.ov-table th{font-weight:var(--fw-nav);color:var(--muted-app);font-size:var(--fs-caption);height:36px;border-bottom:1px solid var(--line-app)}.ov-table td{height:40px;border-bottom:1px solid var(--line-app)}.ov-table tbody tr:last-child td,.ov-table tbody tr:last-child th{border-bottom:0}.ov-table tbody tr.is-clickable:hover td{background:var(--row-active)}.ov-table tbody tr.is-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ov-ellipsis{max-width:180px;overflow:hidden;text-overflow:ellipsis}.ov-stuck{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:4px}.ov-stuck__phase{grid-row:1;font-size:var(--fs-caption);color:var(--muted-app);letter-spacing:var(--ls-eyebrow);padding:0 2px 4px;border-bottom:1px solid var(--line-app)}.ov-stuck__cell{grid-row:2;display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0;padding:8px 4px 6px;border:0;border-radius:var(--r-md);background:var(--surface-hi2);color:inherit;font:inherit;text-align:center;cursor:pointer;transition:var(--transition-colors)}.ov-stuck__cell:hover:not(:disabled){background:var(--accent-soft)}.ov-stuck__cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ov-stuck__cell:disabled{cursor:default}.ov-stuck__no{font-size:10.5px;color:var(--faint-app)}.ov-stuck__n{font-family:var(--font-mono);font-size:20px;line-height:1.15;color:var(--text-strong);font-variant-numeric:tabular-nums}.ov-stuck__cell.is-zero .ov-stuck__n{color:var(--inactive)}.ov-stuck__od{font-size:11px;color:var(--danger);font-weight:var(--fw-medium);white-space:nowrap}.ov-stuck__od.is-none{color:var(--inactive);font-weight:var(--fw-regular)}.ov-stuck__bar{display:block;height:3px;border-radius:2px;background:var(--fill);overflow:hidden;margin:2px 2px 0}.ov-stuck__bar>span{display:block;height:100%;width:var(--h, 0%);background:var(--accent);border-radius:2px}.ov-stuck__cell.is-bad .ov-stuck__bar>span{background:var(--danger)}.ov-stuck__name{font-size:10.5px;line-height:1.3;color:var(--muted-app);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;min-height:2.6em}.ov-trend{display:block;width:100%;height:auto;max-height:220px}.ov-trend__axis{stroke:var(--line-app-strong);stroke-width:1}.ov-trend__rect{fill:var(--accent)}.ov-trend__hit{fill:transparent}.ov-trend__bar.is-clickable{cursor:pointer}.ov-trend__bar.is-clickable:hover .ov-trend__rect{fill:var(--accent-hover)}.ov-trend__bar.is-clickable:hover .ov-trend__hit{fill:var(--bg-tint)}.ov-trend__bar:focus-visible{outline:none}.ov-trend__bar:focus-visible .ov-trend__hit{fill:var(--accent-soft)}.ov-trend__val{font-family:var(--font-mono);font-size:11px;fill:var(--text-2)}.ov-trend__month{font-size:12px;fill:var(--muted-app)}.ov-trend__rate{font-family:var(--font-mono);font-size:12px;fill:var(--text-strong)}.ov-trend__rate.is-bad{fill:var(--danger)}.pill__x{border:0;background:transparent;color:inherit;padding:0 0 0 4px;font:inherit;cursor:pointer;line-height:1}@media(max-width:960px){.ov-head{margin-bottom:var(--sp-5)}.ov-eyebrow{margin-bottom:var(--sp-2)}.ov-stats{grid-template-columns:minmax(0,1fr);margin-bottom:var(--sp-8)}.ov-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-3);row-gap:2px;align-items:center;padding:var(--sp-3) var(--sp-4)}.ov-stat__label{grid-column:1;grid-row:1;margin-top:0}.ov-stat__sub{grid-column:1;grid-row:2;margin-top:0}.ov-stat__value{grid-column:2;grid-row:1 / span 2;font-size:var(--fs-title)}.ov-cols{grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}.ov-row{flex-wrap:wrap;row-gap:4px}.ov-row__main{flex-basis:calc(100% - 24px)}.ov-row__why{max-width:none;flex-basis:100%;text-align:left;white-space:normal;padding-left:19px}.ov-row--quote .ov-row__why,.ov-sec:not(#ov-attention) .ov-row__why{padding-left:0}.ov-grid{grid-template-columns:minmax(0,1fr);gap:var(--sp-3)}.ov-card--wide{grid-column:auto}.ov-stuck{grid-template-columns:repeat(6,minmax(0,1fr))}.ov-stuck__phase{display:none}.ov-stuck__cell{grid-row:auto!important;grid-column:auto!important}.ov-legend{display:none}}@media(max-width:600px){.analysis-export-head{flex-wrap:wrap;gap:var(--sp-3)}.analysis-export-head>.row{flex-wrap:wrap}}.tm .text-warn{color:var(--amber)}.tm-kpis{flex:0 0 auto;min-width:0}.tm .tm-kpis .tm-kpi{flex:0 0 auto;min-width:104px}.tm .tm-kpi .kpi__k{white-space:nowrap;overflow:visible;text-overflow:clip}.tm-viewbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.tm-count{font-size:var(--fs-label);color:var(--muted-app);font-variant-numeric:tabular-nums}.tm .dt-toolbar .tm-search{width:260px;max-width:100%;min-width:0}.tm td .dash{color:var(--faint-app)}.tm-who{display:inline-flex;align-items:center;gap:10px;min-width:0}.tm-who__txt{display:flex;flex-direction:column;min-width:0}.tm-case .mono{color:var(--muted-app);margin-right:2px}.tm-due{display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.tm-due .cell-sub{font-size:var(--fs-caption);color:var(--faint-app)}.tm-case .cell-main{font-weight:var(--fw-base);font-size:var(--fs-table);color:var(--text)}.tm-table{table-layout:auto}.tm-table thead th{font-weight:var(--fw-nav);color:var(--faint-app)}.tm-table th[scope=col].is-num{text-align:right}.tm-group th{padding:0!important;background:var(--surface-hi2);border-top:1px solid var(--line-app);border-bottom:1px solid var(--line-app)}.tm-table tbody:first-of-type .tm-group th{border-top:0}.tm-group__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:36px;padding:0 var(--sp-3) 0 var(--sp-1)}.tm-group__btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px 0 4px;border-radius:var(--r-md);background:none;color:var(--text-strong);font:inherit;font-size:var(--fs-label);font-weight:var(--fw-nav)}.tm-group__btn:hover{background:var(--row-active)}.tm-group__btn:focus-visible{outline:none;box-shadow:0 0 0 1.5px var(--focus-line)}.tm-group__caret{color:var(--icon);transition:transform var(--dur-fast) var(--ease)}.tm-group__btn[aria-expanded=false] .tm-group__caret{transform:rotate(-90deg)}.tm-group__stats{display:inline-flex;gap:var(--sp-3);font-size:var(--fs-caption);font-weight:var(--fw-regular);color:var(--muted-app);white-space:nowrap}.tm-group__stats b{font-weight:var(--fw-nav);color:var(--text-2)}.tm-group__stats .text-danger b,.tm-group__stats .text-danger{color:var(--danger)}.tm-row{outline:none}.tm-row:focus-visible td{box-shadow:inset 0 1px 0 var(--focus-line),inset 0 -1px 0 var(--focus-line)}.tm-row[aria-selected=true] td{background:var(--accent-soft);box-shadow:none}.tm tbody tr.is-dim td{color:var(--faint-app)}.tm tbody tr.is-dim .cell-main{color:var(--muted-app);font-weight:var(--fw-base)}.tm tbody tr.is-dim .avatar{opacity:.6}.tm-mix{display:inline-flex;align-items:center;gap:6px}.tm-mix__cells{display:inline-grid;grid-auto-flow:column;grid-auto-columns:6px;gap:2px}.tm-mix__c{width:6px;height:12px;border-radius:1.5px;background:var(--fill)}.tm-mix__c.is-over{background:var(--danger)}.tm-mix__c.is-soon{background:var(--amber)}.tm-mix__c.is-other{background:var(--inactive)}.tm-mix__more{font-size:var(--fs-caption);color:var(--muted-app);font-variant-numeric:tabular-nums}.tm td[data-col=urgent]{width:38%;max-width:0}.tm-urgent{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.tm-urgent__main{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.tm-urgent .mono{color:var(--muted-app);margin-right:2px}.tm-urgent__due{flex:0 0 auto;margin-left:auto}.tm-scrim{display:none}.tm-panel__head{align-items:flex-start}.tm-panel__who{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.tm-panel__who .card__title{align-items:center;flex-wrap:wrap}.tm .tm-panel__close{display:none}.tm-panel__kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:8px 0 4px;background:var(--line-app);border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line-app-strong);overflow:hidden}.tm-pk{display:flex;flex-direction:column;gap:1px;padding:8px 10px;background:var(--surface-hi);min-width:0}.tm-pk__v{font-size:var(--fs-title);font-variant-numeric:tabular-nums;color:var(--text-strong);line-height:1.3}.tm-pk__k{font-size:11px;color:var(--muted-app);white-space:nowrap}.tm-pk.is-bad .tm-pk__v{color:var(--danger)}.tm-pk.is-warn .tm-pk__v{color:var(--amber)}.tm-case-group{padding:6px 0 2px}.tm-case-group+.tm-case-group{border-top:1px solid var(--line-app)}.tm-case-group__h{display:flex;align-items:baseline;gap:6px;margin:4px 0 2px;padding:0 var(--sp-1);font-size:var(--fs-label);font-weight:var(--fw-nav);color:var(--text-strong);min-width:0}.tm-case-group__h .mono{color:var(--muted-app);font-weight:var(--fw-base)}.tm-case-group__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-case-group__n{flex:0 0 auto;font-size:var(--fs-caption);color:var(--faint-app);font-weight:var(--fw-regular)}.tm-tasks{list-style:none;margin:0;padding:0}.tm-task{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:44px;padding:6px var(--sp-1);border:0;border-radius:var(--r-md);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:var(--transition-colors)}.tm-task:hover{background:var(--row-active)}.tm-task:hover .tm-task__title{color:var(--accent)}.tm-task:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--focus-line)}.tm-task__main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.tm-task__title{font-size:var(--fs-label);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-task__title .mono{color:var(--faint-app);margin-right:2px}.tm-task__sub{font-size:var(--fs-caption);color:var(--muted-app)}.tm-task__due{flex:0 0 auto}@media(max-width:1100px){.tm-layout.page-with-panel{display:block}.tm-scrim{display:block;position:fixed;inset:0;z-index:958;border:0;padding:0;background:#14141452;cursor:pointer}.tm-layout>.tm-panel.inspector{position:fixed;inset:auto 0 0;z-index:960;max-height:85dvh;overflow-y:auto;padding:4px var(--sp-4) env(safe-area-inset-bottom);background:var(--surface-hi);border-radius:16px 16px 0 0;box-shadow:var(--shadow-float)}.tm-panel .sp-toggle{display:none}.tm-panel.inspector:not(.is-collapsed)>.card:first-of-type .card__head{padding-right:0}.tm .tm-panel__close{display:inline-flex}.tm-panel .card__head{position:sticky;top:-4px;background:var(--surface-hi);z-index:1}}@media(max-width:960px){.tm-kpis{flex:1 1 100%}.tm .tm-kpis .tm-kpi{flex:1 1 0;min-width:0}}@media(max-width:600px){.tm .dt--stack tbody tr.tm-group{display:block;padding:0;border-bottom:0}.tm .dt--stack tbody tr.tm-group th{display:block}.tm .dt--stack thead{display:none}.tm .dt--stack tbody tr{grid-template-columns:auto auto minmax(0,1fr) auto;column-gap:var(--sp-4)}.tm .dt--stack td[data-col=member]{grid-column:1 / 4;grid-row:1}.tm .dt--stack td[data-col=status]{grid-column:4;grid-row:1;text-align:right}.tm .dt--stack td[data-col=open]{grid-column:1;grid-row:2;text-align:left;font-size:var(--fs-caption);color:var(--muted-app)}.tm .dt--stack td[data-col=overdue]{grid-column:2;grid-row:2;text-align:left;font-size:var(--fs-caption);color:var(--muted-app)}.tm .dt--stack td[data-col=open]:before{content:"未完成 "}.tm .dt--stack td[data-col=overdue]:before{content:"逾期 "}.tm .dt--stack td[data-col=urgent]{grid-column:1 / -1;grid-row:3;width:auto;max-width:none}.tm .dt--stack td[data-col=urgent] .dash{display:none}.tm .dt--stack td[data-col=status]:empty{display:none}.tm-group__stats{gap:var(--sp-2)}.tm .dt--stack td[data-col=case]{grid-column:1 / 4;grid-row:1}.tm .dt--stack td[data-col=due]{grid-column:4;grid-row:1;text-align:right;font-size:var(--fs-caption)}.tm .dt--stack td[data-col=node]{grid-column:1 / 4;grid-row:2;font-size:var(--fs-caption);color:var(--muted-app)}.tm .dt--stack td[data-col=as]{grid-column:4;grid-row:2;text-align:right}.tm .dt--stack td[data-col=person]{grid-column:1 / -1;grid-row:3;font-size:var(--fs-caption)}.tm-viewbar .segmented{flex:1 1 auto}}.tm-escalated{align-self:flex-start;width:fit-content;margin-top:4px;color:var(--danger);background:var(--danger-soft);white-space:normal}.tm-node{display:flex;flex-direction:column;align-items:flex-start}.wa{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-6);min-width:0}.wa-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;overflow:hidden}.wa-kpi{display:flex;flex-direction:column;gap:7px;min-width:0;padding:16px;border:0;background:var(--surface-hi);text-align:left;color:var(--text);cursor:pointer}.wa-kpi+.wa-kpi{border-left:1px solid var(--line-app)}.wa-kpi:hover{background:var(--surface-hi2)}.wa-kpi__label{font-size:var(--fs-caption);color:var(--muted-app)}.wa-kpi__value{font-family:var(--font-mono);font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.wa-kpi__hint{font-size:11px;color:var(--faint-app)}.wa-export{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--fs-caption);color:var(--muted-app)}.wa-card{min-width:0}.wa-card .card__head{flex-wrap:wrap;gap:12px}.wa-card .card__title{flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.wa-card .card__title h2{font-size:16px;font-weight:var(--fw-medium)}.wa-card .card__sub,.wa-card .card__foot{white-space:normal;overflow-wrap:anywhere}.wa-card .card__foot{font-size:var(--fs-caption);line-height:1.5;color:var(--muted-app)}.wa-number,.wa-case{border:0;background:transparent;padding:4px 0;font:inherit;color:var(--link);cursor:pointer}.wa .wa-number,.wa .dt .wa-number{color:var(--link);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.wa .wa-number.text-danger{color:var(--danger)}.wa-number:hover,.wa-case:hover{text-decoration:underline}.wa-number:focus-visible,.wa-case:focus-visible,.wa-kpi:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.wa-case{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;white-space:normal;overflow-wrap:anywhere;max-width:100%}.wa-case .mono{font-size:var(--fs-caption)}.wa-detail{scroll-margin:75px}.analysis-page .ov-stuck__n{font-size:16px}.analysis-page .ov-head h1{font-size:var(--fs-heading)}@media(max-width:600px){.wa-summary{grid-template-columns:minmax(0,1fr)}.wa-kpi{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px;column-gap:8px}.wa-kpi+.wa-kpi{border-left:0;border-top:1px solid var(--line-app)}.wa-kpi__value{grid-column:2;grid-row:1 / 3;align-self:center}.wa-kpi__hint{grid-column:1}.wa .dt-wrap,.analysis-page #ov-pm .dt-wrap{overflow:visible}.wa .dt--stack tbody tr,.analysis-page #ov-pm .dt--stack tbody tr{grid-template-columns:minmax(0,1fr);padding:12px}.wa .dt--stack td,.analysis-page #ov-pm .dt--stack td{text-align:left;overflow-wrap:anywhere}.wa .dt--stack td.is-num{display:flex;justify-content:space-between;align-items:center;gap:8px}.wa .dt--stack td[data-col=count]:before{content:"案件數"}.wa .dt--stack td[data-col=amountNet]:before{content:"契約未稅合計"}.wa .dt--stack td[data-col=contractNet]:before{content:"契約未稅"}.wa .dt--stack td[data-col=days]:before{content:"完工天數"}.wa .dt--stack td[data-col="0-30"]:before{content:"0–30 天"}.wa .dt--stack td[data-col="31-60"]:before{content:"31–60 天"}.wa .dt--stack td[data-col="61-90"]:before{content:"61–90 天"}.wa .dt--stack td[data-col="90+"]:before{content:"90 天以上"}.wa .dt--stack td[data-col=unknownGross]:before{content:"日期未明"}.wa .dt--stack td[data-col=totalGross]:before{content:"應收合計"}.wa .dt--stack td[data-col=ageDays]:before{content:"帳齡"}.wa .dt--stack td[data-col=amountGross]:before{content:"開票含稅"}.wa .dt--stack td[data-col=paidAmount]:before{content:"已入帳"}.wa .dt--stack td[data-col=outstandingGross]:before{content:"應收未收"}.wa .dt--stack td.is-num:before{color:var(--muted-app);font-size:var(--fs-caption)}}@media(max-width:600px){.wa .dt--stack td[data-col=completedDate]:before{content:"成果提交日 ";color:var(--muted-app)}.wa .dt--stack td[data-col=invoiceDate]:before{content:"開票日 ";color:var(--muted-app)}.wa .dt--stack td[data-col=month]:before{content:"成案月份 ";color:var(--muted-app)}.wa .dt--stack td[data-col=clientName]:before{content:"業主 ";color:var(--muted-app)}.wa .dt--stack td[data-col=pmName]:before{content:"PM ";color:var(--muted-app)}.analysis-page #ov-pm .dt--stack td.is-num{display:flex;justify-content:space-between;gap:8px}.analysis-page #ov-pm .dt--stack td[data-col=active]:before{content:"進行中";color:var(--muted-app)}.analysis-page #ov-pm .dt--stack td[data-col=overdueNodes]:before{content:"逾期步驟";color:var(--muted-app)}.analysis-page #ov-pm .dt--stack td[data-col=contractTotal]:before{content:"契約總額";color:var(--muted-app)}.analysis-page #ov-pm .dt--stack td[data-col=avgRealMargin]:before{content:"平均真實毛利";color:var(--muted-app)}}.wa .wa-case .mono{color:var(--link)}.logs-page{min-width:0}.logs-head{align-items:center;gap:16px}.logs-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.logs-toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.logs-toggle input{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.logs-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-hi)}.logs-filters label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;color:var(--ink-2)}.logs-filters .input,.logs-filters .select{width:100%;min-width:0;height:40px}.logs-chips{grid-column:1 / -1;padding-top:14px;border-top:1px solid var(--line-app)}.logs-clear{flex:0 0 auto}.logs-page .logs-filter-toggle{display:none}.logs-date-error{color:var(--danger);grid-column:1 / -1;margin:0;font-size:13px}.logs-result-head{display:flex;justify-content:space-between;gap:12px;padding:24px 0 12px;font-size:13px}.logs-column-head,.logs-entry summary{display:grid;grid-template-columns:140px 180px minmax(0,1fr) 112px 20px;align-items:center;gap:20px;padding:14px 16px}.logs-column-head{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.logs-entry{border-bottom:1px solid var(--line)}.logs-entry summary{cursor:pointer;list-style:none;font-size:14px}.logs-entry summary::-webkit-details-marker{display:none}.logs-entry summary:hover,.logs-entry[open] summary{background:var(--surface)}.logs-entry summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-md)}.logs-at{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.logs-at span{display:block;color:var(--ink-2);margin-top:3px}.logs-case{display:flex;flex-direction:column;gap:4px;min-width:0}.logs-case-no{font-variant-numeric:tabular-nums;width:fit-content;font-size:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 6px}.logs-case-name{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-summary,.logs-values,.logs-note,.logs-field{overflow-wrap:anywhere;min-width:0}.logs-action{font-size:12px;color:var(--ink-2)}.logs-expand{color:var(--muted);transition:transform var(--dur-fast)}.logs-entry[open] .logs-expand{transform:rotate(45deg)}.logs-detail{padding:20px 24px 24px;background:var(--surface);border-top:1px solid var(--line)}.logs-detail h2{font-size:13px;margin:0 0 12px}.logs-changes{list-style:none;padding:0;margin:0}.logs-changes li{display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:20px;padding:8px 0;font-size:13px;border-bottom:1px solid var(--line)}.logs-field,.logs-before{color:var(--muted)}.logs-values{white-space:pre-wrap}.logs-arrow{color:var(--muted);padding:0 6px}.logs-note{margin:16px 0 0;white-space:pre-wrap;font-size:13px}.logs-note>span{color:var(--muted)}.logs-footer{margin-top:16px}@media(max-width:1100px){.logs-column-head,.logs-entry summary{grid-template-columns:112px 136px minmax(0,1fr) 88px 16px;gap:12px;padding-left:8px;padding-right:8px}}@media(max-width:700px){.logs-head{align-items:flex-start;flex-direction:column}.logs-head .sub{line-height:1.6}.logs-scope{margin-bottom:12px}.logs-page .logs-filter-toggle{display:flex;width:100%;justify-content:space-between;margin-bottom:12px;min-height:44px}.logs-filters{display:none;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px 12px}.logs-filters.is-open{display:grid}.logs-case-filter{grid-template-columns:1fr}.logs-keyword{grid-column:1 / -1}.logs-clear{grid-column:1 / -1;justify-self:stretch}.logs-column-head{display:none}.logs-entries{display:flex;flex-direction:column;gap:12px}.logs-entry{border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.logs-entry summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px}.logs-at{grid-column:1;grid-row:1}.logs-at span{display:inline;margin:0 0 0 4px}.logs-action{grid-column:2;grid-row:1}.logs-case{grid-column:1 / -1;grid-row:2}.logs-case-name{white-space:normal}.logs-summary{grid-column:1;grid-row:3}.logs-expand{grid-column:2;grid-row:3;justify-self:end}.logs-detail{padding:16px}.logs-changes li{grid-template-columns:1fr;gap:4px}}.logs-scope{justify-content:flex-start}.logs-scope .note{margin-left:auto}.logs-ico{display:inline-block;width:16px;margin-right:6px;text-align:center;color:var(--faint-app, var(--muted))}.logs-ico.is-ok{color:var(--green)}.logs-ico.is-bad{color:var(--danger)}.logs-summary .log-row__muted{color:var(--muted)}.logs-fail{margin-left:8px;white-space:nowrap;vertical-align:1px}.logs-detail .log-tech{margin-top:16px}@media(max-width:700px){.logs-scope .note{margin-left:0}}.invoice-list{min-width:0;color:var(--ink)}.invoice-page-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.invoice-eyebrow{font-size:12px;color:var(--muted);letter-spacing:.06em;margin:0 0 8px}.invoice-page-head h1{font-size:28px;font-weight:var(--fw-medium);letter-spacing:-.01em;margin:0}.invoice-intro{font-size:13px;color:var(--muted);margin:8px 0 0}.invoice-export.btn-primary{gap:8px;flex-shrink:0}.invoice-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-app);border-radius:var(--r-xl);box-shadow:0 0 0 1px var(--line-app-strong);overflow:hidden}.invoice-stat{background:var(--surface-hi);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;min-width:0}.invoice-stat-label{color:var(--muted);font-size:var(--fs-label)}.invoice-stat-value{font-size:var(--fs-heading);font-weight:var(--fw-medium);line-height:1.3;font-variant-numeric:tabular-nums;margin:2px 0 4px;overflow-wrap:anywhere}.invoice-stat-note{font-size:11px;color:var(--muted);display:flex;gap:5px;align-items:center;flex-wrap:wrap}.invoice-summary-note{margin:17px 0 30px;font-size:11px;color:var(--muted);line-height:1.7}.invoice-filters{border-top:1px solid var(--line);padding-top:22px}.invoice-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-bottom:12px;color:var(--muted);font-size:12px}.invoice-filter-row.fbar__chips{gap:6px;margin-bottom:18px}.invoice-filters .invoice-search{width:280px;max-width:100%;height:32px;border-radius:var(--r-full);background-color:var(--surface-hi2);border-color:transparent}.invoice-filters .invoice-search:focus{background-color:var(--surface-hi);border-color:var(--focus-line)}.invoice-month .input{width:150px;height:32px;font-size:var(--fs-label)}.invoice-month-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.invoice-month-actions button{color:var(--ink);font-size:12px;background:transparent;border:0;padding:2px 0;cursor:pointer}.invoice-month-actions button:hover{text-decoration:underline;text-underline-offset:3px}.invoice-date-hint{font-size:11px}.invoice-results-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:24px 0 12px;color:var(--muted);font-size:12px}.invoice-results-head>:first-child{color:var(--ink)}.invoice-table-wrap{border-top:1px solid var(--line-strong)}.invoice-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.invoice-table th{font-weight:450;font-size:11px;color:var(--muted);text-align:left;padding:12px 6px;background:none;border-bottom:1px solid var(--line)}.invoice-table th>span{display:block;margin-top:3px;color:var(--faint);font-size:10px}.invoice-table td{padding:17px 6px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.invoice-table th:first-child,.invoice-table td:first-child{padding-left:0}.invoice-table th:last-child,.invoice-table td:last-child{padding-right:0}.invoice-table tbody tr{cursor:pointer;transition:background .15s}.invoice-table tbody tr:hover{background:var(--bg-paper)}.invoice-table .invoice-number{text-align:right;font-variant-numeric:tabular-nums}.invoice-cell-sub{display:block;margin-top:5px;color:var(--muted);font-size:11px}.invoice-date{font-variant-numeric:tabular-nums;font-size:11px;letter-spacing:-.025em}.invoice-reference{font-variant-numeric:tabular-nums}.invoice-cases{display:flex;flex-direction:column;gap:10px;min-width:0}.invoice-cases a{display:flex;flex-direction:column;gap:5px;color:var(--ink);text-decoration:none;min-width:0}.invoice-cases a:hover .invoice-case-name{text-decoration:underline;text-underline-offset:3px}.invoice-case-number{align-self:flex-start;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.025em;color:var(--muted);padding:1px 5px;border-radius:4px;background:var(--surface);overflow-wrap:anywhere}.invoice-case-name{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.invoice-old{font-size:10px;margin-right:5px;color:var(--muted)}.invoice-age{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;font-variant-numeric:tabular-nums}.invoice-list .is-overdue{color:var(--danger)}.invoice-overdue-dot{width:6px;height:6px;display:inline-block;flex-shrink:0;background:var(--danger);border-radius:50%}.invoice-status-stack{display:flex;align-items:flex-start;flex-direction:column;gap:6px}.invoice-status{display:inline-block;font-size:11px;border-radius:5px;background:var(--surface);color:var(--muted);padding:3px 7px;white-space:nowrap}.invoice-status[data-status=待計價],.invoice-status[data-status=審批中]{color:var(--amber);background:var(--amber-soft)}.invoice-status[data-status=已開票],.invoice-status[data-status=已計價]{color:var(--link);background:var(--accent-soft)}.invoice-status[data-status=已入帳]{color:var(--green);background:var(--green-soft)}.invoice-approval{font-size:10px;color:var(--muted);line-height:1.6}.invoice-feedback,.invoice-footnote{font-size:11px;color:var(--muted);line-height:1.8}.invoice-footnote{margin:20px 0 0}.invoice-cards,.invoice-mobile-toolbar{display:none}.invoice-list :is(button,a):focus-visible{outline:2px solid var(--focus-line);outline-offset:3px}.invoice-table tbody tr:focus-visible,.invoice-card:focus-visible{outline:2px solid var(--focus-line);outline-offset:-2px;background:var(--bg-paper)}@media(max-width:1200px){.invoice-table-wrap{display:none}.invoice-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.invoice-card{border:1px solid var(--line-strong);border-radius:12px;padding:18px;min-width:0;cursor:pointer}.invoice-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invoice-card .invoice-case-name{font-size:14px}.invoice-card .invoice-status-stack{flex-shrink:0;align-items:flex-end}.invoice-card-stage{margin:14px 0;color:var(--muted);font-size:12px}.invoice-card-money{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.invoice-card-money>div{min-width:0;display:flex;flex-direction:column;gap:4px}.invoice-card-money>div>span:first-child{color:var(--muted);font-size:11px}.invoice-card-money strong{font-size:23px;font-weight:450;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.invoice-card-money small{color:var(--muted);font-size:11px}.invoice-card-age{text-align:right;flex-shrink:0;padding-bottom:2px}.invoice-card-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:13px;margin-top:18px;color:var(--muted);font-size:11px}.invoice-card-foot a{color:var(--ink)}}@media(max-width:960px){.invoice-page-head{align-items:flex-start;gap:12px;margin-bottom:25px}.invoice-page-head h1{font-size:24px}.invoice-intro{max-width:32ch;font-size:12px}.invoice-export.btn-primary{padding:0 11px;font-size:12px;min-height:36px;margin-top:25px}.invoice-stat{padding:var(--sp-2) var(--sp-3)}.invoice-stat-value{font-size:var(--fs-title)}.invoice-summary-note{margin-bottom:20px}.invoice-mobile-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}.invoice-mobile-toolbar button{gap:12px}.invoice-mobile-toolbar button.is-active{background:var(--accent-soft);color:var(--accent)}.invoice-filters{display:none;padding:18px 0 0;border:0}.invoice-filters.is-open{display:block}.invoice-results-head{margin-top:20px}}@media(max-width:600px){.invoice-stats{grid-template-columns:minmax(0,1fr)}.invoice-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding:var(--sp-3) var(--sp-4)}.invoice-stat-label{align-self:center;font-size:12px}.invoice-stat-value{margin:0;font-size:var(--fs-title);grid-row:1 / 3;grid-column:2;align-self:center;text-align:right;max-width:210px}.invoice-stat-note{font-size:10px;margin-top:4px;line-height:1.6}.invoice-summary-note{font-size:10px;margin-top:5px}.invoice-cards{grid-template-columns:minmax(0,1fr);gap:12px}.invoice-status-tabs.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;padding:2px}.invoice-status-tabs .segmented__item{justify-content:space-between}.invoice-date-hint,.invoice-filters .invoice-search{width:100%}}.dh-page{max-width:1320px;margin:auto;padding:32px}.dh-header,.dh-actions,.dh-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dh-header h1{font-size:32px;font-weight:450;margin:12px 0}.dh-header p,.dh-muted{color:var(--muted-app)}.dh-eyebrow{font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.04em;color:var(--muted-app)}.dh-meta{display:flex;flex-wrap:wrap;gap:12px 28px;border-block:1px solid var(--line-app);padding:20px 0;margin:24px 0 16px;font-size:13px}.dh-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.dh-card{border:1px solid var(--line-app-strong);border-radius:12px;padding:24px;background:var(--surface-hi);min-width:0;overflow-wrap:anywhere}.dh-card h2{font-size:18px;font-weight:450;margin:16px 0 12px}.dh-card p{font-size:14px;line-height:1.75}.dh-card h3{font-size:14px;font-weight:600;margin-top:20px}.dh-role-warning{border-inline-start:3px solid var(--line-app-strong);padding-inline-start:12px}.dh-role-names{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.dh-role-names li,.dh-role-names button{max-width:100%}.dh-role-names button{overflow-wrap:anywhere;text-align:start}.dh-count{font-family:var(--font-mono, monospace);font-size:28px;font-variant-numeric:tabular-nums}.dh-count small{font-size:12px;color:var(--muted-app)}.dh-card summary{border-top:1px solid var(--line-app);padding:16px 0;cursor:pointer;font-size:14px}.dh-rows{list-style:none;padding:0;margin:0;max-height:420px;overflow-y:auto}.dh-rows li{border-top:1px solid var(--line-app)}.dh-rows dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;font-size:13px}.dh-rows dt{color:var(--muted-app)}.dh-rows dd{margin:0;white-space:pre-wrap}.dh-page button{min-height:36px;border:1px solid var(--line-app-strong);border-radius:9px;padding:8px 12px;background:var(--surface-hi2);cursor:pointer}.dh-page button:disabled{opacity:.5;cursor:default}@media(max-width:700px){.dh-page{padding:20px 16px}.dh-grid{grid-template-columns:minmax(0,1fr)}.dh-card{padding:20px}.dh-header h1{font-size:28px}}.dh-page .dh-unverified{color:var(--muted-app)}.dh-schema-check{margin:12px 0}.dh-schema-check p{margin:4px 0;font-size:12px}.dh-subscribe{border:1px solid var(--line-app);border-radius:12px;padding:16px 20px;margin:0 0 20px;background:var(--surface-hi)}.dh-subscribe-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.dh-subscribe-head h2{margin:0 0 4px;font-size:15px;font-weight:500}.dh-subscribe-head p{margin:0}.dh-subscribe-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dh-subscribe-list li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px}.rm-page{min-width:0}.rm-page .page-head h1{font-size:var(--fs-display)}.rm-summary{margin-bottom:var(--sp-6)}.rm-kpis{--cols: 3;border-radius:0;border:0;gap:0}.rm-kpis .kpi{padding:14px 16px;border-top:0}.rm-kpis .kpi+.kpi{border-left:1px solid var(--line-app)}.rm-kpis .kpi__v{font-size:var(--fs-title)}.rm-export-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.rm-export-bar p{margin:0;color:var(--muted-app);font-size:var(--fs-label)}.rm-export-bar button{flex-shrink:0}.rm-filter{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted-app);font-size:var(--fs-label)}.rm-page .rm-filter .input{width:130px}.rm-case-link{color:var(--link)}.rm-confidence{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.rm-meter{width:60px;height:4px;overflow:hidden;border-radius:var(--r-full);background:var(--fill)}.rm-meter>span{display:block;height:100%;background:var(--accent)}.rm-confidence--medium .rm-meter>span{background:var(--amber)}.rm-confidence--low .rm-meter>span{background:var(--danger)}.rm-confidence--none .rm-meter>span{background:var(--faint-app)}.rm-reasons{margin:0;padding-left:16px;line-height:1.6}.rm-candidates{margin-top:6px;font-size:var(--fs-small);color:var(--muted-app)}.rm-candidates summary{cursor:pointer}.rm-candidates ul{padding-left:16px}.rm-page td{overflow-wrap:anywhere}@media(max-width:600px){.rm-page .page-head>button,.rm-export-bar>button{width:100%}.rm-page .rm-kpis{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important}.rm-page .rm-kpis .kpi{min-width:0;padding:12px 8px}.rm-page .rm-kpis .kpi__k{white-space:normal}.rm-confidence{align-items:flex-start}.rm-page td[data-col=confidence]{text-align:left}.rm-page td[data-col=projectNo]:before{content:"工程編號原文：";color:var(--muted-app);font-size:var(--fs-caption)}.rm-page td[data-col=suggestion]:before{content:"建議案件：";color:var(--muted-app);font-size:var(--fs-caption)}.rm-page td[data-col=confidence]:before{content:"信心";color:var(--muted-app);font-size:var(--fs-caption)}}.dc-page{max-width:1320px;min-width:0}.dc-head{flex-wrap:wrap;gap:16px;align-items:center}.dc-eyebrow{font:11px var(--font-code);letter-spacing:.06em;color:var(--muted-app)}.dc-head h1{margin-top:8px}.dc-source{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--muted-app);font-size:12px}.dc-note{margin:12px 0 20px;color:var(--muted-app);font-size:12.5px;line-height:1.8}.dc-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line-app-strong);border-radius:10px;background:var(--surface-hi);padding:14px 0;margin-bottom:24px}.dc-kpis>div{display:flex;flex-direction:column;gap:4px;padding:0 16px}.dc-kpis>div+div{border-left:1px solid var(--line-app)}.dc-kpis strong,.dc-count{font:500 16px var(--font-code);font-variant-numeric:tabular-nums}.dc-kpis span{color:var(--muted-app);font-size:11px}.dc-groups{display:grid;gap:16px}.dc-card{min-width:0;border:1px solid var(--line-app-strong);border-radius:12px;background:var(--surface-hi);overflow-wrap:anywhere}.dc-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:14px 18px;border-bottom:1px solid var(--line-app)}.dc-card h2{font-size:16px;font-weight:500;line-height:1.5}.dc-count{white-space:nowrap}.dc-count small{font:11px var(--font-sans);color:var(--muted-app)}.dc-card-body{padding:16px 18px;min-width:0}.dc-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 16px}.dc-guidance dt{color:var(--muted-app);font-size:11px;margin-bottom:6px}.dc-guidance dd{margin:0;font-size:13px;line-height:1.7}.dc-card details{min-width:0}.dc-card summary{cursor:pointer;font-size:13px;font-weight:500;padding:10px 0}.dc-card summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.dc-detail-count{margin-left:12px;color:var(--muted-app);font:11px var(--font-code)}.dc-card .dt-toolbar{padding-left:0;padding-right:0}.dc-card .dt-toolbar input{min-width:0;max-width:100%}.dc-card .dt{table-layout:fixed;width:100%}.dc-card .dt td .cell-main,.dc-card .dt td .cell-sub{display:block;white-space:normal;overflow:visible;max-width:none;overflow-wrap:anywhere}.dc-case-links{display:flex;flex-direction:column;gap:4px;margin-top:5px}.dc-case-links a{color:var(--link);font:12px var(--font-code)}.dc-check{display:flex;flex-direction:column;align-items:start;gap:4px;font-size:12.5px;cursor:pointer}.dc-check>span{display:flex;gap:7px;align-items:center}.dc-check input{accent-color:var(--accent);width:16px;height:16px}.dc-check small{font-size:11px;color:var(--muted-app);padding-left:23px}.dc-card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 18px;border-top:1px solid var(--line-app)}.dc-card-foot>span{color:var(--muted-app);font-size:12px}.dc-card-foot button{margin-left:auto}.dc-status{color:var(--muted-app);font-size:12px}@media(max-width:800px){.dc-guidance{grid-template-columns:minmax(0,1fr);gap:12px}}@media(max-width:600px){.dc-card-head,.dc-card-body,.dc-card-foot{padding-left:12px;padding-right:12px}.dc-card-head{align-items:start}.dc-card h2{font-size:15px}.dc-kpis>div{padding:0 10px}.dc-kpis span{font-size:10.5px}.dc-card .dt--stack tbody tr{padding:14px 10px;gap:10px}.dc-card .dt--stack td[data-col=table]{padding-bottom:7px!important;border-bottom:1px solid var(--line-app)!important}.dc-card .dt--stack td[data-col=action]:before{content:"建議動作";display:block;font-size:10.5px;color:var(--muted-app);margin-bottom:3px}.dc-card .dt--stack td[data-col=handled]{padding-top:4px!important}.dc-check{flex-direction:row;align-items:center;gap:12px}.dc-check small{padding-left:0}.dc-detail-count{display:block;margin:5px 0 0 16px}.dc-head .sub{line-height:1.7}}.np-page{max-width:1320px;min-width:0}.np-page .page-head{align-items:center;flex-wrap:wrap;gap:12px}.np-eyebrow{font-family:var(--font-code);font-size:11px;letter-spacing:.06em;color:var(--muted-app)}.np-page h1{margin-top:8px}.np-pill{display:inline-flex;align-items:center;min-height:22px;border-radius:5px;padding:2px 8px;background:var(--surface);color:var(--muted-app);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}.np-pill--danger{color:var(--danger);background:var(--danger-soft)}.np-controls{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:16px;border:1px solid var(--line-app-strong);border-radius:10px;background:var(--surface-hi)}.np-controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:0}.np-controls select,.np-controls input{width:100%;min-width:0;max-width:100%;height:36px;padding:6px 10px;border:1px solid var(--line-app-strong);border-radius:7px;background:var(--surface-hi);color:var(--text);font:inherit}.np-controls label:first-child{flex:1 1 240px}.np-controls label:nth-child(2){flex:0 1 200px}.np-note{margin:12px 0 24px;color:var(--muted-app);font-size:12.5px;line-height:1.7}.np-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line-app-strong);border-radius:10px;padding:16px 0}.np-kpis>div{display:flex;flex-direction:column;gap:4px;padding:0 16px}.np-kpis>div+div{border-left:1px solid var(--line-app)}.np-kpis strong{font-family:var(--font-code);font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.np-kpis span{color:var(--muted-app);font-size:10.5px}.np-result-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0 12px}.np-result-head h2{font-size:15px;font-weight:500}.np-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.np-card{min-width:0;border:1px solid var(--line-app-strong);border-radius:12px;background:var(--surface-hi);overflow-wrap:anywhere}.np-card header{display:flex;align-items:start;flex-wrap:wrap;gap:12px;justify-content:space-between;min-height:56px;padding:14px 16px;border-bottom:1px solid var(--line-app)}.np-card header>div{flex:1 1 220px;min-width:0}.np-card h3{font-size:15px;line-height:1.5;font-weight:500}.np-card header p{margin:4px 0 0;font-size:12.5px;color:var(--muted-app)}.np-card-body{padding:16px}.np-card-body p{margin:0;font-size:13px;line-height:1.8;white-space:pre-wrap}.np-card footer{border-top:1px solid var(--line-app);padding:12px 16px}.np-source{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:11px var(--font-code);color:var(--muted-app)}.np-source a{color:var(--accent);border-radius:5px;padding:3px 6px;background:var(--accent-soft)}.np-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px;font-size:11px;color:var(--muted-app)}.np-button-label{border:1px solid var(--line-app-strong);border-radius:6px;padding:4px 8px;color:var(--text-2);background:var(--surface-hi2)}.np-empty{border:1px solid var(--line-app);border-radius:10px;padding:32px 16px;text-align:center}.np-empty h3{font-size:15px}.np-empty p{font-size:13px;color:var(--muted-app)}@media(max-width:850px){.np-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:500px){.np-controls{gap:12px}.np-controls label:nth-child(2){flex:1 1 100%}.np-controls button{width:100%}.np-eyebrow{font-size:10px}.np-page .page-head{margin-bottom:20px}}.np-modes{display:inline-flex;margin-bottom:16px}.np-modes button{font-size:13px}.np-delivery-state{margin:0 0 16px;font-size:12.5px;color:var(--muted-app);line-height:1.7}.np-digest-card{max-width:860px}.np-digest-section+.np-digest-section{margin-top:24px}.np-digest-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.np-digest-section h4{margin:0;font-size:13px;font-weight:500}.np-digest-section .cell-main,.np-digest-section .cell-sub{display:block}.np-digest-section .dt{table-layout:fixed;width:100%}.np-digest-section .dt td{overflow-wrap:anywhere}.np-digest-more{color:var(--muted-app);font-size:12px;margin-top:10px}.np-digest-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.np-digest-card footer .np-note{margin:0}.np-digest-cta{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;color:var(--surface-hi);background:var(--accent);border-radius:8px;font-size:13px;font-weight:500}@media(max-width:600px){.np-digest-card header>div{flex-basis:100%}.np-digest-section .dt--stack td[data-col=work]{white-space:normal}.np-digest-section .dt--stack td[data-col=dueDate]{font-size:12px;color:var(--muted-app);padding-top:0}.np-digest-section .dt--stack td[data-col=dueDate]:before{content:"期限 "}}.np-escalation{margin:0 0 24px;min-width:0}.np-escalation .card__head{flex-wrap:wrap;gap:10px}.np-escalation h2{font-size:16px;font-weight:500}.np-escalation .np-kpis{border:0;border-radius:0;border-bottom:1px solid var(--line-app)}.np-escalation .dt-wrap{border:0;border-radius:0}.np-escalation .dt{width:100%;table-layout:fixed}.np-escalation td{overflow-wrap:anywhere}.np-escalation .card__foot{padding:12px 16px}.np-escalation .card__note{white-space:normal;line-height:1.6}.np-task-name{display:flex;flex-direction:column}.np-task-name a{color:var(--link)}.np-recipients{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.np-recipients li{display:flex;align-items:center;justify-content:space-between;gap:8px}.np-recipients .np-pill{flex-shrink:0;letter-spacing:0}.np-pill--warn{color:var(--amber)}.np-escalation .dt td .cell-main,.np-escalation .dt td .cell-sub{white-space:normal;overflow:visible;text-overflow:clip;max-width:none}@media(max-width:600px){.np-escalation .dt--stack tbody tr{grid-template-columns:minmax(0,1fr) auto;gap:12px}.np-escalation .dt--stack td[data-col=task]{grid-column:1;grid-row:1}.np-escalation .dt--stack td[data-col=level]{grid-column:2;grid-row:1}.np-escalation .dt--stack td[data-col=reason]{grid-column:1 / -1;grid-row:2}.np-escalation .dt--stack td[data-col=recipients]{grid-column:1 / -1;grid-row:3}.np-escalation .dt--stack td[data-col=recipients]:before{content:"今天會提醒誰";display:block;margin-bottom:8px;color:var(--muted-app);font-size:11px}.np-escalation .np-kpis>div{padding:0 12px}}.ci-page{padding:24px}.ci-head{margin-bottom:24px}.ci-head .eyebrow{margin-bottom:8px;color:var(--muted);font-size:12px;letter-spacing:.04em}.ci-total{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.ci-total span{color:var(--muted)}.ci-tabs{display:inline-flex;gap:2px;padding:2px;margin-bottom:var(--sp-4);background:var(--surface);border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line-app)}.ci-tabs button{display:inline-flex;gap:8px;align-items:center;min-height:30px;border:0;border-radius:var(--r-md);padding:0 12px;background:transparent;color:var(--muted-app);font:inherit;font-size:var(--fs-label);font-weight:var(--fw-medium);cursor:pointer;transition:var(--transition-colors)}.ci-tabs button:hover{color:var(--text)}.ci-tabs button[aria-selected=true]{background:var(--surface-hi);color:var(--text-strong);box-shadow:0 0 0 1px var(--line-app-strong),var(--shadow-xs)}.ci-tabs button span{font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.ci-filters{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 0}.ci-search{flex:1;max-width:420px}.ci-search input{width:100%;min-height:36px;border-radius:var(--r-full);background:var(--bg-paper)}.ci-chips{flex:0 1 auto}.ci-table-wrap{width:100%}.ci-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}.ci-table th{text-align:left;background:transparent;color:var(--muted);font-weight:450;white-space:nowrap;padding:12px 8px;border-bottom:1px solid var(--line-strong)}.ci-table td{padding:15px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.ci-table th:first-child,.ci-table td:first-child{padding-left:0}.ci-table th:last-child,.ci-table td:last-child{padding-right:0}.ci-table .ci-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ci-name{min-width:160px;max-width:300px;overflow-wrap:anywhere}.ci-name strong{font-weight:500}.ci-name small{display:block;color:var(--muted);margin-top:4px;font-size:12px}.ci-inactive .ci-name strong{color:var(--muted)}.ci-actions{white-space:nowrap;text-align:right}.ci-actions .btn-sm{padding:4px 6px}.ci-status{color:var(--muted);white-space:nowrap;font-size:12px}.ci-status.is-active{color:var(--green)}.ci-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;color:var(--muted);font-size:12px}.ci-pagination>div{display:flex;align-items:center;gap:10px;white-space:nowrap}.ci-empty{color:var(--muted);text-align:center;padding:48px 16px;border-bottom:1px solid var(--line)}.ci-explainer{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 20px;max-width:820px}.ci-error{color:var(--danger);border:1px solid var(--danger);border-radius:var(--r-input);padding:12px;margin-bottom:16px;overflow-wrap:anywhere}.ci-duplicates{border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.ci-duplicate{display:grid;grid-template-columns:1fr 24px 1fr auto;gap:20px;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.ci-duplicate:last-child{border-bottom:0}.ci-duplicate-item{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.ci-duplicate-item>span,.ci-duplicate-item small{color:var(--muted);font-size:12px}.ci-duplicate-item strong{font-size:14px;font-weight:500}.ci-arrow{color:var(--muted)}.ci-duplicate-action{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.ci-duplicate-action>span{color:var(--muted);font-size:12px}.ci-dialog{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:24px;border:1px solid var(--line);border-radius:var(--r-card);color:var(--ink);background:var(--bg);overflow-y:auto}.ci-dialog::backdrop{background:#0a0a0a47}.ci-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.ci-dialog h2{font-size:20px;font-weight:500}.ci-dialog footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:24px}.ci-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.ci-form label,.ci-merge-field{display:flex;flex-direction:column;gap:8px;font-size:13px;min-width:0}.ci-form input,.ci-form textarea,.ci-merge-field select{width:100%;min-height:40px}.ci-wide{grid-column:1 / -1}@media(max-width:1200px)and (min-width:761px){.ci-table{font-size:12px}.ci-table th,.ci-table td{padding-left:5px;padding-right:5px}.ci-name{min-width:120px}.ci-actions{white-space:normal;min-width:60px}}@media(max-width:760px){.ci-page{padding:20px 16px}.ci-head{gap:16px}.ci-filters{flex-wrap:wrap;gap:8px}.ci-search{flex-basis:100%;max-width:none}.ci-table,.ci-table tbody{display:block}.ci-table thead{display:none}.ci-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 20px;padding:20px 0;border-bottom:1px solid var(--line)}.ci-table td{display:flex;flex-direction:column;gap:3px;padding:0;border:0;text-align:left;min-width:0}.ci-table td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:12px}.ci-table .ci-name{grid-column:1 / -1;max-width:none}.ci-table .ci-name:before{display:none}.ci-name strong{font-size:15px}.ci-table .ci-number{text-align:left}.ci-table .ci-actions{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:4px}.ci-actions .btn-sm{min-height:36px;padding:6px 8px;background:var(--surface)}.ci-pagination{align-items:flex-start}.ci-policy{display:block;margin-top:4px;max-width:160px}.ci-duplicate{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:12px;padding:16px;align-items:start}.ci-arrow{padding-top:28px}.ci-duplicate-action{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;margin-top:8px}.ci-dialog{padding:20px}}:root{color-scheme:light;--bg-app: #ffffff;--surface: #f2f2f2;--surface-hi: #ffffff;--surface-hi2: #f5f5f5;--row-active: #efefef;--fill: #e5e5e5;--line-app: #ebebeb;--line-app-strong: #e0e0e0;--focus-line: rgba(10, 10, 10, .5);--text: #171717;--text-strong: #0a0a0a;--text-2: #262626;--muted-app: #737373;--faint-app: #a1a1a1;--inactive: #d4d4d4;--icon: #8a8a8a;--icon-strong: #525252;--icon-dim: #b5b5b5;--accent: #056dff;--accent-hover: #3c86ff;--accent-ring: #045ede;--accent-soft: #eef4ff;--accent-light: #9db7ff;--accent-gradient: var(--accent);--link: #193cb8;--green: #009966;--green-soft: #e4f2e8;--amber: #bd6500;--amber-soft: #f7eddc;--danger: #c10007;--danger-soft: #fde7e4;--danger-gradient: var(--danger);--src-drawing: #3d63d6;--src-drawing-bg: #e7edff;--src-doc: #97621f;--src-doc-bg: #f7eddc;--src-wo: #6b4fd9;--src-wo-bg: #efe9ff;--src-mail: #b5381f;--src-mail-bg: #fde7e4;--src-series: #2e7a4b;--src-series-bg: #e4f2e8;--dot-1: #38bdf8;--dot-2: #a78bfa;--dot-3: #e879f9;--dot-4: #60a5fa;--dot-5: #4ade80;--bg: var(--surface-hi);--bg-paper: #f6f5f1;--bg-paper-2: #edebe5;--bg-stat: var(--surface-hi2);--bg-stone: #cdcac3;--bg-step: var(--fill);--bg-dark: #0c0c0c;--bg-dark-2: #1c1a18;--bg-tint: rgba(10, 10, 10, .06);--bg-tint-hover: rgba(10, 10, 10, .1);--bg-tint-strong: rgba(10, 10, 10, .16);--fg: var(--text-strong);--ink: var(--text);--ink-2: var(--text-2);--muted: var(--muted-app);--faint: var(--faint-app);--on-dark: #ffffff;--on-dark-75: rgba(255, 255, 255, .75);--on-dark-60: rgba(255, 255, 255, .6);--on-dark-45: rgba(255, 255, 255, .45);--on-dark-18: rgba(255, 255, 255, .18);--on-dark-10: rgba(255, 255, 255, .1);--line: var(--line-app);--line-strong: var(--line-app-strong);--line-ink: var(--text-strong);--line-focus: var(--focus-line);--hairline: var(--line-app);--status-active: var(--accent);--status-active-bg: var(--accent-soft);--status-done: var(--green);--status-done-bg: var(--green-soft);--status-overdue: var(--danger);--status-overdue-bg: var(--danger-soft);--status-warn: var(--amber);--status-warn-bg: var(--amber-soft);--status-na: var(--faint-app);--status-na-bg: var(--surface);--c-info: var(--status-active);--c-success: var(--status-done);--c-danger: var(--status-overdue);--c-warning: var(--status-warn);--font-sans: "Inter Var", Inter, Geist, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, -apple-system, sans-serif;--font-mono: var(--font-sans);--font-code: ui-monospace, "SF Mono", "Geist Mono", "IBM Plex Mono", Menlo, Consolas, monospace;--fw-regular: 400;--fw-base: 450;--fw-medium: 500;--fw-nav: 500;--fw-strong: 550;--fw-title: 600;--fs-caption: 12px;--fs-label: 13px;--fs-body: 14px;--fs-title: 16px;--fs-heading: 20px;--fs-display: 24px;--fs-sub: 12.5px;--fs-pill: 12px;--fs-stamp: 12px;--fs-kpi: 20px;--fs-h1: var(--fs-display);--fs-h2: var(--fs-heading);--fs-h3: var(--fs-title);--fs-h4: 15px;--fs-stat: 24px;--fs-body-lg: 15px;--fs-table: 13px;--fs-small: 12px;--fs-eyebrow: 11.5px;--fs-mono: 12.5px;--fs-chip: 12px;--lh-tight: 1.1;--lh-heading: 1.25;--lh-body: 1.55;--lh-dense: 1.45;--ls-heading: -.01em;--ls-display: -.02em;--ls-stat: -.02em;--ls-body: 0;--ls-eyebrow: .04em;--ls-pill: .06em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--page-x: 24px;--page-max: 1600px;--sheet-max: 880px;--nav-w: 240px;--panel-w: 360px;--sidebar-w: var(--panel-w);--topbar-h: 56px;--toolbar-h: 52px;--control-sm: 26px;--control-md: 36px;--control-lg: 40px;--control-h: var(--control-md);--control-h-sm: 28px;--control-h-lg: var(--control-lg);--row-h: 44px;--row-h-sub: 48px;--row-h-dense: 36px;--th-h: 44px;--nav-item-h: 34px;--step-h: 34px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-full: 999px;--r-xs: var(--r-sm);--r-index: var(--r-md);--r-btn: var(--r-lg);--r-btn-sm: var(--r-md);--r-input: var(--r-lg);--r-card: var(--r-xl);--r-pill: var(--r-full);--r-pill-status: var(--r-full);--r-float: var(--r-xl);--r-panel: var(--r-xl);--r-drop: 14px;--ring-line: 0 0 0 1px var(--line-app-strong);--ring-line-soft: 0 0 0 1px rgba(0, 0, 0, .06);--shadow-none: none;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 1px rgba(0, 0, 0, .03);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .07);--shadow-lg: 0 16px 40px -8px rgba(0, 0, 0, .16), 0 2px 8px rgba(0, 0, 0, .09);--shadow-btn-primary: none;--shadow-btn-secondary: none;--shadow-float: var(--ring-line), var(--shadow-lg);--shadow-card-float: var(--shadow-md);--shadow-btn-accent: var(--shadow-btn-primary);--ease: cubic-bezier(.2, 0, 0, 1);--ease-standard: var(--ease);--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur-base: .18s;--dur-move: .24s;--dur-reveal: .4s;--transition-colors: color var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);--z-topbar: 40;--z-dropdown: 50;--z-drawer: 60;--z-tooltip: 70;--bg-2: var(--surface);--fg-2: var(--muted);--fg-3: var(--faint);--c-active: var(--status-active);--c-active-bg: var(--status-active-bg);--c-done: var(--status-done);--c-done-bg: var(--status-done-bg);--c-overdue: var(--status-overdue);--c-overdue-bg: var(--status-overdue-bg);--c-warn: var(--status-warn);--c-warn-bg: var(--status-warn-bg);--c-na: var(--status-na);--c-na-bg: var(--status-na-bg);--font: var(--font-sans);--fs-section: var(--fs-h3);--fs-note: var(--fs-small);--sp: var(--sp-2);--gap-section: var(--sp-8);--max-w: 1280px}[data-theme=dark]{color-scheme:dark;--bg-app: #030303;--surface: #0b0b0b;--surface-hi: #0f0f0f;--surface-hi2: #171717;--row-active: #171717;--fill: #262626;--line-app: #262626;--line-app-strong: #333333;--focus-line: rgba(237, 237, 237, .5);--text: #f5f5f5;--text-strong: #fafafa;--text-2: #e5e5e5;--muted-app: #a1a1a1;--faint-app: #737373;--inactive: #525252;--icon: #7a7a7a;--icon-strong: #a1a1a1;--icon-dim: #5c5c5c;--accent: #045ede;--accent-soft: #1e40af38;--link: #51a2ff;--green: #4ade80;--green-soft: rgba(74, 222, 128, .14);--amber: #fbbf24;--amber-soft: rgba(251, 191, 36, .14);--danger: #ff6467;--danger-soft: rgba(255, 100, 103, .14);--bg-tint: rgba(255, 255, 255, .08);--bg-tint-hover: rgba(255, 255, 255, .12);--bg-tint-strong: rgba(255, 255, 255, .18);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--shadow-lg: 0 16px 40px -8px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .25)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 0ms;--dur-move: 0ms;--dur-reveal: 0ms}}@media(max-width:1439px){:root{--panel-w: 300px}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none}body{background:var(--bg-app);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-base);line-height:var(--lh-body);letter-spacing:var(--ls-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}img,svg,video,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}hr{border:0;border-top:1px solid var(--line-app)}:focus-visible{outline:2px solid var(--focus-line);outline-offset:2px}::selection{background:var(--accent-soft)}h1,h2,h3,h4{color:var(--text-strong);font-weight:var(--fw-medium);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);text-wrap:balance}h1{font-size:var(--fs-display)}h2{font-size:var(--fs-heading)}h3{font-size:var(--fs-title)}h4{font-size:var(--fs-label);color:var(--muted-app)}.display{font-size:var(--fs-display);letter-spacing:var(--ls-display);line-height:1.15}p{color:var(--text)}.lead{font-size:var(--fs-body-lg);color:var(--muted-app)}small,.small,.meta{font-size:var(--fs-caption);color:var(--muted-app);line-height:var(--lh-dense)}.muted{color:var(--muted-app)}.faint{color:var(--faint-app)}strong,b{font-weight:var(--fw-strong)}code,.mono{font-family:var(--font-mono);font-size:inherit;letter-spacing:0;font-variant-numeric:tabular-nums}.num,.tabular,.tabular-nums{font-variant-numeric:tabular-nums}.mono.faint,.mono.muted,.faint>.mono,.muted>.mono{font-size:var(--fs-caption)}.link,.link.mono,.mono.link{color:var(--link)}.eyebrow{display:block;font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);line-height:1.2;color:var(--muted-app)}.eyebrow--indexed{color:var(--text-2);font-variant-numeric:tabular-nums}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line-app-strong);margin-bottom:var(--sp-2)}.section-head h2{font-size:18px;font-weight:var(--fw-medium);display:flex;align-items:baseline;gap:8px}.section-head h2>.pill{height:auto;padding:0;background:none;box-shadow:none;color:var(--muted-app);font-size:var(--fs-label);font-weight:var(--fw-regular)}.section-head h2>.pill.pill--overdue{color:var(--danger)}.section-head h3{font-size:var(--fs-label);font-weight:var(--fw-medium)}.section-head>.eyebrow+h2,.section-head>.eyebrow+h3{margin-top:var(--sp-2)}.section-head__actions{display:flex;align-items:center;gap:var(--sp-2)}.section-head--ink{border-bottom-color:var(--line-ink)}.section+.section{margin-top:var(--sp-8)}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:var(--transition-colors)}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{min-height:var(--control-md);padding:0 var(--sp-3);border-radius:var(--r-btn);font-size:var(--fs-label);font-weight:var(--fw-nav);line-height:18px;border:0}.btn,.btn-secondary{background:var(--bg-tint);color:var(--text-strong);box-shadow:none}.btn:hover,.btn-secondary:hover{background:var(--bg-tint-hover)}.btn-primary,.btn.btn--primary{background:var(--accent);color:#fff;box-shadow:none}.btn-primary:hover,.btn.btn--primary:hover{background:var(--accent-hover)}.btn-ghost,.btn.btn--ghost{background:transparent;color:var(--muted-app);box-shadow:none}.btn-ghost:hover,.btn.btn--ghost:hover{background:var(--row-active);color:var(--text)}.btn-danger,.btn.btn--danger{background:var(--danger);color:#fff;box-shadow:none}.btn-danger:hover,.btn.btn--danger:hover{filter:brightness(1.08)}.btn-secondary.btn-danger,.btn-secondary.btn--danger{background:var(--bg-tint);color:var(--danger);box-shadow:none;filter:none}.btn-link,.btn.btn--link{min-height:0;padding:2px 0;border-radius:0;background:none;box-shadow:none;font-size:var(--fs-label);font-weight:var(--fw-nav);color:var(--link)}.btn-link:hover,.btn.btn--link:hover{text-decoration:underline;text-underline-offset:3px}.btn-link:after{content:"→";font-size:12px}.btn-link--plain:after,.btn.btn--link:after{content:none}:is(.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-link):disabled,:is(.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger)[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-sm,.btn.btn--sm{min-height:var(--control-sm);padding:0 10px;font-size:var(--fs-caption);border-radius:var(--r-btn-sm);line-height:16px}.btn-lg{min-height:var(--control-lg);padding:0 16px}.btn-block,.btn--full{width:100%;min-height:var(--control-lg)}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.btn-primary.btn-accent{background:var(--accent)}.btn-primary.btn-success{background:var(--accent);box-shadow:none}.btn-primary.btn-success:hover{background:var(--accent-hover)}.segmented,.chip-tabs{display:inline-flex;align-items:center;gap:2px;height:var(--control-md);padding:0 2px;border-radius:var(--r-lg);background:var(--surface);box-shadow:0 0 0 1px #0000000d;max-width:100%;overflow-x:auto}.segmented__item,.chip-tab{display:inline-flex;align-items:center;gap:6px;height:calc(var(--control-md) - 4px);padding:0 12px;border-radius:var(--r-md);color:var(--muted-app);font-size:var(--fs-label);font-weight:var(--fw-nav);white-space:nowrap;transition:var(--transition-colors)}.segmented__item:hover,.chip-tab:hover{color:var(--text);background:#0a0a0a08}.segmented__item:focus-visible,.chip-tab:focus-visible{outline:none;box-shadow:0 0 0 1.5px var(--focus-line)}.segmented__item:disabled{opacity:.45;cursor:default}.segmented__item[aria-selected=true],.segmented__item.is-active,.chip-tab[aria-selected=true],.chip-tab.is-active{background:var(--surface-hi);color:var(--text-strong);box-shadow:var(--ring-line),var(--shadow-sm)}.segmented__count,.chip-tab__count{font-size:var(--fs-caption);font-weight:var(--fw-regular);color:var(--faint-app);font-variant-numeric:tabular-nums}.segmented__item[aria-selected=true] .segmented__count,.segmented__item.is-active .segmented__count{color:var(--muted-app)}.segmented__item[aria-selected=true]:focus-visible,.segmented__item.is-active:focus-visible{box-shadow:var(--ring-line),0 0 0 2.5px var(--focus-line)}.segmented--compact{height:var(--control-sm);border-radius:var(--r-md)}.segmented--compact .segmented__item{height:calc(var(--control-sm) - 4px);padding:0 8px;font-size:var(--fs-caption);border-radius:var(--r-sm)}.pill{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);font-size:var(--fs-pill);font-weight:var(--fw-medium);letter-spacing:0;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.pill--accent,.pill--active{background:var(--accent-soft);color:var(--accent)}.pill--done,.pill--green{background:var(--green-soft);color:var(--green)}.pill--warn,.pill--amber,.pill--orange{background:var(--amber-soft);color:var(--amber)}.pill--overdue,.pill--danger{background:var(--danger-soft);color:var(--danger)}.pill--na,.pill--neutral{background:var(--surface);color:var(--muted-app)}.pill--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--line-app-strong);color:var(--muted-app)}.status,.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-pill-status);background:var(--surface);box-shadow:none;color:var(--text-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);line-height:1;white-space:nowrap}.status--active,.status--running,.status--processing,.badge--active{color:var(--accent);background:var(--accent-soft)}.status--done,.status--ready,.status--reviewed,.status--succeeded,.status--resolved,.badge--done{color:var(--green);background:var(--green-soft)}.status--overdue,.status--failed,.badge--overdue{color:var(--danger);background:var(--danger-soft)}.status--warn,.status--qualified,.badge--warn{color:var(--amber);background:var(--amber-soft)}.status--na,.badge--na{color:var(--faint-app);background:var(--surface)}.status--neutral,.badge--neutral{color:var(--text-2);background:var(--surface)}.badge--outline{color:var(--text);background:transparent;box-shadow:inset 0 0 0 1px var(--line-app-strong)}.badge--mono{height:22px;padding:0 8px}.status-text{font-size:var(--fs-caption);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.status-text--done{color:var(--green)}.status-text--active{color:var(--accent)}.status-text--overdue{color:var(--danger)}.status-text--warn{color:var(--amber)}.status-text--na,.status-text .sep{color:var(--faint-app)}.chip{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--r-md);background:var(--surface);box-shadow:none;font-size:var(--fs-caption);color:var(--text)}.src-chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:var(--r-pill);font-size:var(--fs-pill);font-weight:var(--fw-medium);white-space:nowrap;background:var(--surface);color:var(--muted-app)}.src-chip .mono{font-size:10.5px;opacity:.85}.src-chip--drawing{background:var(--src-drawing-bg);color:var(--src-drawing)}.src-chip--doc{background:var(--src-doc-bg);color:var(--src-doc)}.src-chip--wo{background:var(--src-wo-bg);color:var(--src-wo)}.src-chip--mail{background:var(--src-mail-bg);color:var(--src-mail)}.src-chip--series{background:var(--src-series-bg);color:var(--src-series)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--faint-app);flex:0 0 auto;vertical-align:middle}.dot--1{background:var(--dot-1)}.dot--2{background:var(--dot-2)}.dot--3{background:var(--dot-3)}.dot--4{background:var(--dot-4)}.dot--5{background:var(--dot-5)}.dot--active{background:var(--accent)}.dot--done{background:var(--green)}.dot--overdue{background:var(--danger)}.dot--warn{background:var(--amber)}.step{display:flex;align-items:center;gap:10px;min-height:var(--step-h);padding:0 6px;border-radius:var(--r-md);color:var(--text);font-size:var(--fs-label);text-align:left;width:100%}.step[data-clickable=true]{cursor:pointer}.step[data-clickable=true]:hover{background:var(--row-active)}.step__no{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 1px var(--line-app-strong);font-family:var(--font-mono);font-size:9.5px;font-weight:var(--fw-medium);color:var(--faint-app);line-height:1;font-variant-numeric:tabular-nums;background:var(--surface-hi)}.step__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint-app)}.step__meta{flex:0 0 auto;font-family:var(--font-mono);font-size:11px;color:var(--faint-app);font-variant-numeric:tabular-nums;white-space:nowrap}.step.is-done .step__no{box-shadow:0 0 0 1px #00996680;color:var(--green)}.step.is-done .step__label{color:var(--text-2)}.step.is-done .step__meta{color:var(--green)}.step.is-active .step__no{box-shadow:0 0 0 1.5px var(--accent);color:var(--accent);background:var(--accent-soft)}.step.is-active .step__label{color:var(--accent);font-weight:var(--fw-medium)}.step.is-active .step__meta{color:var(--accent)}.step.is-overdue .step__no{box-shadow:0 0 0 1.5px var(--danger);color:var(--danger);background:var(--danger-soft)}.step.is-overdue .step__label{color:var(--danger);font-weight:var(--fw-medium)}.step.is-overdue .step__meta{color:var(--danger)}.step.is-na .step__no{box-shadow:none;border:1px dashed var(--inactive);color:var(--inactive)}.step.is-na .step__label{text-decoration:line-through;color:var(--inactive)}.step-group{display:flex;flex-direction:column}.step-group__title{display:flex;justify-content:space-between;align-items:center;padding:10px 6px 4px;font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--muted-app)}.step-group__title .mono{color:var(--faint-app)}.segments{display:flex;align-items:center;gap:4px;width:100%}.segments__seg{flex:1 1 0;height:4px;border-radius:2px;background:var(--fill);min-width:0}.segments__seg.is-done{background:var(--accent)}.segments__seg.is-active{background:var(--accent-light)}.segments__seg.is-overdue{background:var(--danger)}.segments__seg.is-na{background:var(--fill);opacity:.5}.segments--mini{display:inline-flex;gap:2px;width:auto}.segments--mini .segments__seg{flex:0 0 6px;width:6px;height:3px;border-radius:1px}.segments--mini+.segments--mini{margin-left:6px}.kpi-grid{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:var(--sp-3) var(--sp-6);background:transparent;border-radius:0;box-shadow:none}.kpi{display:flex;flex-direction:column;gap:2px;padding:10px 0 0;background:transparent;border-top:1px solid var(--line-app-strong);min-width:0}.kpi__v{font-family:var(--font-mono);font-size:var(--fs-kpi);font-weight:var(--fw-base);letter-spacing:-.01em;color:var(--text-strong);line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi__v small{font-size:12px;letter-spacing:0;color:var(--faint-app);font-weight:var(--fw-regular)}.kpi__k{font-size:var(--fs-caption);color:var(--muted-app);line-height:1.35}.kpi.is-bad .kpi__v{color:var(--danger)}.kpi.is-warn .kpi__v{color:var(--amber)}.kpi.is-good .kpi__v{color:var(--green)}.kpi__meter{margin-top:4px}.kpi--link{color:inherit;cursor:pointer;transition:var(--transition-colors);text-align:left}.kpi--link:hover{border-top-color:var(--text-strong)}.kpi-grid.kpi-grid--card{display:flex;flex-wrap:nowrap;gap:1px;background:var(--line-app);border-radius:var(--r-xl);box-shadow:0 0 0 1px var(--line-app-strong);overflow:hidden}.kpi-grid--card .kpi{flex:1 1 0;min-width:0;border-top:0;padding:10px 14px;background:var(--surface-hi);gap:2px}.kpi-grid--card .kpi__v{font-size:var(--fs-title);line-height:1.3;letter-spacing:0}.kpi-grid--card .kpi__k{font-size:11px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-grid--card .kpi--link:hover{background:var(--surface-hi2)}@media(max-width:600px){.kpi-grid.kpi-grid--card{flex-wrap:wrap}.kpi-grid--card .kpi{flex:1 1 calc(25% - 1px)}.kpi-grid--card .kpi{padding:8px 10px}.kpi-grid--card .kpi__v{font-size:var(--fs-body)}}.meter{display:flex;align-items:center;gap:10px;max-width:360px}.meter__track{position:relative;flex:1 1 auto;height:6px;border-radius:var(--r-full);background:var(--fill);overflow:hidden}.meter__fill{position:absolute;left:0;top:0;height:100%;border-radius:var(--r-full);background:var(--accent);transition:width var(--dur-base) var(--ease)}.meter__fill.tone-low,.meter__fill.tone-full{background:var(--amber)}.meter__fill.tone-over{background:var(--danger)}.meter__fill.tone-done{background:var(--green)}.meter__fill.tone-faint{background:var(--inactive)}.meter__mark{position:absolute;top:-2px;width:1px;height:12px;background:var(--text-strong)}.meter__mark--dashed{width:0;border-left:1px dashed var(--text-strong);background:none}.meter__val{flex:0 0 auto;font-size:var(--fs-caption);color:var(--muted-app);font-variant-numeric:tabular-nums;white-space:nowrap}.meter__val.is-over{color:var(--danger)}.meter--sm .meter__track{height:3px}.meter--thin .meter__track{height:6px}.meter--full{max-width:none}.card{background:transparent;border-radius:0;box-shadow:none;padding:0;min-width:0}.card--paper{background:transparent}.card--flat{box-shadow:none;background:transparent}.card--float{background:var(--surface-hi);border-radius:var(--r-card);box-shadow:var(--shadow-float);padding:var(--sp-4)}.card--tight,.card--panel{padding:0}.card__head,.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:44px;padding:8px 0;border-bottom:1px solid var(--line-app-strong)}.card>.card__head,.card>.card__header{margin:0 0 var(--sp-3)}.card--panel>.card__head,.card--tight>.card__head,.card--panel>.card__header,.card--tight>.card__header{margin-bottom:0}.card__title{font-size:var(--fs-title);font-weight:var(--fw-medium);color:var(--text-strong);display:flex;align-items:baseline;gap:8px;min-width:0}.card__title h2,.card__title h3{font-size:inherit;font-weight:inherit}.card__sub{font-size:var(--fs-caption);color:var(--muted-app);font-weight:var(--fw-regular)}.card__aside{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.card__body{padding:var(--sp-3) 0}.card__body--flush{padding:0}.card__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:40px;padding:8px 0;border-top:1px solid var(--line-app);font-size:var(--fs-caption);color:var(--muted-app)}.card>.card__foot{margin:var(--sp-3) 0 0}.card__foot .mono{font-size:var(--fs-caption);color:var(--faint-app)}.card__note{font-size:var(--fs-caption);color:var(--muted-app)}.card__foot .button-row{margin-left:auto}.list-rows{display:flex;flex-direction:column}.list-row{display:flex;align-items:center;gap:var(--sp-3);min-height:52px;padding:10px var(--sp-1);border-top:1px solid var(--line-app)}.list-row:first-child{border-top:0}.list-row__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.list-row__title{color:var(--text-strong);font-weight:var(--fw-medium);font-size:var(--fs-body);display:flex;align-items:center;gap:6px}.list-row__sub{font-size:var(--fs-sub);color:var(--muted-app);overflow:hidden;text-overflow:ellipsis}.list-row__aside{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.list-row__time,.list-row__mono{flex:0 0 auto;font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums;white-space:nowrap}.list-row__time.is-overdue,.list-row__mono.is-overdue{color:var(--danger)}.list-row.is-me{background:var(--accent-soft)}.log-group{padding:20px var(--sp-1) 6px;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--muted-app);font-variant-numeric:tabular-nums}.log-row{display:grid;grid-template-columns:58px 16px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px var(--sp-1);border-bottom:1px solid var(--line-app);font-size:var(--fs-label);line-height:1.5}.log-row__at{font-family:var(--font-mono);font-size:10.5px;color:var(--faint-app);font-variant-numeric:tabular-nums;padding-top:3px;white-space:nowrap}.log-row__ico{font-size:13px;line-height:1.45;text-align:center;color:var(--faint-app)}.log-row__ico.is-ok{color:var(--green)}.log-row__ico.is-bad{color:var(--danger)}.log-row__ico.is-neutral{color:var(--faint-app)}.log-row__text{min-width:0;color:var(--text)}.log-row__text .actor{font-weight:var(--fw-medium);color:var(--text-strong)}.log-row__text .verb,.log-row__text .obj{color:var(--text-2)}.log-row__text .obj code{font-size:inherit;color:var(--text-strong);background:none;padding:0}.log-row__tail{display:flex;align-items:center;gap:6px;padding-top:1px}.log-row__diff{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:2px;font-size:var(--fs-sub);color:var(--muted-app)}.log-row__diff .k{color:var(--faint-app);margin-right:4px}.log-row__diff .before{color:var(--faint-app)}.log-row__diff .arrow{margin:0 5px;color:var(--faint-app)}.log-row__diff .after{color:var(--text-strong);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.log-row__note{margin-top:2px;font-size:var(--fs-sub);color:var(--muted-app)}.log-row__sentence{font-size:13px;color:var(--text);overflow-wrap:anywhere}.log-row__muted{color:var(--muted-app)}.log-row__fail{white-space:nowrap}.log-tech{margin-top:4px;font-size:var(--fs-caption);color:var(--muted-app)}.log-tech>summary{cursor:pointer;width:fit-content;color:var(--faint-app);list-style:none}.log-tech>summary::-webkit-details-marker{display:none}.log-tech>summary:before{content:"▸ "}.log-tech[open]>summary:before{content:"▾ "}.log-tech dl{display:grid;gap:4px;margin:6px 0 2px;padding:8px 10px;border-radius:var(--r-md);background:var(--surface)}.log-tech dl>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}.log-tech dt{color:var(--faint-app)}.log-tech dd{margin:0;font-family:var(--font-code);font-size:11px;color:var(--text-2);overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:700px){.log-tech dl>div{grid-template-columns:1fr;gap:0}}.inspector-facts{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 12px;font-size:var(--fs-label)}.inspector-facts dt{color:var(--muted-app)}.inspector-facts dd{color:var(--text);font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}.dash-list li{display:flex;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--line-app)}.dash-list li:before{content:"";width:12px;height:1px;margin-top:.7em;background:var(--faint-app);flex:0 0 auto}.field{display:flex;flex-direction:column;gap:6px}label,.label{font-size:var(--fs-label);color:var(--text-2);line-height:1.3}.input,:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file])),select,textarea{width:100%;height:var(--control-md);padding:0 var(--sp-3);background:var(--surface-hi);color:var(--text-strong);border:1px solid var(--line-app-strong);border-radius:var(--r-input);font-size:var(--fs-body);line-height:1.4;box-shadow:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}textarea{height:auto;min-height:96px;padding:var(--sp-2) var(--sp-3);resize:vertical}select{appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23737373' stroke-width='1.2'/></svg>");background-repeat:no-repeat;background-position:right 10px center}::placeholder{color:var(--faint-app)}.input:hover,:where(input:not([type=checkbox]):not([type=radio])):hover,select:hover,textarea:hover{border-color:var(--icon-dim)}.input:focus,:where(input:not([type=checkbox]):not([type=radio])):focus,select:focus,textarea:focus{outline:none;border-color:var(--focus-line);box-shadow:0 0 0 .5px var(--focus-line)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}input:disabled,select:disabled,textarea:disabled{background:var(--surface);color:var(--faint-app);cursor:not-allowed}input[type=number],.input--num{text-align:right;font-variant-numeric:tabular-nums}.input--search,input[type=search],.search-field{border-radius:var(--r-input);background-color:var(--surface-hi);padding-left:34px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><circle cx='6' cy='6' r='4.5' fill='none' stroke='%238a8a8a' stroke-width='1.2'/><path d='m9.5 9.5 3 3' stroke='%238a8a8a' stroke-width='1.2'/></svg>");background-repeat:no-repeat;background-position:12px center}.search-field{width:320px;max-width:100%}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}kbd.kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:var(--r-sm);box-shadow:var(--ring-line);background:var(--surface-hi);color:var(--faint-app);font-family:var(--font-sans);font-size:11px;line-height:1}input[type=checkbox],input[type=radio]{width:15px;height:15px;margin:0;accent-color:var(--accent);vertical-align:middle}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-5)}.form-grid .span-2{grid-column:span 2}.form-help,.field-hint{font-size:var(--fs-caption);color:var(--muted-app)}.form-error{font-size:var(--fs-caption);color:var(--danger)}.table-wrap,.table-frame{overflow:auto;background:transparent}table{width:100%;border-collapse:collapse;font-size:var(--fs-table);line-height:var(--lh-dense)}thead th{height:36px;padding:0 var(--sp-3);text-align:left;font-weight:var(--fw-base);font-size:var(--fs-caption);letter-spacing:.02em;color:var(--muted-app);background:transparent;border-bottom:1px solid var(--line-app-strong);white-space:nowrap}thead th:first-child,tbody td:first-child,tfoot td:first-child{padding-left:var(--sp-1)}thead th:last-child,tbody td:last-child,tfoot td:last-child{padding-right:var(--sp-1)}tbody td{height:var(--row-h);padding:6px var(--sp-3);border-top:1px solid var(--line-app);color:var(--text);vertical-align:middle}tbody tr:first-child td{border-top:0}tbody tr:last-child td{border-bottom:1px solid var(--line-app)}tbody tr:hover td{background:var(--surface-hi2)}tbody tr[aria-selected=true] td{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}th.num,td.num,th.amount,td.amount{text-align:right;font-variant-numeric:tabular-nums}td.id,td.code{color:var(--text)}td.muted,.cell-muted,.dash{color:var(--muted-app)}.cell-sub{display:block;font-size:var(--fs-sub);color:var(--muted-app);margin-top:1px;font-weight:var(--fw-regular)}.cell-main{color:var(--text-strong);font-weight:var(--fw-medium);font-size:var(--fs-label)}.actions-cell{width:1%;text-align:right;white-space:nowrap}.empty-row td{padding:32px var(--sp-4);text-align:center;color:var(--muted-app)}tfoot td,tr.total td{height:var(--row-h);padding:0 var(--sp-3);border-top:1px solid var(--line-ink);color:var(--text-strong);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}table.dense td,table.dense th{height:var(--row-h-dense);padding:0 var(--sp-3)}.table-toolbar{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--toolbar-h);margin-bottom:var(--sp-3);flex-wrap:wrap}.table-toolbar__spacer{flex:1 1 auto}.table-toolbar-note{font-size:var(--fs-label);color:var(--muted-app);font-variant-numeric:tabular-nums;white-space:nowrap}.table-footnote{font-size:var(--fs-label);color:var(--muted-app);margin-top:var(--sp-3)}.row-menu-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-md);color:var(--icon);font-size:16px;line-height:1;transition:var(--transition-colors)}.row-menu-button:hover{background:var(--fill);color:var(--text)}.row-menu{min-width:200px;padding:6px;border-radius:var(--r-xl);background:var(--surface-hi);box-shadow:var(--shadow-float)}.row-menu__item{display:flex;align-items:center;gap:8px;min-height:33px;padding:0 10px;border-radius:var(--r-md);font-size:var(--fs-label);color:var(--text);width:100%;text-align:left}.row-menu__item:hover{background:var(--row-active)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-1) var(--sp-4);font-size:var(--fs-table)}.kv dt{color:var(--muted-app);font-size:var(--fs-caption)}.kv dd{color:var(--text-strong)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:var(--sp-6) var(--sp-1)}.empty-state__icon{display:none}.empty-state h2,.empty-state h3{font-size:var(--fs-body);font-weight:var(--fw-base);color:var(--text-2)}.empty-state p{font-size:var(--fs-label);color:var(--muted-app);max-width:520px;line-height:1.55}.empty-state .btn,.empty-state .btn-secondary,.empty-state .btn-primary{margin-top:6px}.empty-state--table{padding:20px var(--sp-1);gap:4px}.empty-state--table .empty-state__icon{width:32px;height:32px;font-size:14px}.empty-state--table h3{font-size:var(--fs-label);color:var(--muted-app);font-weight:var(--fw-regular)}.empty-state--table p{font-size:var(--fs-caption)}@keyframes skeleton-shimmer{0%{background-position:0 0}to{background-position:480px 0}}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,var(--surface) 25%,var(--surface-hi2) 37%,var(--surface) 63%);background-size:480px 100%;animation:skeleton-shimmer 1.2s linear infinite;min-height:1em}.app-shell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);grid-template-rows:var(--topbar-h) minmax(0,1fr);min-height:100dvh}.app-shell--no-nav{grid-template-columns:minmax(0,1fr)}.topbar{grid-column:1 / -1;position:sticky;top:0;z-index:var(--z-topbar);height:var(--topbar-h);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4) 0 var(--sp-4);background:var(--bg-app);border-bottom:1px solid var(--line-app);color:var(--text)}.topbar__brand{display:flex;align-items:center;gap:8px;width:calc(var(--nav-w) - var(--sp-4));flex:0 0 auto;font-weight:var(--fw-medium);color:var(--text-strong);white-space:nowrap}.topbar__brand small{color:var(--faint-app);font-size:var(--fs-caption);font-weight:var(--fw-regular)}.topbar__logo{width:22px;height:22px;border-radius:6px;background:var(--text-strong);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--fw-title);letter-spacing:0}.breadcrumb{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-label);color:var(--muted-app);overflow:hidden}.breadcrumb a{color:var(--muted-app);padding:4px 6px;border-radius:var(--r-md);white-space:nowrap;transition:var(--transition-colors)}.breadcrumb a:hover{background:var(--row-active);color:var(--text)}.breadcrumb__sep{color:var(--inactive)}.breadcrumb__current{color:var(--text-strong);font-weight:var(--fw-medium);padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb .mono{font-size:12px}.topbar__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.topbar-link{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--r-lg);color:var(--muted-app);font-size:var(--fs-label);font-weight:var(--fw-nav);transition:var(--transition-colors)}.topbar-link:hover{background:var(--row-active);color:var(--text)}.topbar__user{display:flex;align-items:center;gap:8px;font-size:var(--fs-label);color:var(--text);white-space:nowrap}.topbar__user .faint{font-size:var(--fs-caption)}.avatar{width:24px;height:24px;border-radius:6px;background:var(--fill);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--fw-medium);flex:0 0 auto}.avatar--sm{width:22px;height:22px;font-size:10.5px}.avatar-stack{display:inline-flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface-hi);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.sidebar{position:sticky;top:var(--topbar-h);height:calc(100dvh - var(--topbar-h));display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line-app);overflow-y:auto;overscroll-behavior:contain}.sidebar__top{padding:12px 12px 4px;display:flex;flex-direction:column;gap:8px}.sidebar__search{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:var(--r-lg);background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--line-app);color:var(--faint-app);font-size:var(--fs-label);cursor:text}.sidebar__search .kbd{margin-left:auto}.sidebar__search svg{flex:0 0 auto}.sidebar__cta{width:100%}.sidebar__section{padding:10px 12px 4px}.sidebar__section-title{display:flex;justify-content:space-between;align-items:center;padding:0 12px 4px;font-size:var(--fs-caption);font-weight:var(--fw-medium);color:var(--muted-app)}.sidebar__section-title .mono{color:var(--faint-app)}.sidebar__item{display:flex;align-items:center;gap:10px;min-height:var(--nav-item-h);padding:0 12px;border-radius:var(--r-lg);color:var(--text-2);font-size:var(--fs-label);font-weight:var(--fw-nav);transition:var(--transition-colors)}.sidebar__item:hover{background:var(--row-active);color:var(--text-strong)}.sidebar__item.is-active,.sidebar__item[aria-current=page]{background:var(--fill);color:var(--text-strong);box-shadow:none}.sidebar__item .ico{width:16px;height:16px;color:var(--icon);flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.sidebar__item.is-active .ico{color:var(--icon-strong)}.sidebar__item .label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.nav-count--alert{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-full);background:var(--danger);color:#fff;font-size:10.5px;font-weight:var(--fw-medium)}.sidebar__context{margin:4px 12px;padding:10px 12px;border-radius:var(--r-lg);background:var(--row-active)}.sidebar__context strong{display:block;font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong)}.sidebar__context small{font-size:var(--fs-caption);color:var(--muted-app)}.sidebar__foot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 20px;border-top:1px solid var(--line-app);font-size:var(--fs-caption);color:var(--faint-app)}.build-version{display:grid;gap:6px;font-variant-numeric:tabular-nums}.build-version__warning{color:var(--amber);font-size:var(--fs-caption);line-height:1.5}.sidebar__reset{margin-left:-10px;color:var(--muted-app)}.topbar__warn{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}.app-main{min-width:0;padding:var(--sp-5) var(--sp-6) var(--sp-16)}.app-main--wide{max-width:none}.page-with-panel{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);gap:var(--sp-5);align-items:start}.page-with-panel>.inspector{position:sticky;top:calc(var(--topbar-h) + var(--sp-4));display:grid;gap:var(--sp-3);align-self:start}.inspector>.card,.inspector .card__body{min-width:0;overflow-x:hidden}.page-with-panel>.inspector{gap:var(--sp-8)}.page-with-panel:has(>.inspector.is-collapsed),.fx-layout:has(>.inspector.is-collapsed){grid-template-columns:minmax(0,1fr) 40px}.inspector{position:relative}.inspector.is-collapsed{display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0;min-height:160px;border-left:1px solid var(--line-app);overflow:hidden}.sp-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--muted-app);cursor:pointer}.sp-toggle:hover{background:var(--hover-row, rgba(0,0,0,.04));color:var(--text);border-color:var(--line-app)}.sp-toggle--float{position:absolute;top:8px;right:10px;z-index:2}.inspector:not(.is-collapsed)>.card:first-of-type .card__head{padding-right:44px}.sp-rail-label{writing-mode:vertical-rl;font-size:var(--fs-caption);color:var(--faint-app);letter-spacing:.08em;-webkit-user-select:none;user-select:none}.inspector .card__head{min-height:40px;padding:6px 0}.inspector .card__body{padding:8px 0}.inspector .card__foot{min-height:36px;padding:6px 0}.page{max-width:var(--page-max);margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);margin-bottom:var(--sp-6)}.page-head h1{font-size:var(--fs-display);font-weight:var(--fw-medium);letter-spacing:-.015em;line-height:1.25}.page-head .sub{color:var(--muted-app);margin-top:4px;font-size:var(--fs-label);max-width:720px}.page-head>.kpi-grid--card{flex:0 1 auto}.sheet{max-width:var(--sheet-max);margin:0 auto;background:#fff;border:1px solid var(--line-app);border-radius:var(--r-card)}.sheet>section{padding:var(--sp-4);border-bottom:1px solid var(--line-app)}.sheet>section:last-child{border-bottom:0}.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);gap:var(--sp-5);align-items:start}.divider{border-top:1px solid var(--line-app);margin:var(--sp-4) 0}.divider--ink{border-top-color:var(--line-ink)}.stack>*+*{margin-top:var(--sp-3)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.right{text-align:right}@media(max-width:1100px){.page-with-panel{grid-template-columns:1fr}.page-with-panel>.inspector{position:relative;top:auto;max-height:none;overflow:visible}}@media(max-width:960px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.topbar__brand{width:auto}.app-main{padding:var(--sp-4) var(--sp-4) var(--sp-12)}.with-sidebar,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.page-head{flex-direction:column;align-items:flex-start;gap:var(--sp-3)}}.note{font-size:var(--fs-caption);color:var(--muted-app)}.hr{border:0;border-top:1px solid var(--line-app);margin:0}.row{display:flex;align-items:center;gap:var(--sp-2)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5)}@media(max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.is-overdue,.text-danger{color:var(--danger)}.text-green{color:var(--green)}.text-amber{color:var(--amber)}.filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.filters .select{width:auto;min-width:120px;height:var(--control-md);font-size:var(--fs-label)}.filters .field{flex-direction:row;align-items:center;gap:6px}.filters .field label{font-size:var(--fs-caption);color:var(--faint-app);white-space:nowrap}.filters>.row{height:var(--control-md);font-size:var(--fs-label);color:var(--muted-app)}.case-head+.section{margin-top:var(--sp-6)}.tabs,.tabs.segmented{display:flex;align-items:stretch;gap:var(--sp-5);height:40px;padding:0;border-radius:0;background:transparent;box-shadow:inset 0 -1px 0 var(--line-app-strong);margin-top:var(--sp-6);max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab,.tabs .segmented__item{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0;border-radius:0;background:transparent;box-shadow:none;color:var(--muted-app);font-size:var(--fs-body);font-weight:var(--fw-base);white-space:nowrap;flex:0 0 auto;transition:var(--transition-colors);border-bottom:2px solid transparent}.tab:hover{color:var(--text)}.tab.is-active,.tab[aria-selected=true],.tabs .segmented__item[aria-selected=true]{background:transparent;color:var(--text-strong);box-shadow:none;border-bottom-color:var(--text-strong)}.tab-count{color:var(--faint-app);font-variant-numeric:tabular-nums;font-size:var(--fs-caption)}.tab.is-active .tab-count{color:var(--muted-app)}.tab-panel{padding-top:var(--sp-6)}.badge--neutral{color:var(--text-2)}.badge-kind{color:var(--faint-app);font-weight:var(--fw-regular)}.badge-group{display:flex;flex-wrap:wrap;gap:6px}.pb{display:flex;gap:var(--sp-5);width:100%}.pb-group{position:relative;display:flex;flex-direction:column;min-width:0}.pb-group__title{display:flex;justify-content:space-between;gap:var(--sp-2);padding-bottom:6px;font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--muted-app);line-height:1.2}.pb-group__title .mono{color:var(--faint-app);font-size:11px}.pb-segs{display:flex;align-items:flex-start;gap:4px}.pb-seg{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0;cursor:default;text-align:left;color:var(--text);border-radius:var(--r-sm)}.pb-seg[data-clickable=true]{cursor:pointer}.pb-seg:focus-visible{outline:2px solid var(--focus-line);outline-offset:2px}.pb-seg__bar{display:block;width:100%;height:4px;border-radius:2px;background:var(--fill);transition:background-color var(--dur-fast) var(--ease)}.pb-seg.is-done .pb-seg__bar{background:var(--accent)}.pb-seg.is-active .pb-seg__bar{background:var(--accent-light)}.pb-seg.is-overdue .pb-seg__bar{background:var(--danger)}.pb-seg.is-na .pb-seg__bar{background:var(--fill);opacity:.5}.pb-seg:hover .pb-seg__bar{filter:brightness(.92)}.pb-seg__no{font-size:11px;color:var(--faint-app);font-variant-numeric:tabular-nums;line-height:1}.pb-seg.is-done .pb-seg__no{color:var(--muted-app)}.pb-seg.is-active .pb-seg__no{color:var(--accent);font-weight:var(--fw-medium)}.pb-seg.is-overdue .pb-seg__no{color:var(--danger);font-weight:var(--fw-medium)}.pb-seg.is-na .pb-seg__no{text-decoration:line-through;color:var(--inactive)}.pb-seg__label{display:flex;flex-direction:column;gap:1px;font-size:11.5px;line-height:1.3;color:var(--text-strong);font-weight:var(--fw-medium);max-width:100%;white-space:nowrap}.pb-seg.is-overdue .pb-seg__label{color:var(--danger)}.pb-seg.is-active .pb-seg__label{color:var(--accent)}.pb-seg__sla{font-size:11px;font-weight:var(--fw-regular);color:inherit;opacity:.9}.pb-tip{display:none;position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-tooltip);min-width:220px;max-width:300px;text-align:left;background:var(--surface-hi);color:var(--text);border-radius:var(--r-xl);box-shadow:var(--shadow-float);padding:10px 12px;font-size:var(--fs-caption);line-height:1.5;font-weight:var(--fw-base);white-space:normal}.pb-seg:hover .pb-tip,.pb-seg:focus-visible .pb-tip{display:block}.pb-segs .pb-seg:last-child .pb-tip,.pb-segs .pb-seg:nth-last-child(2) .pb-tip{left:auto;right:0}.pb-tip-title{font-weight:var(--fw-medium);color:var(--text-strong);margin-bottom:6px;display:flex;align-items:center;gap:8px}.pb-tip .inspector-facts{grid-template-columns:40px 1fr;gap:2px 10px;font-size:var(--fs-caption)}.pb-tip .is-overdue{color:var(--danger)}.pb-tip .is-active{color:var(--accent)}.pb-legend{display:flex;gap:var(--sp-4);margin-top:var(--sp-3);font-size:var(--fs-caption);color:var(--muted-app)}.pb-legend span:before{content:"";display:inline-block;width:12px;height:4px;border-radius:2px;margin-right:6px;vertical-align:2px;background:var(--fill)}.pb-legend .l-done:before{background:var(--accent)}.pb-legend .l-active:before{background:var(--accent-light)}.pb-legend .l-overdue:before{background:var(--danger)}.pb-legend .l-na:before{background:var(--fill);opacity:.5}.pbc{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}.pbc .segments__seg{flex-basis:5px;width:5px}.pbc .segments--mini+.segments--mini{margin-left:0}.pb-steps{display:flex;flex-direction:column}.pb-steps .step-group+.step-group{border-top:1px solid var(--line-app);margin-top:4px}.cdm{display:grid;grid-template-columns:auto 1fr auto;gap:6px var(--sp-3);align-items:center;font-size:var(--fs-caption)}.cdm-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:10px}.cdm-head h3{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong)}.cdm-head .muted,.cdm-head .num{font-size:var(--fs-caption)}.cdm-label{color:var(--muted-app);white-space:nowrap}.cdm-track{height:6px;background:var(--fill);border-radius:var(--r-full);overflow:hidden;position:relative}.cdm-fill{height:100%;border-radius:var(--r-full)}.cdm-fill--budget{background:var(--inactive)}.cdm-fill--issued{background:var(--accent)}.cdm-fill--achieved{background:var(--green)}.cdm-fill--actual{background:var(--text-strong);opacity:.45}.cdm-fill--over{background:var(--danger)}.cdm-budget-mark{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--text-strong)}.cdm-val{text-align:right;min-width:56px;font-size:var(--fs-caption);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.cdm-remain{display:flex;flex-wrap:wrap;gap:4px var(--sp-2);align-items:center;font-size:var(--fs-caption);color:var(--muted-app);margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line-app)}.cdm-remain>.muted{white-space:nowrap}.cdm-remain .num{font-weight:var(--fw-medium);color:var(--text-strong);font-size:var(--fs-caption)}.cdm-remain .cdm-warn{flex-basis:100%;font-size:var(--fs-caption);color:var(--danger)}.cdm-over{color:var(--danger)!important;font-weight:var(--fw-medium)}.cdm-over:before{content:"▲";font-size:8px;margin-right:3px}.crew{display:flex;flex-direction:column;gap:8px}.crew__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.crew__title{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong)}.crew__kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3)}.crew__kpi .kpi{padding:6px 0 0;gap:1px}.crew__kpi .kpi__v{font-size:16px}.crew__kpi .kpi__k{font-size:11.5px}.crew__foot{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--muted-app);flex-wrap:wrap}.crew__foot .mono{color:var(--text-strong);font-weight:var(--fw-medium)}.crew__foot .is-over{color:var(--danger)}.crew__warn{flex-basis:100%;color:var(--danger);font-size:var(--fs-caption)}.apr{display:flex;flex-direction:column}.apr-item{display:flex;align-items:center;gap:var(--sp-3);min-height:48px;padding:8px var(--sp-1);border-top:1px solid var(--line-app);font-size:var(--fs-label)}.apr-item:first-child{border-top:0}.apr-item--me{background:var(--accent-soft)}.apr-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.apr-name{font-weight:var(--fw-medium);color:var(--text-strong);font-size:13.5px}.apr-role{color:var(--muted-app);font-size:var(--fs-sub)}.apr-aside{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.apr-time{color:var(--faint-app);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.apr-final{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:8px var(--sp-1);border-top:1px solid var(--line-app);color:var(--green);font-weight:var(--fw-medium);font-size:var(--fs-label)}.apr-summary{color:var(--muted-app);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}.dt-wrap{width:100%;overflow-x:auto;background:transparent}.dt{width:100%;font-size:var(--fs-table)}.dt th,.dt td{text-align:left;vertical-align:middle;white-space:nowrap;padding-left:12px;padding-right:12px}.dt th:first-child,.dt td:first-child{padding-left:var(--sp-1)}.dt th:last-child,.dt td:last-child{padding-right:var(--sp-1)}.dt th{-webkit-user-select:none;user-select:none}.dt th.is-sortable{cursor:pointer;transition:color var(--dur-fast) var(--ease)}.dt th.is-sortable:hover{color:var(--text)}.dt th .sort-ind{margin-left:4px;color:transparent;font-size:9px}.dt th.is-sortable:hover .sort-ind{color:var(--inactive)}.dt th.is-sorted,.dt th.is-sorted .sort-ind{color:var(--text-strong)}.dt .is-num{text-align:right;font-variant-numeric:tabular-nums}.dt .is-center{text-align:center}.dt tbody tr.is-clickable{cursor:pointer}.dt td.is-wrap{white-space:normal}.dt td .cell-main,.dt td .cell-sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.cl-node span:not(.mono){display:inline-block;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.dt td .mono{color:var(--text)}.dt-empty{padding:var(--sp-6) 0;text-align:center;color:var(--muted-app)}.dt-toolbar{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;min-height:var(--control-md)}.dt-toolbar .input{width:320px;max-width:100%}.dt-toolbar__spacer{flex:1 1 auto}.dt-count{font-size:var(--fs-label);color:var(--muted-app);font-variant-numeric:tabular-nums;white-space:nowrap}.dt-footnote{font-size:var(--fs-label);color:var(--muted-app);margin-top:var(--sp-3)}.cl-node{display:inline-flex;align-items:center;gap:6px}.cl-node .mono{color:var(--faint-app)}.cl-node.is-overdue .mono,.cl-node.is-overdue span{color:var(--danger)}.cl-node.is-active span:not(.mono){color:var(--accent)}.cl-node.is-na span{color:var(--faint-app)}.cl-due{color:var(--muted-app);font-variant-numeric:tabular-nums}.cl-due.is-overdue{color:var(--danger);font-weight:var(--fw-medium)}.cl-pm{display:inline-flex;align-items:center;gap:6px}.cl-margin{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.2}.cl-margin .cell-sub{margin-top:0}.cl-margin.text-warn .mono{color:var(--amber)}.cl-margin.text-danger .mono,.cl-margin.text-danger .cell-sub{color:var(--danger)}.log{display:flex;flex-direction:column;background:transparent}.log-toolbar{display:flex;gap:var(--sp-2);align-items:center;padding:0 0 var(--sp-3);border-bottom:1px solid var(--line-app-strong);flex-wrap:wrap}.log-toolbar .select{width:auto;min-width:140px;height:var(--control-sm);font-size:var(--fs-caption);padding:0 28px 0 10px;border-radius:var(--r-md)}.log-toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-2);cursor:pointer;white-space:nowrap}.log-toggle input{accent-color:var(--accent);width:14px;height:14px;margin:0}.log-toolbar .dt-count{margin-left:auto;font-size:var(--fs-caption)}.log-body{padding:4px 0 6px}.log-empty{padding:var(--sp-8) 0;color:var(--muted-app);text-align:center}.log-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:40px;padding:6px 0}.log-foot .mono{font-size:var(--fs-caption);color:var(--faint-app)}.case-head{display:flex;justify-content:space-between;gap:var(--sp-6);align-items:flex-start}.case-head h1{font-size:28px;font-weight:var(--fw-medium);letter-spacing:-.01em;margin-top:10px}.case-head-meta{display:flex;flex-wrap:wrap;gap:4px var(--sp-4);margin-top:8px;color:var(--muted-app);font-size:var(--fs-label)}.case-head-meta b{font-weight:var(--fw-medium);color:var(--text-strong)}.case-no{display:inline-flex;align-items:flex-start;gap:2px;font-variant-numeric:tabular-nums;font-size:var(--fs-caption);color:var(--muted-app)}.case-no .seg{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.case-no .seg>b{font-weight:var(--fw-regular);padding:1px 4px;border-radius:var(--r-sm);background:transparent;color:var(--text-2);min-width:0;text-align:center}.case-no .seg--main>b{font-weight:var(--fw-medium);background:transparent;color:var(--text-strong)}.case-no .seg--empty>b{color:var(--faint-app);background:transparent}.case-no .seg>small{font-family:var(--font-sans);font-size:10px;color:var(--faint-app);line-height:1}.case-no .sep{color:var(--inactive);padding-top:3px}.case-status{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.case-status .badge-group{justify-content:flex-end}.case-links{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:10px}.case-progress{margin-top:var(--sp-6);padding:0;background:transparent}.placeholder{border:0;border-top:1px solid var(--line-app);padding:var(--sp-6) var(--sp-1);text-align:left;color:var(--muted-app);background:transparent;font-size:var(--fs-label)}.placeholder h3{color:var(--text-strong);margin-bottom:6px;font-size:var(--fs-title)}.stat{display:flex;flex-direction:column;gap:2px}.stat .v{font-size:var(--fs-kpi);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums;line-height:var(--lh-tight)}.stat .k{font-size:11px;color:var(--muted-app)}.stat .v.is-overdue{color:var(--danger)}.stat-row{display:flex;gap:var(--sp-8)}.dept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-6) var(--sp-8)}.card>.section-head{border-bottom:0;padding-bottom:0;margin-bottom:var(--sp-3)}@media(max-width:900px){.case-head{flex-direction:column}.case-status{align-items:flex-start}.pb{gap:var(--sp-3)}.pb-seg__label{display:none}.stat-row{gap:var(--sp-4)}}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-drawer);display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:#0a0a0a5c;animation:modal-fade var(--dur-base) var(--ease)}.modal-backdrop--drawer{justify-content:flex-end;padding:0}.modal{max-width:100%;max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden;background:var(--surface-hi);border-radius:var(--r-drop);box-shadow:var(--ring-line-soft),var(--shadow-lg);animation:modal-in var(--dur-base) var(--ease)}.modal--drawer{width:min(560px,100%);height:100dvh;max-height:none;border-radius:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:20px var(--sp-6) 16px;border-bottom:1px solid var(--line-app)}.modal__titles{min-width:0;display:flex;flex-direction:column;gap:4px}.modal__title{margin:0;font-size:var(--fs-title);font-weight:var(--fw-medium);line-height:1.35;color:var(--text-strong);overflow-wrap:anywhere}.modal__sub{margin:0;font-size:var(--fs-sub);color:var(--muted-app);line-height:1.45;overflow-wrap:anywhere}.modal__aside{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;margin-top:1px}.modal__scope{font-family:var(--font-code);font-size:11px;letter-spacing:.02em;height:22px}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-2px -6px 0 0;border:0;border-radius:var(--r-md);background:transparent;color:var(--icon);cursor:pointer;transition:var(--transition-colors)}.modal__close:hover{background:var(--row-active);color:var(--text-strong)}.modal__close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.modal__body{overflow-y:auto;padding:20px var(--sp-6) var(--sp-6)}.modal__error{margin:0 0 var(--sp-4)}.modal__lead{margin:0 0 var(--sp-4);font-size:var(--fs-body);line-height:1.6;color:var(--text-2)}.modal__lead .fx-msg{margin-bottom:var(--sp-2)}.modal__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:14px var(--sp-6);border-top:1px solid var(--line-app);background:var(--surface-hi2)}.modal__note{font-size:var(--fs-caption);color:var(--muted-app);min-width:0}.modal__lognote{display:inline-flex;align-items:center;gap:6px}.modal__lognote svg{color:var(--green);flex:none}.modal__foot .button-row{margin-left:auto}.modal__foot :is(.btn-primary,.btn-secondary,.btn-danger,.btn-ghost){min-width:76px;min-height:var(--control-md);padding:0 var(--sp-4);font-size:var(--fs-label);border-radius:var(--r-btn)}.modal__foot :is(.btn-primary,.btn-danger):disabled{opacity:1;background:var(--fill);color:var(--faint-app)}.modal .field+.field,.modal .form-grid+.field,.modal .field+.form-grid{margin-top:var(--sp-3)}.field__label{font-size:var(--fs-caption);color:var(--muted-app)}.modal .fx-msg{margin-bottom:var(--sp-3)}.modal__field-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.modal__field-head label{font-size:var(--fs-label);color:var(--text-2);font-weight:var(--fw-medium)}.modal__count{font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.modal__count.is-max{color:var(--amber)}.modal textarea.input{min-height:88px;padding:10px var(--sp-3);line-height:1.55;resize:vertical}.reason-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--sp-4)}.reason-chip{display:inline-flex;align-items:center;height:28px;padding:0 12px;border:0;border-radius:var(--r-full);background:var(--surface-hi);box-shadow:inset 0 0 0 1px var(--line-app-strong);color:var(--text-2);font:inherit;font-size:var(--fs-label);cursor:pointer;transition:var(--transition-colors)}.reason-chip:hover{box-shadow:inset 0 0 0 1px var(--faint-app);color:var(--text-strong)}.reason-chip[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.reason-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.op-list{display:flex;flex-direction:column;gap:6px}.op-list .btn-secondary,.op-list .btn-ghost{justify-content:flex-start}.op-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.op-row .select{height:var(--control-sm);font-size:var(--fs-label);width:auto;min-width:150px;padding:0 28px 0 10px}.op-row .note{flex-basis:100%}.inspector-facts dd .op-row{gap:6px}.inspector-facts dd .op-row .select{min-width:0;width:100%}.inv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap}.inv-toolbar .note{flex:1 1 auto}.inv-ops{display:inline-flex;gap:6px}.crew__ack{flex-basis:100%;display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--muted-app)}.crew__ack .btn-primary{margin-left:auto}.choice-list{display:flex;flex-direction:column;gap:8px}.choice{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line-app-strong);cursor:pointer}.choice.is-active{box-shadow:0 0 0 1.5px var(--accent);background:var(--accent-soft)}.choice input[type=radio]{margin-top:3px}.choice__main{display:flex;flex-direction:column;gap:2px}.choice__title{font-weight:var(--fw-medium);color:var(--text-strong);font-size:var(--fs-label)}.choice__sub{font-size:var(--fs-caption);color:var(--muted-app)}.newcase{max-width:880px}.newcase .form-grid{gap:var(--sp-3) var(--sp-4)}.seg-radio{display:inline-flex;gap:2px;padding:2px;border-radius:var(--r-lg);background:var(--surface)}.seg-radio label{display:inline-flex;align-items:center;height:calc(var(--control-md) - 4px);padding:0 14px;border-radius:var(--r-md);font-size:var(--fs-label);color:var(--muted-app);cursor:pointer}.seg-radio label.is-active{background:var(--surface-hi);color:var(--text-strong);box-shadow:0 1px 2px #0000000f}.seg-radio input{position:absolute;opacity:0;width:0;height:0}.form-error-list{margin:0 0 var(--sp-3);padding:8px 12px 8px 28px;border-radius:var(--r-lg);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-caption)}.form-error-list li+li{margin-top:2px}.field__error{font-size:var(--fs-caption);color:var(--danger)}.field:has([aria-invalid=true]) .field__label{color:var(--danger)}.apr-block--pending>.cs-head .cs-title:after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-radius:50%;background:var(--amber);vertical-align:2px}.apr-block .cs-summary .status-text{font-family:var(--font-sans);font-size:var(--fs-caption)}.apr-collapsed{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:40px;padding:0 var(--sp-1);border:0;background:transparent;font:inherit;font-size:var(--fs-label);color:var(--text-2);cursor:pointer;text-align:left}.apr-collapsed:hover{background:var(--row-active)}.apr-collapsed .sep{color:var(--faint-app)}.apr-collapsed-names{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-caption)}.apr-collapsed-more{color:var(--accent);font-size:var(--fs-caption)}.cs{background:transparent;border-radius:0;box-shadow:none;border-bottom:1px solid var(--line-app)}.cs--plain{background:transparent;box-shadow:none;border-radius:0;border-top:1px solid var(--line-app)}.cs-head{display:flex;align-items:center;gap:var(--sp-3);min-height:48px;padding:6px 0;border-radius:0;cursor:pointer;-webkit-user-select:none;user-select:none;transition:var(--transition-colors)}.cs.is-open>.cs-head{border-radius:0;border-bottom:1px solid var(--line-app)}.cs-head:hover{background:transparent}.cs-head:hover .cs-title{color:var(--accent)}.cs-head.is-locked{cursor:default}.cs-head.is-locked:hover{background:transparent}.cs-head.is-locked:hover .cs-title{color:var(--text-strong)}.cs-head:focus-visible{outline:2px solid var(--focus-line);outline-offset:-2px}.cs-title{font-size:var(--fs-title);font-weight:var(--fw-medium);color:var(--text-strong);white-space:nowrap;transition:color var(--dur-fast) var(--ease)}.cs-sub{font-size:var(--fs-caption);color:var(--muted-app);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.cs-summary{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-caption);color:var(--faint-app);font-variant-numeric:tabular-nums}.cs.is-collapsed .cs-summary{color:var(--muted-app)}.cs-spacer{flex:1 1 auto}.cs-aside{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.cs-chev{flex:0 0 auto;color:var(--icon);transition:transform var(--dur-fast) var(--ease)}.cs.is-open>.cs-head .cs-chev{transform:rotate(90deg)}.cs-body--pad{padding:var(--sp-4) 0}.cs>.card__foot{border-top:1px solid var(--line-app)}.cs .cs{box-shadow:none}.stm-block.is-bad .cs-summary{color:var(--danger)}.stm-block.is-ok .cs-summary{color:var(--green)}.stm-blocks+.stm-blocks{margin-top:var(--sp-3)}.stm-block .cs-body--pad>.cdm-head{margin-top:0}@media(max-width:900px){.cs-sub{display:none}}.op-list--inline{display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end}.op-list--inline .btn-ghost{padding:0 6px;font-size:var(--fs-caption);height:24px}.mt-list{display:flex;flex-direction:column}.mt-item{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:8px 0;border-top:1px solid var(--line-app)}.mt-item:first-child{border-top:0}.mt-item .pill{flex:0 0 auto}.mt-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.mt-title{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-sub{font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-item.is-late .mt-sub{color:var(--danger)}.mt-none{padding:4px 4px 2px;font-size:var(--fs-label)}.inspector-facts dd .btn-link--plain{padding:0;font:inherit;color:var(--text)}.inspector-facts dd .btn-link--plain:hover{color:var(--accent)}.tk--inspector .tk-cards{margin-top:2px}.tk-inspector-foot{padding:4px 4px 0;border-top:1px solid var(--line-app)}.tk-na-toggle{white-space:nowrap}.dt-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-2);min-height:36px}.dt-pager__btns{display:flex;align-items:center;gap:4px}.dt-pager__btns .mono{font-size:var(--fs-caption);padding:0 6px}.dp-row--done td{padding:0;background:var(--surface)}.dp-done-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:0 12px;font:inherit;font-size:var(--fs-caption);color:var(--text-2);font-weight:var(--fw-medium);text-align:left;border-radius:0}.dp-done-toggle:hover{background:var(--row-active)}.dp-done-caret{width:10px;color:var(--muted-app)}.dp-done-toggle .mono{font-weight:var(--fw-regular);font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-summary{margin-bottom:var(--sp-4)}.fx-summary .fx-meters{margin:0;box-shadow:none;border-radius:0}.fx-summary-aside{flex-wrap:wrap;justify-content:flex-end}.fx-margin-line{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--muted-app);white-space:nowrap;font-variant-numeric:tabular-nums}.fx-margin-line b{font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--text-strong)}.fx-margin-line.is-warn b:first-of-type{color:var(--amber)}.fx-margin-line.is-bad b:first-of-type{color:var(--danger)}.fx-margin-line .sep{color:var(--faint-app)}.fx-section>.cs-body>.sheet-wrap{margin:0;border:0;border-radius:0 0 var(--r-card) var(--r-card)}.fx-slip-main>.fx-section+.fx-extra{margin-top:var(--sp-4)}.fx-extra>.fx-section .fx-dept-wrap{border-radius:0 0 var(--r-card) var(--r-card)}.fx-section .section-head{margin-bottom:var(--sp-2)}.fx-extra>*{min-width:0}.fx-extra .fx-dept-wrap{overflow:auto;max-height:calc(100dvh - var(--topbar-h) - 120px);overscroll-behavior:contain}.fx-extra .fx-dept--summary{min-width:720px}.fx-extra .fx-dept--summary thead th{position:sticky;top:0;z-index:3;background:var(--surface-hi);box-shadow:inset 0 -1px 0 var(--line-app)}.fx-extra .fx-dept--summary td.dept-name,.fx-extra .fx-dept--summary thead th:first-child{position:sticky;left:0;z-index:2;background:var(--surface-hi)}.fx-extra .fx-dept--summary thead th:first-child{z-index:4}.fx-extra .fx-dept--summary tr.fx-dept-sub>td{position:static}.fx-extra .fx-dispatch .dp-table{min-width:760px}.fx-extra .fx-dispatch .dp-table td:first-child,.fx-extra .fx-dispatch .dp-table th:first-child{min-width:200px}.fx-extra .fx-dispatch .dp-table td.is-wrap{min-width:160px}.op-list--inline .btn-ghost.text-danger{color:var(--danger)}.fx-dept td.dept-name{white-space:nowrap}.dp-table td:first-child{min-width:110px}.page-with-panel>.inspector>*{min-width:0}.inspector .kpi{min-width:0}.inspector .kpi__v,.inspector .kpi__k{overflow:hidden;text-overflow:ellipsis}.mt-ops{display:inline-flex;gap:4px;align-items:center;flex:0 0 auto}.tk-dup-note{margin:0 2px 4px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.stack-sm>*+*{margin-top:var(--sp-2)}.sk-page{pointer-events:none}.sk-page .case-head{margin-top:4px}.sk-progress{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:3px;margin-top:var(--sp-4)}.sk-tabs{gap:20px;margin-top:var(--sp-6);height:40px;padding:0;border-radius:0;background:transparent;box-shadow:inset 0 -1px 0 var(--line-app-strong);overflow:hidden}.sk-sheet{display:grid;gap:6px}.sk-page .inspector .card__body .skeleton+.skeleton{margin-top:var(--sp-2)}.tk-skeleton{display:flex;flex-direction:column;gap:6px;padding:4px 2px}.tk-skeleton-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 8px;align-items:center;padding:6px 0;border-top:1px solid var(--line-app)}.tk-skeleton-row:first-child{border-top:0}.tk-skeleton-row .skeleton:nth-child(1){grid-row:1 / 3}.tk-skeleton-row .skeleton{display:block}.subcases{margin-top:var(--sp-4)}.subcases__table{width:100%}.subcases__total td{font-weight:var(--fw-medium);border-top:1px solid var(--line-app-strong)}.subcase-opts{display:grid;gap:var(--sp-2)}.subcase-opt{display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;border:1px solid var(--line-app-strong);border-radius:var(--r-md);background:var(--surface-hi);font:inherit;color:var(--text);cursor:pointer}.subcase-opt:hover{border-color:var(--accent)}.subcase-opt.is-on{border-color:var(--accent);background:var(--accent-soft)}.subcase-opt__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.subcase-opt__head .mono{color:var(--accent)}.subcase-opt__desc{font-size:var(--fs-caption);color:var(--muted-app)}.case-parent-link{color:var(--accent)}.subcases__table td{white-space:normal}@media(max-width:600px){.subcases .card__head{flex-wrap:wrap}.subcases__table{table-layout:fixed;font-size:var(--fs-caption)}.subcases__table th:first-child{width:92px!important}.subcases__table th:last-child{width:80px!important}.subcases__table th,.subcases__table td{padding-left:4px;padding-right:4px}}.test-mode-banner{display:flex;gap:10px;align-items:flex-start;margin:0 0 16px;padding:10px 14px;border-radius:10px;background:var(--danger-soft);color:var(--danger);box-shadow:0 0 0 1px color-mix(in srgb,currentColor 25%,transparent);font-size:13px;line-height:1.5}.test-mode-banner .pill{flex:none}.card__foot.exec-branches{flex-direction:column;align-items:stretch;gap:10px}.exec-branches__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.exec-branches__title{font-size:13px;font-weight:500;color:var(--text)}.exec-branches__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exec-branches__grid>button{width:100%;justify-content:center}.eval-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.eval-cell__row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eval-cell__change{width:auto;min-width:0;height:28px;padding:0 28px 0 10px;font-size:12.5px}.eval-cell__hint{font-size:11.5px;color:var(--text-faint, var(--muted));line-height:1.45}.apr-reconfirm{color:var(--amber)}.slip-dept-agree-hint{display:block;max-width:220px;color:var(--muted-app);font-size:var(--fs-caption);line-height:1.4}.dc-kinds{flex-wrap:wrap;height:auto;min-height:var(--control-md);padding:2px}.dc-money-note{margin-top:var(--sp-2);color:var(--amber)}.dc-quote-card{margin-bottom:12px;box-shadow:0 0 0 1px var(--amber),var(--shadow-xs)}.slip-versions{display:flex;flex-direction:column}.slip-versions__row{display:flex;gap:12px;align-items:baseline;padding:10px 16px;border-top:1px solid var(--line-app)}.slip-versions__row:first-child{border-top:0}.slip-versions__main{flex:1;min-width:0}.slip-versions__sub{display:block;color:var(--muted-app);font-size:var(--fs-sub)}@media(max-width:600px){.slip-versions__row{flex-wrap:wrap;padding:10px 12px}}.case-approval__act{display:block;margin-top:var(--sp-1, 4px)}.case-approval__act button{white-space:nowrap}.page-with-panel>*,.fx-layout>*,.with-sidebar>*{min-width:0}.case-head,.case-head>div,.tabs,.tab-panel,.case-progress{min-width:0}.tabs{max-width:100%}.dt th.is-sticky-end,.dt td.is-sticky-end{position:sticky;right:0;z-index:1;background:var(--surface-hi);box-shadow:-1px 0 0 var(--line-app)}.dt th.is-sticky-start,.dt td.is-sticky-start{position:sticky;left:0;z-index:1;background:var(--surface-hi);box-shadow:1px 0 0 var(--line-app)}.dt tbody tr:hover td.is-sticky-end,.dt tbody tr:hover td.is-sticky-start{background:var(--row-active, #f5f5f5)}.inv-ops{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.sheet--slip .slip-dept-table td.c-status{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-1px 0 0 var(--line-ink, #333)}.sheet--slip .slip-dept-table tr.slip-head th:last-child{position:sticky;right:0;z-index:2}.slip-dept-reply-btn{white-space:nowrap}.pb-current{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:6px;font-size:11.5px;line-height:1.35;min-width:0}.pb-cur{color:var(--accent);font-weight:var(--fw-medium);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-cur[data-clickable=true]{cursor:pointer}.pb-cur.is-overdue{color:var(--danger)}.pb-cur .mono{font-size:11px}.toast-stack{position:fixed;top:calc(var(--topbar-h) + 8px);right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-xl);background:var(--surface-hi);box-shadow:var(--shadow-float);font-size:var(--fs-label);animation:toast-in .18s var(--ease, ease-out)}.toast__icon{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--green);background:var(--green-soft)}.toast--warn .toast__icon{color:var(--amber);background:var(--amber-soft)}.toast--error .toast__icon{color:var(--danger);background:var(--danger-soft)}.toast__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.toast__text{color:var(--text-strong);font-weight:var(--fw-base)}.toast__sub{color:var(--muted-app);font-size:var(--fs-caption);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast__link{font-size:var(--fs-caption);font-weight:600;color:var(--accent, #2563eb);text-decoration:underline}.toast__undo{flex:0 0 auto}.toast__close{flex:0 0 auto;border:0;background:transparent;color:var(--muted-app);font-size:16px;cursor:pointer;padding:0 2px}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.mw .page-head{align-items:flex-end}.mw-kpis{flex:0 1 600px;min-width:0}@media(max-width:960px){.mw-kpis{flex:none;width:100%}}.mw-kpis .kpi{color:inherit;text-decoration:none}.mw-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:0 var(--sp-8)}.mw-card{min-width:0;display:flex;flex-direction:column;gap:6px;padding:16px 0 18px;border-radius:0;background:transparent;border-bottom:1px solid var(--line-app);box-shadow:none}.mw-card.is-late{box-shadow:none}.mw-card.is-done{opacity:.75}.mw-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.mw-card__date{font-size:12px;color:var(--text-2)}.mw-card__flags{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}.mw-card__title{color:var(--text-strong);font-weight:var(--fw-medium);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.mw-card__title .mono{color:var(--muted-app);font-weight:var(--fw-base);margin-right:2px}.mw-card__meta{display:flex;flex-direction:column;gap:1px;font-size:var(--fs-sub);color:var(--muted-app);overflow-wrap:anywhere}.mw-card__ops{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px}.mw-card__ops .mw-big{flex:0 0 auto;min-height:var(--control-md);font-size:var(--fs-body)}.mw-card__sub-ops{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mw-card .mw-task-detail{padding:6px 0 0}.mw-none{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0}.mw-empty-line{margin-top:var(--sp-5)}.topbar__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.topbar__user{min-width:0}.bottom-nav{display:none}.bottom-sheet{position:fixed;inset:0;z-index:900;display:flex;flex-direction:column;justify-content:flex-end}.bottom-sheet__scrim{position:absolute;inset:0;border:0;background:#14141452;cursor:pointer}.bottom-sheet__panel{position:relative;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface-hi);border-radius:16px 16px 0 0;padding:12px 16px calc(72px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-float)}.bottom-sheet__item{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 8px;border:0;border-radius:var(--r-lg);background:transparent;color:var(--text);font-size:15px;text-align:left;cursor:pointer}.bottom-sheet__item .nav-count{margin-left:auto}.bottom-sheet__cta{min-height:44px;margin-bottom:4px}@media(max-width:1280px){.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important}}@media(max-width:960px){.app-main{padding:var(--sp-4) 16px calc(80px + env(safe-area-inset-bottom))}.topbar{padding:0 12px;gap:8px}.topbar__brand small,.topbar__brand{font-size:0;gap:0;width:auto}.topbar__brand .topbar__logo{font-size:11px}.breadcrumb{flex:1 1 auto}.breadcrumb .breadcrumb__name{display:none}.topbar__actions{flex:0 1 auto;min-width:0}.topbar__name{max-width:120px}.topbar__hint,.topbar__warn{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:950;height:calc(60px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface-hi);border-top:1px solid var(--line-app)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--muted-app);font-size:11.5px;cursor:pointer;text-decoration:none}.bottom-nav__item .ico{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center}.bottom-nav__item .ico svg{width:18px;height:18px}.bottom-nav__item.is-active{color:var(--text-strong);font-weight:var(--fw-medium)}.toast-stack{top:8px;right:8px;left:8px;width:auto}.page-with-panel,.fx-layout{grid-template-columns:minmax(0,1fr)!important}.page-with-panel>.inspector{position:relative;top:auto}.page-with-panel>.inspector.is-collapsed{flex-direction:row;min-height:0;border-left:0;border-top:1px solid var(--line-app);padding:8px 0}.page-with-panel>.inspector.is-collapsed .sp-rail-label{writing-mode:horizontal-tb}.case-no{flex-wrap:wrap}.case-head h1{font-size:22px;overflow-wrap:anywhere}.page-head h1{font-size:24px}.page-head{margin-bottom:var(--sp-6)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}.page-head .kpi-grid{width:100%}.fx-embed-table{display:block;overflow-x:auto}.fx-embed-table td{white-space:normal}.dept-grid{grid-template-columns:minmax(0,1fr)!important}.dt th.is-hide-m,.dt td.is-hide-m{display:none}.dt-wrap{max-width:100%}.dt td .cell-main,.dt td .cell-sub{max-width:46vw}.dt-toolbar .input,.dt-toolbar .search-field{width:100%}.filters{flex-wrap:wrap}.modal-backdrop{padding:0;align-items:flex-end;z-index:1000}.modal{width:100%!important;max-width:100%;max-height:calc(100dvh - 32px);border-radius:16px 16px 0 0}.modal__head{padding:16px var(--sp-4) 12px}.modal__body{padding:16px var(--sp-4) 20px}.modal__foot{padding:12px var(--sp-4) calc(12px + env(safe-area-inset-bottom))}.modal__foot .button-row{width:100%;flex-wrap:nowrap}.modal__foot .button-row>:is(button,a){flex:1 1 0;min-height:var(--control-lg)}.modal__note{width:100%}.modal .form-grid{grid-template-columns:minmax(0,1fr)}.sheet-wrap{max-width:100%}.fx-head,.fx-toolbar{flex-wrap:wrap}.mw-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:960px){.segmented:not(.tabs){flex-wrap:wrap;height:auto;padding:2px;overflow:visible}.tabs{gap:var(--sp-4);margin-left:-16px;margin-right:-16px;padding:0 16px}.card__head{flex-wrap:wrap;height:auto;min-height:44px}.card__aside{flex-wrap:wrap;min-width:0}.fx-summary-aside,.fx-margin-line{white-space:normal;flex-wrap:wrap}.tk-table-wrap{overflow:visible}.tk-table,.tk-table tbody{display:block;width:100%}.tk-table thead,.tk-table colgroup{display:none}.tk-table tr.tk-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:12px 0;border-top:1px solid var(--line-app)}.tk-table tr.tk-row-detail{display:block}.tk-table td{display:block;height:auto;padding:0;border:0;min-width:0}.tk-table td.tk-case,.tk-table td.tk-name,.tk-table td.tk-ops-cell{flex:1 1 100%}.tk-table td .cell-main,.tk-table td .cell-sub{white-space:normal;max-width:none}.tk-table td.tk-case .btn-link{white-space:normal;text-align:left;max-width:100%;overflow-wrap:anywhere}}@media(max-width:960px){.fx-summary .card__head{flex-wrap:wrap}.fx-summary-aside{flex:1 1 100%;max-width:100%;justify-content:flex-start}.fx-meters{grid-template-columns:minmax(0,1fr)!important}}.sheet--slip .slip-dept-table tr.slip-head th:last-child{background:#fff}.sheet--slip .slip-dept-table td.c-status.is-reply{min-width:240px;background:#fffbe6}.slip-reply-form{display:grid;gap:4px;margin:4px 0}.slip-reply-field{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:6px;font-size:11.5px;color:var(--muted-app)}.slip-reply-field input,.slip-reply-field textarea{background:#fff;box-shadow:var(--ring-line);border-radius:4px;min-height:28px}.slip-dept-ro{font-size:12px;color:var(--text-2);padding:0 4px}.mw-card__link{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit}.mw-card__link.mw-card__title{font-size:14px;font-weight:var(--fw-medium);color:var(--text-strong)}.mw-card__link:hover{color:var(--accent)}.fx-dept th,.fx-embed-table th,.dp-table th,.tk-table th,.tk-qty-table th,.stm-table th,.ov-table th{font-size:var(--fs-caption);font-weight:var(--fw-base);color:var(--muted-app);letter-spacing:.02em;border-bottom:1px solid var(--line-app-strong)}.fx-dept th:first-child,.fx-dept td:first-child,.fx-embed-table th:first-child,.fx-embed-table td:first-child,.tk-table th:first-child,.tk-table td:first-child,.dp-table th:first-child,.dp-table td:first-child{padding-left:var(--sp-1)}.tk-row:hover td{background:var(--surface-hi2)}.dp{border-radius:0;background:transparent;box-shadow:none;padding:0}.dp+.dp{margin-top:var(--sp-6)}.fx-embed{gap:var(--sp-3) var(--sp-6);background:transparent;border-radius:0;box-shadow:none;overflow:visible}.fx-embed .stat-cell{padding:10px 0 0;background:transparent;border-top:1px solid var(--line-app-strong)}.fx-embed .stat-cell .v{font-weight:var(--fw-base);font-size:20px}.fx-meters{padding:0;background:transparent;box-shadow:none;border-radius:0;border-top:1px solid var(--line-app-strong);border-bottom:1px solid var(--line-app)}.fx-meter{min-height:34px}.fx-dept-wrap{background:transparent}.stm-options{background:transparent;box-shadow:none;border-radius:0;padding:var(--sp-2) 0;border-top:1px solid var(--line-app);border-bottom:1px solid var(--line-app)}.stm-margin.is-danger,.stm-margin.is-warn{box-shadow:none}.stm-margin-pill,.stm-sla{box-shadow:none;background:var(--surface)}.stm-margin-pill.is-ok{background:var(--green-soft)}.stm-margin-pill.is-warn,.stm-sla.is-late{background:var(--amber-soft)}.stm-margin-pill.is-danger,.stm-sla.is-flag{background:var(--danger-soft)}.stm-margin-badge b,.stm-margin-value{font-weight:var(--fw-base)}.fx-costbar.is-collapsed{border:0}.tk-code{letter-spacing:0;background:var(--surface);color:var(--muted-app)}.tk-comp{box-shadow:none;background:var(--surface)}.tk-comp--deliver{box-shadow:none;background:var(--amber-soft)}.tk-dlv-kind--link,.tk-dlv-kind--form,.tk-dlv-kind--qty{box-shadow:none;background:var(--surface)}.tk-check{box-shadow:inset 0 0 0 1px var(--line-app-strong)}.tk-check.is-on{box-shadow:none}.tk-dlv-link{font-size:inherit}:is(td,.mt-ops,.tk-card,.apr-aside,.list-row__aside) .btn-primary:not(.btn-danger):not(.tk-main-btn){background:var(--accent-soft);color:var(--accent);box-shadow:none}:is(td,.mt-ops,.tk-card,.apr-aside,.list-row__aside) .btn-primary:not(.btn-danger):not(.tk-main-btn):hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface-hi))}.row-menu-button{color:var(--faint-app)}.page-head .kpi-grid{min-width:0}.dt-toolbar .input--search,.dt-toolbar input[type=search],.dt-toolbar .search-field{background-color:var(--surface-hi2);border-color:transparent;border-radius:var(--r-full)}.dt-toolbar .input--search:focus,.dt-toolbar input[type=search]:focus,.dt-toolbar .search-field:focus{background-color:var(--surface-hi);border-color:var(--focus-line)}@media(max-width:600px){.dt--stack,.dt--stack tbody{display:block;width:100%}.dt--stack thead{display:none}.dt--stack tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--sp-3);row-gap:4px;padding:12px var(--sp-1);border-bottom:1px solid var(--line-app)}.dt--stack tbody tr.empty-row{display:block}.dt--stack tbody td{display:block;height:auto;padding:0!important;border:0!important;background:transparent!important;position:static;box-shadow:none;white-space:normal;min-width:0;grid-column:1 / -1}.dt--stack tbody td.is-hide-m{display:none}.dt--stack td[data-col=shortName]{grid-column:1;grid-row:1}.dt--stack td[data-col=shortNo]{grid-column:2;grid-row:1;color:var(--muted-app);font-size:var(--fs-caption);padding-top:2px!important}.dt--stack td .cell-main,.dt--stack td .cell-sub{max-width:none;white-space:normal}.dt--stack td[data-col=node] .cl-node{display:inline-flex;max-width:100%;height:22px;padding:0 8px;border-radius:var(--r-full);background:var(--surface);font-size:var(--fs-caption)}.dt--stack td[data-col=node] .cl-node span:not(.mono){max-width:60vw}.dt--stack td[data-col=node] .cl-node.is-overdue{background:var(--danger-soft)}.dt--stack td[data-col=node] .cl-node.is-active{background:var(--accent-soft)}}.q-status{display:inline-flex;flex-direction:column;gap:2px;align-items:flex-start}.q-status__why{white-space:nowrap}@media(max-width:600px){.quotes-page .dt--stack tbody tr{grid-template-columns:auto auto auto minmax(0,1fr) auto;column-gap:var(--sp-3)}.quotes-page .dt--stack td[data-col=shortName]{grid-column:1 / 5;grid-row:1}.quotes-page .dt--stack td[data-col=shortNo]{grid-column:5;grid-row:1;text-align:right}.quotes-page .dt--stack td[data-col=version]{grid-column:1;grid-row:2}.quotes-page .dt--stack td[data-col=amount]{grid-column:2;grid-row:2;text-align:left}.quotes-page .dt--stack td[data-col=sentDays]{grid-column:3;grid-row:2;text-align:left;color:var(--muted-app)}.quotes-page .dt--stack td[data-col=nextFollowUp]{grid-column:4 / 6;grid-row:2;text-align:right}.quotes-page .dt--stack td[data-col=nextFollowUp]:before{content:"追蹤 ";color:var(--faint-app);font-size:var(--fs-caption)}.quotes-page .dt--stack td[data-col=sentDate]{display:none}.quotes-page .dt--stack td[data-col=status]{grid-column:1 / 5;grid-row:3}.quotes-page .dt--stack td[data-col=status] .q-status{flex-direction:row;align-items:center;gap:var(--sp-2)}.quotes-page .dt--stack td[data-col=act]{grid-column:5;grid-row:3;text-align:right}}@media(max-width:600px){.fx-embed-table:not(:has(thead)){display:block;overflow:visible}.fx-embed-table:not(:has(thead)) tbody{display:block}.fx-embed-table:not(:has(thead)) tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:0}.fx-embed-table:not(:has(thead)) td{display:block;height:auto;padding:8px 0!important;border-top:1px solid var(--line-app);white-space:normal}.fx-embed-table:not(:has(thead)) td.num,.fx-embed-table:not(:has(thead)) td:nth-child(2n){text-align:right;white-space:nowrap;padding-left:var(--sp-3)!important}.tabs.segmented{gap:var(--sp-4);margin-left:-16px;margin-right:-16px;padding:0 16px;max-width:none;width:calc(100% + 32px)}}.fx-dept-sub td{background:transparent}.fx-dept-sub .dp{padding-left:var(--sp-4);border-left:1px solid var(--line-app-strong)}.dp-row--new td,.dp-row--edit td{background:var(--surface-hi2)}.sheet-wrap{border:0;border-radius:0;background:transparent}.sidebar__cta.btn-primary{background:var(--surface-hi);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--line-app-strong)}.sidebar__cta.btn-primary:hover{background:var(--surface-hi2)}@media screen and (max-width:960px){:is(button,a[href],input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,summary,[role=button],[role=tab],[role=menuitem],[role=option],[tabindex="0"],[data-clickable=true],th.is-sortable,tr.is-clickable,tr.tk-row[aria-expanded],li.rl-row[data-row]){min-width:40px!important;min-height:40px!important;touch-action:manipulation}a[href]{display:inline-flex;align-items:center}th.is-sortable{height:40px!important}label:has(>input:is([type=checkbox],[type=radio])){display:inline-flex;align-items:center;min-width:40px;min-height:40px;gap:6px}:is(button,input,select,textarea,summary,[tabindex="0"]){scroll-margin-block:160px 80px}.app-shell{grid-template-rows:auto minmax(0,1fr)}.topbar{display:grid;grid-template-columns:40px minmax(0,1fr);height:auto;min-height:var(--topbar-h);padding:6px 12px;gap:2px 8px}.topbar__brand{grid-column:1;grid-row:1;justify-content:center}.topbar__actions{grid-column:2;grid-row:1;margin:0;flex-wrap:wrap;justify-content:flex-end;gap:4px 8px}.topbar__user{flex:1 1 150px;white-space:normal}.topbar__user .avatar{flex:0 0 auto}.topbar__name{max-width:none;overflow:visible;white-space:normal;overflow-wrap:anywhere}.breadcrumb{grid-column:1 / -1;grid-row:2;flex-wrap:wrap;overflow:visible;gap:0 4px}.breadcrumb a,.breadcrumb__current{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;min-width:0;max-width:100%}.breadcrumb a{flex-wrap:wrap;column-gap:4px}.breadcrumb .breadcrumb__name{display:inline}.rl-row{grid-template-columns:16px minmax(0,1fr) auto 40px}.rl-menu .row-menu-button{width:40px;height:40px}.rl-title__link{-webkit-line-clamp:unset}.rl-title{align-items:center}.rl-right{align-self:center}.pb{flex-direction:column}.pb-segs{flex-wrap:wrap}.pb-seg{flex:0 0 40px}.pb-segs .pb-seg{position:static}.pb-segs .pb-seg .pb-tip,.pb-segs .pb-seg:last-child .pb-tip,.pb-segs .pb-seg:nth-last-child(2) .pb-tip{left:0;right:auto;min-width:0;width:max-content;max-width:min(300px,100%)}.pb-cur[data-clickable=true]{display:inline-flex;align-items:center;flex-wrap:wrap;white-space:normal;overflow:visible}.sp-toggle--float{top:0;right:0}.inspector:not(.is-collapsed)>.card:first-of-type .card__head{padding-right:48px;min-height:40px}.ci-combo-wrap,.fx-combo-wrap .ci-combo-wrap{display:grid;grid-template-columns:minmax(40px,1fr) 40px}.ci-combo-wrap>input.ci{padding-right:4px}.ci-combo-btn{position:static;transform:none;width:40px;height:40px;opacity:1}.qi-notecell:has(.row-del)>.ci{width:calc(100% - 40px)}.row-del{width:40px;height:40px;right:0;opacity:1}.sheet-table td.qe-has-toggle{padding-left:40px}.sheet-table td.qe-has-toggle>.qe-toggle{left:0;width:40px;height:40px}.fx-costbar,.fx-costbar.is-collapsed{bottom:calc(68px + env(safe-area-inset-bottom))}.fx-page--slip{padding-bottom:100px}}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-10) var(--sp-4);background:var(--surface-hi);color:var(--text);font-family:var(--font-sans)}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:flex-start;gap:0}.auth-brand{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-12)}.auth-brand__mark{width:32px;height:32px;border-radius:var(--r-lg);background:var(--text-strong);color:var(--surface-hi);display:grid;place-items:center;font-size:15px;font-weight:var(--fw-medium);line-height:1}.auth-brand__name{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text-strong);letter-spacing:.02em}.auth-brand__sep{width:1px;height:14px;background:var(--line-app-strong)}.auth-brand__product{font-size:var(--fs-body);color:var(--muted-app)}.auth-title{text-wrap:balance;margin:0;font-size:28px;line-height:1.25;font-weight:var(--fw-base);letter-spacing:-.01em;color:var(--text-strong)}.auth-lead{text-wrap:pretty;margin:var(--sp-4) 0 0;font-size:15px;line-height:1.7;color:var(--muted-app)}.auth-actions{margin-top:var(--sp-8);width:100%;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-4)}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 20px;border-radius:var(--r-btn);border:0;cursor:pointer;background:var(--accent);color:var(--surface-hi);font:inherit;font-size:15px;font-weight:var(--fw-medium);text-decoration:none;transition:var(--transition-colors)}.auth-btn:hover{background:var(--accent-hover)}.auth-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-btn svg{flex:none}.auth-link{align-self:center;font-size:var(--fs-body);color:var(--muted-app);text-decoration:none;padding:6px 8px;border-radius:var(--r-md)}.auth-link:hover{color:var(--text-strong);text-decoration:underline;text-underline-offset:3px}.auth-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-foot{margin:var(--sp-12) 0 0;font-size:var(--fs-label);line-height:1.6;color:var(--faint-app)}.auth-code{margin-top:var(--sp-2);font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--faint-app)}.auth-status{margin:var(--sp-6) 0 0;font-size:var(--fs-label);color:var(--faint-app)}@media(max-width:480px){.auth-page{justify-content:flex-start;padding-top:18vh}.auth-title{font-size:24px}.auth-brand{margin-bottom:var(--sp-10)}}.auth-nb{display:inline-block}.print-only,.ci-print-value{display:none}.print-actions{max-width:25rem;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.print-actions__hint{white-space:normal;flex-basis:100%;font-size:var(--fs-caption);color:var(--muted-app)}.fx-section--form .cs-aside{flex:0 1 25rem;min-width:0}@media screen and (max-width:900px){.fx-section--form>.cs-head{flex-wrap:wrap}.fx-section--form .cs-aside{flex-basis:100%;order:1}}.quote-signback{display:flex;align-items:stretch;gap:12px;padding:8px;min-height:90px}.quote-signback__fields{flex:1;display:grid;align-content:space-around;gap:12px}.quote-signback__stamp{border:1px solid var(--sheet-line);padding:6px;min-width:100px;text-align:center}.quote-company-stamp{border:1px solid var(--sheet-line);margin-top:8px;padding:6px;min-height:90px}@media print{html,body,#root{margin:0!important;padding:0!important;min-width:0!important;background:#fff}.app-shell,.app-main,.page-with-panel,.fx-layout,.fx-slip-main{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}.fx-page:has(.sheet--quote){page:quote}.fx-page--slip{page:slip}.topbar,.sidebar,.inspector,.bottom-nav,.bottom-sheet,.fx-head,.fx-back,.test-mode-banner,.fx-extra,.fx-progress,.fx-msg,.fx-warnings,.fx-errors,.sheet-status,.fx-meters,.fx-summary,.fx-costbar,.sp-toggle,.apr-block,.no-print,.sheet button,.sheet input,.sheet select,.sheet textarea,.sheet .ci-empty,.sheet .slip-dist-note,.pp-pop,.pp-caret,.pp-av,.toast-stack,.modal-backdrop{display:none!important}.fx-section--form>.cs-body[hidden],.print-only,.ci-print-value{display:block!important}.fx-section--form,.sheet-wrap,.sheet,.slip-scroll,.slip-hscroll{border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important;margin:0!important;max-height:none!important;min-width:0!important}.sheet{width:100%!important;font-size:9pt;line-height:1.3}.sheet-table{width:100%!important}.sheet-table thead{display:table-header-group;break-inside:avoid}.sheet-table tr{break-inside:avoid;page-break-inside:avoid}.sheet-table td,.sheet-table th{overflow:visible;overflow-wrap:anywhere}.sheet .ci{min-width:0!important;white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:normal;padding:0}.sheet .ci--calc{white-space:normal}.sheet .qi-cell,.sheet .ci-combo-wrap{display:block}.sheet .ci-combo-wrap{padding:0}.sheet .pp-box,.sheet .pp-chip{border:0;padding:0;background:transparent;height:auto;min-height:0;box-shadow:none}.sheet .pp-chip-name{white-space:normal;overflow:visible;max-width:none}.sheet--quote .sheet-table td,.sheet--quote .sheet-table th{height:auto!important;padding:1px 3px;font-size:9pt}.sheet--quote .sheet-table .t20{font-size:15pt}.sheet--quote .sheet-table .t18{font-size:14pt}.sheet--quote .sheet-table .t26{font-size:12pt}.sheet--quote .sheet-table td.tall{height:5mm!important}.sheet--quote .sheet-table td.pre{font-size:9pt;line-height:1.3;padding:2mm 1mm}.sheet--quote .quote-acceptance{break-inside:avoid;page-break-inside:avoid}.sheet--quote tr.row-spare{display:none!important}.sheet--quote .sheet-table th{color:#000;font-size:9pt;letter-spacing:0;white-space:normal}.sheet--quote .qs--accept{break-inside:avoid;page-break-inside:avoid}.sheet--quote .qs--letterhead{break-after:avoid;page-break-after:avoid}.sheet--quote .quote-notice{break-inside:avoid}.quote-signback{min-height:22mm;padding:2mm 0;gap:2mm}.quote-signback__stamp{min-width:25mm}.quote-company-stamp{margin-top:2mm;min-height:28mm;break-inside:avoid}.sheet--quote col:nth-child(8),.sheet--quote col:nth-child(9){width:0!important}.sheet--quote .col-cost{font-size:0!important;padding:0!important}.sheet--slip,.sheet--slip *{font-size:9pt!important}.sheet--slip .slip-title-bar{font-size:16pt!important;margin:0 0 3mm}.sheet--slip .sheet-table{table-layout:fixed;min-width:0!important}.sheet--slip .sheet-table td,.sheet--slip .sheet-table th{min-width:0!important;max-width:none!important;height:auto;padding:1mm;white-space:normal!important;line-height:1.3}.sheet--slip .sheet-table col{width:auto}.sheet--slip .slip-block-wrap{break-inside:avoid;margin-top:3mm}.sheet--slip .slip-block-body{display:block!important}.sheet--slip .slip-dept-note{white-space:normal;overflow-wrap:anywhere;max-width:100%}.sheet--slip .slip-dept-table{width:100%;table-layout:fixed}.sheet--slip .slip-dept-table col:nth-child(1){width:6%}.sheet--slip .slip-dept-table col:nth-child(2){width:8%}.sheet--slip .slip-lower{display:block;margin-top:3mm}.sheet--slip .slip-lower table{width:100%!important;break-inside:avoid;margin:3mm 0}.sheet--slip .slip-remarks{break-inside:avoid}.slip-print-meta{display:flex;flex-wrap:wrap;gap:4mm;margin-bottom:2mm}.sheet--slip .slip-print-table{margin-bottom:3mm}.sheet--slip .slip-print-table .slip-print-section-title{text-align:left;font-weight:600}.sheet--slip .slip-print-name,.sheet--slip .slip-print-note{text-align:left}.sheet--slip .slip-print-num{text-align:right;font-variant-numeric:tabular-nums}}.search-dialog{position:fixed;inset:0;margin:min(12vh,100px) auto auto;padding:0;width:min(680px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 140px);border:1px solid var(--line-app-strong);border-radius:var(--r-panel);background:var(--surface-hi);color:var(--text);box-shadow:var(--shadow-lg)}.search-dialog::backdrop{background:#1c1a1847}.search-panel{display:flex;flex-direction:column;max-height:inherit}.search-panel__head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 6px;color:var(--muted-app);font-size:12px;letter-spacing:.04em}.search-panel__head button{min-height:36px}.search-panel__field{display:flex;align-items:center;gap:10px;margin:8px 20px 16px;padding:0 14px;min-height:48px;background:var(--surface-hi2);border:1px solid transparent;border-radius:var(--r-full)}.search-panel__field:focus-within{border-color:var(--focus-line)}.search-panel__field svg{flex-shrink:0;color:var(--muted-app)}.search-panel__field input{width:100%;min-width:0;padding:12px 0;border:0;outline:0;background:transparent;box-shadow:none;font-size:16px;color:var(--text-strong)}.search-panel__scope{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 20px 14px;border-bottom:1px solid var(--line-app);font-size:12px;color:var(--muted-app)}.search-panel__scope label{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer;min-height:28px}.search-panel__results{overflow-y:auto;overscroll-behavior:contain;padding:8px;min-height:180px}.search-panel__group{display:flex;justify-content:space-between;padding:14px 12px 6px;font-size:12px;color:var(--muted-app)}.search-panel__option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:var(--r-lg);cursor:pointer;transition:var(--transition-colors)}.search-panel__option:hover,.search-panel__option[aria-selected=true]{background:var(--surface-hi2)}.search-panel__option[aria-selected=true]{box-shadow:inset 2px 0 var(--text-strong)}.search-panel__copy{min-width:0;display:grid;gap:4px}.search-panel__title{font-size:14px;overflow-wrap:anywhere;color:var(--text-strong)}.search-panel__subtitle{font-size:12px;color:var(--muted-app);overflow-wrap:anywhere}.search-panel__aside{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:42%;font-size:11px;color:var(--muted-app)}.search-panel__number{font-family:var(--font-mono);padding:2px 6px;border:1px solid var(--line-app);border-radius:var(--r-sm);overflow-wrap:anywhere}.search-panel__empty{padding:36px 16px;text-align:center;font-size:14px;color:var(--text-2)}.search-panel__empty p{font-size:12px;color:var(--muted-app);margin:10px 0 0}.search-panel__foot{display:flex;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--line-app);color:var(--muted-app);font-size:11px}.search-panel__foot kbd{font-family:var(--font-mono)}.topbar__search{display:none}@media(max-width:960px){.topbar__search{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0}.search-dialog{inset:0;margin:0;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.search-panel{height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.search-panel__head{padding-left:16px;padding-right:16px}.search-panel__field{margin-left:16px;margin-right:16px}.search-panel__scope{padding-left:16px;padding-right:16px}.search-panel__results{flex:1;min-height:0}.search-panel__foot{padding-left:16px;padding-right:16px}.search-panel__aside{max-width:36%}}
