:root{--background:#f4f7fb;--panel:#ffffffbd;--panel-soft:#f8fafc9e;--foreground:#162033;--muted-foreground:#708096;--border:#e3e9f1;--border-strong:#d5deea;--primary:#3183ed;--primary-soft:#e9f3ff;--primary-foreground:#fff;--success:#1fa971;--success-soft:#e8f8f1;--warning:#d89520;--warning-soft:#fff7e5;--danger:#d75151;--danger-soft:#fff0f0;--series-blue:#2f82ed;--series-green:#22b57a;--series-cyan:#66c6d9;--series-slate:#849bb2;--series-amber:#f0be4c;--series-purple:#8267c7;--chart-grid:#e8edf4;--sidebar-width:198px;--ui-font:"Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--background);width:100%;min-height:100%;color:var(--foreground);font-family:var(--ui-font);margin:0;font-size:14px}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #3183ed6b}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,h3,p{margin:0}h1,h2,h3,strong,b{font-weight:500}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-shell{background:var(--background);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);border-right:1px solid var(--border);z-index:2;background:#ffffffc2;flex-direction:column;min-height:100vh;display:flex;position:relative;box-shadow:6px 0 22px #1f365409}.brand-block{border-bottom:1px solid var(--border);align-items:center;gap:10px;height:56px;padding:0 18px;display:flex}.brand-block>div{flex-direction:column;min-width:0;line-height:1.3;display:flex}.brand-block strong{letter-spacing:.02em;font-size:16px}.brand-mark{background:linear-gradient(145deg,#4ba1ff,#2876df);border-radius:9px;flex:0 0 31px;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:3px;width:31px;height:31px;padding:5px;display:grid;box-shadow:0 5px 12px #3183ed38}.brand-mark i{background:#fffffff0;border-radius:2px;display:block}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){opacity:.72}.module-nav{gap:10px;padding:12px 8px;display:grid}.nav-group{gap:4px;min-width:0;display:grid}.module-nav .sector-trigger{color:#44546a;grid-template-columns:minmax(0,1fr);min-height:42px;padding:8px 10px;display:grid}.subnav{opacity:0;pointer-events:none;visibility:hidden;gap:2px;max-height:0;padding:2px 0;transition:max-height .26s,opacity .18s,transform .26s,visibility 0s linear .26s;display:grid;overflow:hidden;transform:translateY(-6px)}.subnav.is-open{opacity:1;pointer-events:auto;visibility:visible;max-height:760px;transition:max-height .3s,opacity .18s,transform .26s,visibility linear;transform:translateY(0)}.nav-subgroup{gap:2px;min-width:0;display:grid}.module-nav .subnav .subsector-trigger{color:#344861;background:#f6f8fbc2;justify-content:flex-start;min-height:38px;padding:7px 10px 7px 18px}.thirdnav{opacity:0;gap:1px;max-height:0;transition:max-height .22s,opacity .16s;display:grid;overflow:hidden}.thirdnav.is-open{opacity:1;max-height:380px}.module-nav .subnav .thirdnav button b{font-size:12px}.module-nav .subnav button{min-height:40px;padding:8px 10px 8px 20px;position:relative}.module-nav button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;width:100%;min-height:40px;padding:8px 10px;transition:background .15s,color .15s;display:flex}.module-nav button:hover{background:#f4f7fb}.module-nav b{white-space:nowrap;font-size:14px;font-weight:560}.module-nav .subnav button.settlement-price-nav{min-height:54px}.module-nav .subnav button.settlement-price-nav b{white-space:normal;line-height:1.35}.user-select-field{border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;align-items:center;gap:9px;min-width:min(430px,42vw);height:38px;padding-left:11px;display:flex}.user-select-field>span{color:var(--muted-foreground);flex:none;font-size:11px}.user-select-field select{min-width:0;height:100%;color:var(--foreground);cursor:pointer;background:0 0;border:0;outline:0;flex:auto}.readonly-note{background:#f4fbf8c2;border:1px solid #dbeee7;border-radius:9px;align-items:center;gap:8px;margin:auto 12px 16px;padding:11px 10px;display:flex}.readonly-note>i{background:var(--success);border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 4px #1fa9711f}.readonly-note>span{flex-direction:column;gap:2px;min-width:0;display:flex}.readonly-note b{font-size:12px}.readonly-note small{color:var(--muted-foreground);white-space:nowrap;font-size:10px}.main-workspace{width:calc(100% - var(--sidebar-width));flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--border);background:#ffffffb8;flex:0 0 56px;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:0 24px;display:flex}.date-toolbar{align-items:center;gap:8px;margin-left:auto;display:flex}.date-toolbar button,.date-field input{border:1px solid var(--border-strong);background:var(--panel);border-radius:6px;height:36px;transition:border-color .14s,background .14s}.date-toolbar button{cursor:pointer;justify-content:center;align-items:center;gap:5px;padding:0 12px;display:inline-flex}.date-toolbar button:not(:disabled):hover,.date-field input:hover{background:var(--panel-soft);border-color:#aebed1}.day-button span{color:var(--muted-foreground);font-size:19px;line-height:1}.date-field input{width:148px;color:var(--foreground);padding:0 10px}.date-toolbar .refresh-button{color:var(--primary-foreground);border-color:var(--primary);background:var(--primary)}.date-toolbar .refresh-button:not(:disabled):hover{background:#2675d6;border-color:#2675d6}.refresh-button>span{font-size:18px;line-height:1;display:inline-block}.refresh-button>span.is-spinning{animation:.8s linear infinite spin}.supply-update-control{position:relative}.date-toolbar .supply-update-trigger{text-overflow:ellipsis;max-width:260px;color:var(--primary);white-space:nowrap;background:#f7faff;border-color:#b9cde4;font-weight:600;overflow:hidden}.date-toolbar .supply-update-trigger.is-running,.date-toolbar .supply-update-trigger.is-verifying,.date-toolbar .supply-update-trigger.is-queued{color:var(--primary-foreground);border-color:var(--primary);background:var(--primary)}.date-toolbar .supply-update-trigger.is-waiting_login,.date-toolbar .supply-update-trigger.is-partial{color:#8a5a16;background:#fff9ec;border-color:#e6c989}.date-toolbar .supply-update-trigger.is-failed{color:var(--danger);background:#fff7f7;border-color:#e5bcbc}.date-toolbar .supply-update-trigger.is-completed{color:#1d7253;background:#f3faf7;border-color:#b9ddcf}.supply-update-panel{z-index:90;border:1px solid var(--border-strong);width:min(360px,100vw - 24px);color:var(--foreground);background:var(--panel);border-radius:6px;gap:11px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 28px #24374e1f}.supply-update-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.supply-update-range label{gap:5px;min-width:0;display:grid}.supply-update-range span{color:var(--muted-foreground);font-size:10px}.supply-update-range input{border:1px solid var(--border-strong);width:100%;min-width:0;height:34px;color:var(--foreground);background:var(--panel);border-radius:5px;outline:0;padding:0 8px}.supply-update-range input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2b7cd61f}.date-toolbar .supply-update-submit{width:100%;height:34px;color:var(--primary-foreground);border-color:var(--primary);background:var(--primary);font-weight:600}.supply-update-error{border-left:2px solid var(--danger);color:var(--danger);background:#fff7f7;padding:8px 9px;font-size:11px}.supply-update-progress{border-top:1px solid var(--border);gap:7px;padding-top:10px;display:grid}.supply-update-summary{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.supply-update-summary span,.supply-update-progress>small{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.supply-update-progress>small{font-size:10px}.supply-update-progress>p{color:var(--danger);margin:0;font-size:10px;line-height:1.5}.supply-update-progress>.supply-update-current{border-left:2px solid var(--primary);color:var(--foreground);overflow-wrap:anywhere;background:#f6f9fc;padding:7px 8px}.supply-update-meter{background:#e8edf3;height:3px;overflow:hidden}.supply-update-meter i{background:var(--primary);height:100%;transition:width .18s;display:block}.supply-update-days{border-top:1px solid var(--border);max-height:210px;overflow-y:auto}.supply-update-days>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 36px 58px;align-items:center;gap:8px;min-height:32px;font-size:10px;display:grid}.supply-update-days>div>b,.supply-update-days>div>small{text-align:right}.supply-update-days>div>small{color:var(--muted-foreground)}.supply-update-days>div.is-completed>small{color:#1d7253}.supply-update-days>div.is-failed>small,.supply-update-days>div.is-partial>small{color:var(--danger)}.date-toolbar .supply-update-shortcut,.supply-update-back,.supply-update-current-actions button,.supply-update-history-retry{border:1px solid var(--border-strong);cursor:pointer;background:#fff;border-radius:5px;height:34px;padding:0 12px}.date-toolbar .supply-update-shortcut{color:var(--primary);background:#f7faff;border-color:#b9cde4;font-weight:600}.supply-update-module{background:var(--background);min-width:0;height:100vh;padding:26px clamp(20px,3vw,42px) 44px;overflow-y:auto}.supply-update-module-header{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:flex-start;gap:24px;min-height:58px;display:flex}.supply-update-module-header h1{font-size:22px;line-height:1.2}.supply-update-module-header p{color:var(--muted-foreground);margin-top:6px;font-size:12px}.supply-update-back:hover,.supply-update-current-actions button:hover,.supply-update-history-retry:hover{color:var(--primary);background:#f7faff;border-color:#a9c5e6}.supply-update-command-band{border-bottom:1px solid var(--border);grid-template-columns:minmax(150px,190px) minmax(150px,190px) minmax(110px,1fr) auto;align-items:end;gap:14px;min-height:88px;display:grid}.supply-update-command-band label{gap:6px;min-width:0;padding-bottom:15px;display:grid}.supply-update-command-band input{border:1px solid var(--border-strong);width:100%;height:36px;color:var(--foreground);background:#fff;border-radius:5px;padding:0 10px}.supply-update-command-summary{min-width:0;height:51px;color:var(--muted-foreground);font-variant-numeric:tabular-nums;align-items:center;gap:9px;padding-bottom:15px;display:flex}.supply-update-command-summary b{color:var(--foreground)}.supply-update-start{border:1px solid var(--primary);height:36px;color:var(--primary-foreground);background:var(--primary);cursor:pointer;border-radius:5px;margin-bottom:15px;padding:0 18px}.supply-update-module-error{border-left:3px solid var(--danger);color:var(--danger);background:var(--danger-soft);margin-top:14px;padding:10px 12px}.supply-update-current-section,.supply-update-history-section{padding:22px 0 0}.supply-update-section-heading{border-bottom:1px solid var(--border-strong);justify-content:space-between;align-items:flex-start;gap:18px;min-height:40px;display:flex}.supply-update-section-heading>div:first-child{align-items:baseline;gap:12px;display:flex}.supply-update-section-heading strong{font-size:15px}.supply-update-current-actions{color:var(--muted-foreground);align-items:center;gap:12px;font-size:11px;display:flex}.supply-update-current-actions button{height:30px;color:var(--danger)}.supply-update-overview{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));min-height:74px;display:grid}.supply-update-receipt-summary{border:1px solid var(--border);background:var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:14px 0;display:grid;overflow:hidden}.supply-update-receipt-summary>div{background:var(--panel);gap:4px;min-width:0;padding:10px 12px;display:grid}.supply-update-receipt-summary span{color:var(--muted);font-size:12px}.supply-update-receipt-summary b{font-size:14px}.supply-update-overview>div{gap:7px;padding:15px 18px 12px 0;display:grid}.supply-update-overview span{color:var(--muted-foreground);font-size:11px}.supply-update-overview b{font-variant-numeric:tabular-nums;font-size:18px}.supply-update-module-meter{background:#e4eaf1;height:4px;margin-top:14px;overflow:hidden}.supply-update-module-meter i{background:var(--success);height:100%;transition:width .18s;display:block}.supply-update-module-current,.supply-update-module-message{border-left:3px solid var(--primary);color:var(--foreground);overflow-wrap:anywhere;background:#f7faff;margin-top:12px;padding:9px 11px}.supply-update-module-message{border-left-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.supply-update-day-table-wrap,.supply-update-history-table-wrap{width:100%;margin-top:14px;overflow-x:auto}.supply-update-day-table,.supply-update-history-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:620px}.supply-update-day-table th,.supply-update-day-table td,.supply-update-history-table th,.supply-update-history-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;height:42px;padding:0 12px}.supply-update-day-table th,.supply-update-history-table th{color:var(--muted-foreground);background:#ffffff75;font-size:11px;font-weight:500}.supply-update-day-table tr.is-completed td:nth-child(2) span,.supply-update-status.is-completed{color:var(--success)}.supply-update-day-table tr.is-failed td:nth-child(2) span,.supply-update-day-table tr.is-partial td:nth-child(2) span,.supply-update-status.is-failed,.supply-update-status.is-partial{color:var(--danger)}.supply-update-status.is-running,.supply-update-status.is-verifying,.supply-update-status.is-queued{color:var(--primary)}.supply-update-history-table tr.is-selected{background:#3183ed0f}.supply-update-history-table td:first-child button{color:var(--foreground);cursor:pointer;background:0 0;border:0;padding:0}.supply-update-history-table td:first-child button:hover{color:var(--primary)}.supply-update-history-retry{height:28px;color:var(--danger);padding:0 9px}.supply-update-module-empty{min-height:96px;color:var(--muted-foreground);border-bottom:1px solid var(--border);align-items:center;display:flex}@media (width<=820px){.supply-update-module{height:auto;min-height:100vh;padding:20px 16px 36px}.supply-update-command-band{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:14px}.supply-update-command-band label,.supply-update-command-summary,.supply-update-start{margin:0;padding-bottom:0}.supply-update-command-summary,.supply-update-start{margin-bottom:14px}.supply-update-overview,.supply-update-receipt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.supply-update-current-actions{flex-direction:column;align-items:flex-end}}.context-bar{border-bottom:1px solid var(--border);background:#ffffffb3;flex:0 0 46px;justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:0 24px;display:flex}.context-bar>div{align-items:baseline;gap:12px;display:flex}.context-bar strong{font-size:15px}.context-bar span{color:var(--muted-foreground);font-size:12px}.quality-strip{background:var(--panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;min-height:43px;padding:7px 24px;display:flex}.quality-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:25px;padding:3px 9px;font-size:12px;display:inline-flex}.quality-badge i{border-radius:50%;width:7px;height:7px}.quality-badge.complete{color:#147c55;background:var(--success-soft)}.quality-badge.complete i{background:var(--success)}.quality-badge.partial{color:#9a6a13;background:var(--warning-soft)}.quality-badge.partial i{background:var(--warning)}.quality-badge.empty{color:var(--muted-foreground);background:#eef2f6}.quality-badge.empty i{background:#94a2b5}.quality-count{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.missing-details{color:#956716;font-size:12px;position:relative}.missing-details summary{cursor:pointer}.missing-details>div{z-index:20;background:var(--panel);border:1px solid #f0dcae;border-radius:8px;flex-wrap:wrap;gap:6px;width:min(620px,70vw);max-height:210px;padding:10px;display:flex;position:absolute;top:27px;left:0;overflow:auto;box-shadow:0 12px 30px #2a3a5124}.missing-details>div span{background:var(--warning-soft);border-radius:5px;padding:4px 7px}.error-banner{color:#9f3434;background:var(--danger-soft);border-bottom:1px solid #f0cece;flex:none;align-items:center;gap:10px;min-height:44px;padding:7px 24px;font-size:12px;display:flex}.error-banner span{color:#a95b5b}.error-banner button{color:#9f3434;background:var(--panel);cursor:pointer;border:1px solid #e1aaaa;border-radius:5px;margin-left:auto;padding:4px 10px}.content-scroll{scrollbar-color:#b8c4d3 transparent;scrollbar-width:thin;flex:auto;min-height:0;overflow:auto}.panel{border:1px solid var(--border);background:var(--panel);border-radius:9px;box-shadow:0 3px 12px #20385809}.chart-panel-main{overflow:visible}.panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:50px;padding:9px 14px;display:flex}.panel-heading>div:first-child{min-width:160px}.panel-heading h2{font-size:16px;line-height:1.4}.legend-group{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;padding:3px;display:flex}.legend-toggle{min-height:30px;color:var(--muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;transition:color .16s,background-color .16s,border-color .16s,opacity .16s;display:inline-flex}.legend-toggle:hover{color:var(--foreground);background:var(--panel);border-color:var(--border)}.legend-toggle.is-active{color:var(--foreground);background:var(--panel);border-color:var(--border);box-shadow:0 1px 2px #2038580f}.legend-toggle:not(.is-active){opacity:.62}.legend-toggle:disabled{cursor:not-allowed;opacity:.44}.legend-toggle:disabled:hover{color:var(--muted-foreground);background:0 0;border-color:#0000}.legend-line{border-radius:999px;flex:0 0 16px;width:16px;height:3px;position:relative}.legend-line:after{display:none}.chart-stage{background:var(--panel);min-width:0;position:relative;overflow:hidden}.chart-stage-large{padding:6px 12px 0}.chart-stage-total{padding:4px 12px 0}.chart-stage-route{padding:0 8px}.chart-stage-position{padding:5px 12px 0}.data-chart{touch-action:pan-y;width:100%;display:block}.chart-stage-large .data-chart{height:clamp(320px,29vw,430px)}.chart-stage-total .data-chart{height:clamp(250px,23vw,340px)}.chart-stage-route .data-chart{height:176px}.chart-stage-position .data-chart{height:clamp(320px,27vw,410px)}.chart-grid,.chart-tick{stroke:var(--chart-grid);stroke-width:1px;vector-effect:non-scaling-stroke}.chart-zero{stroke:#b8c4d2;stroke-width:1.2px}.chart-axis-label,.chart-unit{fill:var(--muted-foreground);font-family:var(--ui-font);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:12px}.chart-x-label,.chart-unit{font-size:11px}.chart-crosshair{stroke:#5c7089b8;stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.chart-tooltip{z-index:12;pointer-events:none;background:#ffffffc2;border:1px solid #c7d3e1c7;border-radius:7px;width:230px;padding:8px 10px;font-size:11px;position:absolute;transform:translate(-50%);box-shadow:0 8px 20px #2337531a}.chart-tooltip strong{margin-bottom:5px;font-size:12px;display:block}.chart-tooltip span{min-height:20px;color:var(--muted-foreground);grid-template-columns:12px 1fr auto;align-items:center;gap:6px;display:grid}.chart-tooltip span i{border-radius:999px;width:11px;height:3px}.chart-tooltip span b{color:var(--foreground);font-variant-numeric:tabular-nums}.chart-tooltip-compact{width:190px}.position-tooltip{width:282px}.position-tooltip .sell-dot{background:var(--series-green)}.position-tooltip .buy-dot{background:var(--danger)}.position-tooltip .price-dot{background:var(--series-blue)}.position-bar{opacity:.82}.position-bar.sell{fill:var(--series-green)}.position-bar.buy{fill:var(--danger)}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.summary-grid.renewable-summary{grid-template-columns:minmax(0,440px)}.summary-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;min-width:0;padding:12px 13px}.summary-label{color:#49586c;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:7px;font-size:12px;display:flex;overflow:hidden}.summary-label i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.summary-main{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.summary-main span{flex-direction:column;gap:2px;min-width:0;display:flex}.summary-main small,.summary-main em,.summary-foot{color:var(--muted-foreground);font-size:10px;font-style:normal}.summary-main b{font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:15px;overflow:hidden}.summary-foot{border-top:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;margin-top:9px;padding-top:8px;overflow:hidden}.total-summary{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 18px 16px;display:grid}.tie-line-data-notice{color:#72551c;background:#fff9ea;border:1px solid #e9d39d;border-radius:6px;align-items:baseline;gap:9px;margin:12px 18px 4px;padding:9px 11px;font-size:12px;line-height:1.55;display:flex}.tie-line-data-notice strong{color:#8b6012;flex:none;font-size:12px}.total-summary>span{border-right:1px solid var(--border);grid-template-columns:1fr auto;gap:3px 8px;min-width:0;padding:2px 14px;display:grid}.total-summary>span:last-child{border-right:0}.total-summary small{color:var(--muted-foreground);font-size:11px}.total-summary b{font-variant-numeric:tabular-nums;grid-row:2;font-size:16px}.total-summary em{color:var(--muted-foreground);grid-area:2/2;align-self:end;font-size:10px;font-style:normal}.route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.route-card{min-width:0;overflow:hidden}.route-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;height:45px;padding:0 13px;display:flex}.route-heading h3{font-size:13px}.route-status-group{justify-content:flex-end;align-items:center;gap:4px;display:flex}.route-status{white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px}.route-status.complete{color:#147c55;background:var(--success-soft)}.route-status.partial{color:#956716;background:var(--warning-soft)}.route-summary{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-height:68px;padding:9px 12px 11px;display:grid}.route-summary span{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex-direction:column;gap:4px;min-width:0;font-size:10px;display:flex;overflow:hidden}.route-summary small{color:var(--muted-foreground);font-size:10px}@media (width<=720px){.tie-line-data-notice{flex-direction:column;align-items:flex-start;gap:2px;margin-inline:12px}.route-heading{flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;height:auto;min-height:52px}.route-status-group{flex-wrap:wrap;justify-content:flex-start}}.positive{color:var(--success)!important}.negative{color:var(--danger)!important}.neutral{color:var(--foreground)!important}.position-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start;gap:12px;display:grid}.position-main-column{gap:12px;min-width:0;display:grid}.position-table-panel{min-width:0;overflow:hidden}.position-table-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;min-height:50px;padding:9px 14px;display:flex}.position-table-heading h2{font-size:15px}.position-table-heading>span{color:#53657a;text-overflow:ellipsis;white-space:nowrap;background:#edf2f7cc;border-radius:999px;max-width:42%;padding:5px 9px;font-size:10px;overflow:hidden}.position-table-scroll{scrollbar-color:#c1cbd8 transparent;scrollbar-width:thin;max-height:520px;overflow:auto}.position-table{border-collapse:collapse;table-layout:fixed;color:#39475a;width:100%;min-width:820px;font-size:11px}.position-table th,.position-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;font-variant-numeric:tabular-nums;height:39px;padding:6px 10px}.position-table th:last-child,.position-table td:last-child{border-right:0}.position-table tr:last-child td{border-bottom:0}.position-table th{z-index:1;color:#68778a;white-space:nowrap;background:#f7f9fc;font-size:10px;font-weight:600;position:sticky;top:0}.position-table th small{color:#99a5b4;margin-left:3px;font-size:8px;font-weight:500}.position-table th:first-child{width:58px}.position-table th:nth-child(2){width:240px}.position-table th:nth-child(3){width:120px}.position-table th:nth-child(4){width:125px}.position-table th:nth-child(5){width:160px}.position-table th:nth-child(6){width:125px}.position-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.position-table td b{font-size:12px;font-weight:600}.position-table-sides{justify-content:center;align-items:center;gap:10px;display:flex}.position-table-sides i{text-align:right;min-width:58px;font-style:normal}.position-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.position-kpi{flex-direction:column;gap:7px;min-width:0;padding:13px 14px;display:flex}.position-kpi>span{color:var(--muted-foreground);font-size:11px}.position-kpi>b{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:19px;overflow:hidden}.position-kpi>small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.position-source-panel{overflow:hidden}.position-source-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 14px;display:flex}.position-source-heading h3{font-size:13px}.position-source-heading p{color:var(--muted-foreground);margin-top:3px;font-size:10px}.position-source-heading>span{color:var(--primary);background:var(--primary-soft);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:10px}.position-source-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:11px 13px 13px;display:grid}.position-source-grid article{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;flex-direction:column;gap:5px;min-width:0;padding:10px 11px;display:flex}.position-source-grid article>span{color:#4d5c70;font-size:11px}.position-source-grid article>b{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.position-source-grid article>small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.position-source-empty{color:var(--muted-foreground);text-align:center;grid-column:1/-1;padding:18px;font-size:11px}.excluded-panel{flex-direction:column;max-height:calc(100vh - 211px);display:flex;position:sticky;top:0;overflow:hidden}.excluded-heading{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:9px 13px;display:flex}.excluded-heading h2{font-size:15px}.excluded-heading>span{color:#936515;background:var(--warning-soft);border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 7px;font-size:11px;display:grid}.excluded-list{scrollbar-color:#c1cbd8 transparent;scrollbar-width:thin;flex:auto;align-content:start;gap:8px;min-height:0;padding:9px;display:grid;overflow:auto}.excluded-card{border:1px solid var(--border);width:100%;min-width:0;color:inherit;background:var(--panel-soft);cursor:pointer;font:inherit;text-align:left;border-radius:8px;padding:11px;transition:border-color .16s,box-shadow .16s,transform .16s}.excluded-card:hover{border-color:#b9cae0;transform:translateY(-1px);box-shadow:0 5px 16px #394d6914}.excluded-card:focus-visible{outline:2px solid color-mix(in srgb, var(--primary) 45%, transparent);outline-offset:1px}.excluded-item-top{align-items:center;gap:6px;display:flex}.direction-badge,.source-badge{border-radius:4px;padding:3px 6px;font-size:9px}.direction-badge.sell{color:#147c55;background:var(--success-soft)}.direction-badge.buy{color:#a33d3d;background:var(--danger-soft)}.source-badge{color:#5e6f83;text-overflow:ellipsis;white-space:nowrap;background:#eaf0f6;overflow:hidden}.excluded-list h3{text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:12px;line-height:1.45;overflow:hidden}.excluded-quantity{justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;display:flex}.excluded-quantity b{font-variant-numeric:tabular-nums;font-size:15px}.excluded-quantity span{color:var(--muted-foreground);white-space:nowrap;font-size:9px}.excluded-list dl{border-top:1px solid var(--border);gap:4px;margin:9px 0 0;padding-top:7px;display:grid}.excluded-list dl>div{grid-template-columns:35px minmax(0,1fr);gap:5px;min-width:0;font-size:9px;line-height:1.45;display:grid}.excluded-list dt{color:var(--muted-foreground)}.excluded-list dd{overflow-wrap:anywhere;margin:0}.excluded-reason{color:#946515;background:var(--warning-soft);border-radius:5px;margin-top:8px;padding:5px 7px;font-size:9px}.excluded-open{color:var(--primary);text-align:right;margin-top:7px;font-size:9px;display:block}.excluded-empty{min-height:210px;color:var(--muted-foreground);place-content:center;justify-items:center;gap:8px;font-size:11px;display:grid}.excluded-empty span{width:34px;height:34px;color:var(--success);background:var(--success-soft);border-radius:50%;place-items:center;display:grid}.position-modal-backdrop{z-index:100;background:#1926396b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.position-modal{border:1px solid var(--border-strong);background:#ffffffc7;border-radius:12px;flex-direction:column;width:min(1180px,100vw - 40px);max-height:calc(100vh - 40px);display:flex;overflow:hidden;box-shadow:0 24px 70px #16253a3d}.position-modal-heading{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 15px;display:flex}.position-modal-heading h2{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.4;overflow:hidden}.position-modal-heading button{border:1px solid var(--border);color:#6b7889;background:var(--panel-soft);cursor:pointer;border-radius:7px;flex:none;width:31px;height:31px;font-size:18px;line-height:1}.position-modal-heading button:hover{color:var(--foreground);border-color:var(--border-strong)}.position-modal-state{min-height:230px;color:var(--muted-foreground);justify-content:center;align-items:center;gap:9px;font-size:11px;display:flex}.position-modal-state.error{color:var(--danger)}.position-modal-summary{border-bottom:1px solid var(--border);background:#fafbfdb8;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px;display:grid}.position-modal-summary span{border:1px solid var(--border);background:var(--panel);border-radius:7px;flex-direction:column;gap:4px;min-width:0;padding:8px 10px;display:flex}.position-modal-summary small{color:var(--muted-foreground);font-size:9px}.position-modal-summary b{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.position-modal-body{scrollbar-color:#c1cbd8 transparent;scrollbar-width:thin;flex:auto;min-height:0;overflow:auto}.position-modal-section-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:8px 14px;display:flex}.position-modal-section-heading h3{font-size:12px}.position-modal-section-heading>span{color:var(--primary);background:var(--primary-soft);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:9px}.position-detail-table-scroll{scrollbar-color:#c1cbd8 transparent;scrollbar-width:thin;min-height:0;max-height:330px;overflow:auto}.position-detail-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:780px;font-size:10px}.position-detail-table th,.position-detail-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;padding:9px 10px}.position-detail-table th:first-child,.position-detail-table td:first-child,.position-detail-table th:nth-child(2),.position-detail-table td:nth-child(2){text-align:left}.position-detail-table th:first-child{width:34%}.position-detail-table th:nth-child(2){width:24%}.position-detail-table th:nth-child(n+3){width:14%}.segment-table{min-width:940px}.segment-table th:first-child{width:24%}.segment-table th:nth-child(2){width:16%}.segment-table th:nth-child(3){width:12%}.segment-table th:nth-child(4){width:14%}.segment-table th:nth-child(5){width:15%}.segment-table th:nth-child(6),.segment-table th:nth-child(7){width:9.5%}.position-member-details{border-top:1px solid var(--border);background:#fafbfdb8}.position-member-details>summary{min-height:43px;color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:10px 14px;font-size:10px;list-style:none;display:flex}.position-member-details>summary::-webkit-details-marker{display:none}.position-member-details>summary:after{content:"＋";color:#7e8da0;margin-left:auto;font-size:13px}.position-member-details[open]>summary{border-bottom:1px solid var(--border)}.position-member-details[open]>summary:after{content:"－"}.member-table-scroll{background:var(--panel);max-height:280px}.position-detail-table th:last-child,.position-detail-table td:last-child{border-right:0}.position-detail-table th{z-index:1;color:#68778a;white-space:nowrap;background:#f4f7facc;font-size:9px;position:sticky;top:0}.position-detail-table td small{color:var(--muted-foreground);margin-top:3px;font-size:8px;display:block}.position-modal-foot{min-height:38px;color:var(--muted-foreground);border-top:1px solid var(--border);background:#fafbfdb8;flex:none;padding:9px 14px;font-size:9px;line-height:1.45}.loading-state,.empty-state{border:1px solid var(--border);background:var(--panel);border-radius:9px;justify-content:center;align-items:center;min-height:420px;margin:14px;display:flex}.loading-state{color:var(--muted-foreground);gap:10px}.loading-ring{border:2px solid #dce5ef;border-top-color:var(--primary);border-radius:50%;width:19px;height:19px;animation:.8s linear infinite spin}.empty-state{text-align:center;flex-direction:column}.empty-wave{width:56px;height:56px;color:var(--primary);background:var(--primary-soft);border-radius:16px;place-items:center;margin-bottom:13px;font-family:Georgia,serif;font-size:36px;display:grid}.empty-state h2{font-size:16px}.empty-state p{color:var(--muted-foreground);margin-top:8px;font-size:12px}.user-side-content{gap:12px;display:grid}.user-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.user-kpi-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-content:center;gap:7px;min-width:0;min-height:84px;padding:12px 14px;display:grid}.user-kpi-card.emphasis{background:#f4f9ffc2;border-color:#bfd9f7}.user-kpi-card.warning{background:#fffaf0c2;border-color:#ead6a5}.user-kpi-card span,.user-kpi-card small{color:var(--muted-foreground);font-size:11px}.user-kpi-card strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:22px;overflow:hidden}.user-dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);gap:12px;display:grid}.user-month-panel,.user-profile-panel,.user-spot-panel,.user-ranking-panel{min-width:0;overflow:hidden}.user-panel-heading>span,.user-panel-heading>strong{color:var(--muted-foreground);font-size:11px}.user-panel-heading>strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:20px}.user-panel-heading>strong small{color:var(--muted-foreground);font-size:10px}.user-chart-legend{color:var(--muted-foreground);align-items:center;gap:15px;font-size:11px;display:flex}.user-chart-legend span{align-items:center;gap:6px;display:inline-flex}.user-chart-legend i{border-radius:2px;width:18px;height:3px}.user-chart-legend i.quantity{background:#58a5ef;height:9px}.user-chart-legend i.price{background:#d49a32}.user-chart-stage{padding:8px 12px 3px}.user-chart-stage svg{width:100%;height:315px;display:block}.spot-chart-stage svg{height:285px}.user-quantity-bar{fill:#58a5ef;opacity:.86}.user-price-line,.spot-price-line{fill:none;stroke:#d49a32;stroke-width:2.2px;vector-effect:non-scaling-stroke}.spot-price-line{stroke:var(--series-blue)}.user-price-point{fill:var(--panel);stroke:#d49a32;stroke-width:2px;vector-effect:non-scaling-stroke}.record-state{border-radius:5px;padding:4px 8px}.record-state.active{color:#147c55;background:var(--success-soft)}.record-state.inactive{color:#a54b4b;background:var(--danger-soft)}.user-profile-list{margin:0;padding:4px 16px 10px}.user-profile-list>div{border-bottom:1px solid var(--border);grid-template-columns:86px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;display:grid}.user-profile-list dt{color:var(--muted-foreground);font-size:11px}.user-profile-list dd{text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.coverage-heading{color:var(--muted-foreground);justify-content:space-between;padding:2px 16px 8px;font-size:11px;display:flex}.coverage-heading b{color:var(--foreground);font-variant-numeric:tabular-nums}.coverage-matrix{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 16px 15px;display:grid}.coverage-matrix>span{border:1px solid var(--border);min-width:0;height:28px;color:var(--muted-foreground);border-radius:5px;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:5px;padding:0 7px;font-size:10px;display:grid}.coverage-matrix>span i{background:#b7c2cf;border-radius:50%;width:6px;height:6px}.coverage-matrix>span.available{color:#267458;background:#f6fbf8;border-color:#d7ece3}.coverage-matrix>span.available i{background:var(--success)}.coverage-matrix>span b{font-variant-numeric:tabular-nums}.user-ranking-table-wrap{overflow-x:auto}.user-ranking-table{border-collapse:collapse;width:100%;font-size:12px}.user-ranking-table th,.user-ranking-table td{border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;height:44px;padding:7px 14px}.user-ranking-table th:first-child,.user-ranking-table td:first-child{text-align:left;width:45%}.user-ranking-table th{color:var(--muted-foreground);background:var(--panel-soft);font-size:10px}.user-ranking-table td:first-child{flex-direction:column;justify-content:center;gap:2px;display:flex}.user-ranking-table td small{color:var(--muted-foreground);font-size:9px}.user-ranking-table tr.selected td{background:#f2f8ff}.user-ranking-table tbody tr:last-child td{border-bottom:0}.user-operations-content{gap:12px}.user-operations-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.user-kpi-card.clearing{background:#f6fbfa;border-color:#cfe5df}.user-primary-grid,.user-support-grid{grid-template-columns:minmax(0,1.75fr) minmax(300px,.8fr);gap:12px;display:grid}.user-source-panel,.user-clearing-panel,.user-monthly-panel,.user-support-grid>.panel{min-width:0;overflow:hidden}.user-source-panel .user-panel-heading>strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:20px}.user-source-panel .user-panel-heading>strong small{color:var(--muted-foreground);font-size:10px;font-weight:500}.holding-source-list{gap:14px;padding:6px 16px 18px;display:grid}.holding-source-list article{min-width:0}.source-row{color:var(--foreground);justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;display:flex}.source-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.source-row span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none}.source-meter{background:var(--panel-soft);border-radius:4px;height:7px;margin:7px 0 5px;overflow:hidden}.source-meter i{border-radius:inherit;background:#5b9fe9;min-width:4px;height:100%;display:block}.holding-source-list article.is-transfer .source-meter i{background:#cf8e51}.holding-source-list small{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:10px}.user-empty-inline{color:var(--muted-foreground);padding:22px 16px;font-size:12px}.user-holding-chart-stage svg{height:292px}.user-clearing-chart-stage svg{height:306px}.clearing-actual-bar{fill:#5fae9d;opacity:.78}.user-chart-legend i.actual{background:#5fae9d;height:9px}.user-chart-legend i.spot{background:var(--series-blue)}.user-monthly-table-wrap{overflow-x:auto}.user-monthly-table{border-collapse:collapse;width:100%;min-width:760px;font-size:12px}.user-monthly-table th,.user-monthly-table td{border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;height:48px;padding:7px 12px}.user-monthly-table th:first-child,.user-monthly-table td:first-child{text-align:left}.user-monthly-table th{color:var(--muted-foreground);background:var(--panel-soft);font-size:10px;font-weight:500;line-height:1.35}.user-monthly-table th small{font-size:9px}.user-monthly-table td:first-child b{font-weight:600}.user-monthly-table tr.selected td{background:#f1f7ff}.user-monthly-table tbody tr:last-child td{border-bottom:0}.user-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1180px){.user-primary-grid{grid-template-columns:1fr}}@media (width<=1080px){.user-operations-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.user-operations-kpis,.user-support-grid{grid-template-columns:1fr}.user-holding-chart-stage svg,.user-clearing-chart-stage svg{height:260px}.user-panel-heading>strong{font-size:18px}}@media (width>=1081px){.user-operations-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1450px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.route-grid,.position-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=1080px){:root{--sidebar-width:176px}.topbar{padding:0 16px}.context-bar,.quality-strip,.error-banner{padding-left:16px;padding-right:16px}.day-button{width:36px;font-size:0;padding:0!important}.day-button span{font-size:22px}.total-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.total-summary>span:nth-child(2){border-right:0}.user-dashboard-grid{grid-template-columns:1fr}}@media (width<=900px){.position-layout{grid-template-columns:1fr}.excluded-panel{max-height:none;position:static}.excluded-list{max-height:520px}}@media (width<=760px){.dashboard-shell{display:block}.module-nav .subnav button b{white-space:normal;overflow-wrap:anywhere;min-width:0}.sidebar{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:140px 1fr;width:100%;height:auto;min-height:auto;display:grid}.brand-block{border-bottom:0;justify-content:flex-start;height:58px;padding:0 12px}.brand-block>div{display:flex}.brand-block span{display:none}.module-nav{flex-direction:column;gap:5px;padding:7px 8px;display:flex}.nav-group{gap:2px;display:grid}.module-nav .sector-trigger{justify-content:initial;grid-template-columns:minmax(0,1fr);min-height:43px;display:grid}.subnav{grid-template-columns:repeat(2,minmax(0,1fr))}.module-nav button{min-height:43px;padding:6px 9px}.main-workspace{width:100%;height:calc(100vh - 110px)}.topbar{flex-direction:row;flex:none;align-items:center;gap:0;min-height:60px;padding:10px 12px}.date-toolbar{width:100%}.user-select-field{flex:auto;min-width:0}.user-select-field>span{display:none}.date-field{flex:auto}.date-field input{width:100%}.context-bar{flex-basis:48px;min-height:48px}.context-bar>div span,.read-time{display:none}.quality-strip{flex-wrap:wrap;align-items:flex-start}.module-content{padding:9px}.panel-heading{flex-direction:column;align-items:flex-start;gap:8px}.legend-group{justify-content:flex-start}.chart-stage-large .data-chart,.chart-stage-total .data-chart,.chart-stage-position .data-chart{height:285px}.summary-grid,.route-grid{grid-template-columns:1fr}.user-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-chart-stage svg,.spot-chart-stage svg{height:260px}.position-source-grid{grid-template-columns:1fr}.position-table-heading{flex-direction:column;align-items:flex-start}.position-table-heading>span{max-width:100%}.position-modal-backdrop{padding:10px}.position-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.position-modal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.total-summary{grid-template-columns:1fr}.total-summary>span{border-right:0;border-bottom:1px solid var(--border)}.total-summary>span:last-child{border-bottom:0}.missing-details>div{width:min(88vw,520px);left:auto;right:-20px}}@media (width<=430px){.sidebar{display:block}.brand-block{justify-content:center;height:48px;padding:0}.module-nav{display:flex}.module-nav b{font-size:12px}.refresh-button{width:38px;font-size:0;padding:0!important}.refresh-button span{font-size:18px}.quality-count{display:none}.route-summary,.position-kpi-grid,.position-modal-summary,.user-kpi-grid,.coverage-matrix{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1081px){.user-operations-content .user-operations-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.user-annual-kpis,.user-clearing-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.annual-month-bars{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:10px;height:300px;padding:24px 18px 20px;display:grid}.annual-month-bar{grid-template-rows:20px minmax(0,1fr) 20px;justify-items:center;gap:7px;min-width:0;height:100%;display:grid}.annual-month-bar strong,.annual-month-bar span{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.annual-month-bar strong{color:var(--foreground);font-size:11px}.annual-bar-track{background:var(--panel-soft);border-radius:5px 5px 2px 2px;align-items:end;width:min(32px,70%);height:100%;display:flex;overflow:hidden}.annual-bar-track i{background:#5b9fe9;border-radius:5px 5px 2px 2px;width:100%;min-height:3px;display:block}.user-clearing-detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:12px;display:grid}.user-clearing-detail-grid>.panel{min-width:0;overflow:hidden}.clearing-record-table{min-width:640px}@media (width<=1180px){.user-clearing-detail-grid{grid-template-columns:1fr}}@media (width<=1080px){.user-annual-kpis,.user-clearing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.user-annual-kpis,.user-clearing-kpis{grid-template-columns:1fr}.annual-month-bars{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;height:420px}}@media (width>=1081px){.user-annual-content .user-annual-kpis,.user-clearing-content .user-clearing-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.user-model-shell .module-nav{flex:auto;align-content:start;min-height:0;overflow-y:auto}.user-model-toolbar{justify-content:flex-end;align-items:end;gap:8px;min-width:0;margin-left:auto;display:flex}.user-model-toolbar label,.user-update-form label{gap:4px;min-width:0;display:grid}.user-model-toolbar label>span,.user-update-form label>span{color:var(--muted-foreground);font-size:10px}.user-model-toolbar input,.user-model-toolbar select,.user-table-tools input,.user-update-form input,.user-update-form select{border:1px solid var(--border-strong);min-width:0;height:36px;color:var(--foreground);background:var(--panel);font:inherit;border-radius:6px;outline:0;padding:0 10px}.user-model-toolbar label:first-child input{width:78px}.user-model-toolbar select{max-width:min(360px,29vw)}.primary-button,.secondary-button{border:1px solid var(--primary);min-height:36px;color:var(--primary-foreground);background:var(--primary);cursor:pointer;font:inherit;border-radius:6px;padding:0 13px;font-size:12px;font-weight:600}.secondary-button{color:var(--foreground);border-color:var(--border-strong);background:var(--panel)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.icon-command{width:36px;padding:0;font-size:19px}.user-model-content{gap:12px;padding:14px;display:grid}.user-model-panel{min-width:0;overflow:hidden}.user-model-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.user-model-kpis .user-kpi-card strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:20px;line-height:1.15;overflow:visible}.user-model-detail-list{margin:0;padding:7px 16px 14px}.user-model-detail-list>div{border-bottom:1px solid var(--border);grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;min-height:42px;display:grid}.user-model-detail-list>div:last-child{border-bottom:0}.user-model-detail-list dt{color:var(--muted-foreground);font-size:11px}.user-model-detail-list dd{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.mono-value{font-variant-numeric:tabular-nums;font-family:Cascadia Mono,Consolas,monospace}.user-status-badge,.issue-severity{color:#4d5f73;white-space:nowrap;background:#edf1f5;border-radius:5px;justify-content:center;align-items:center;min-width:50px;min-height:24px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.user-status-badge.complete,.issue-severity.info{color:#1d7253;background:#e8f6f0c7}.user-status-badge.incomplete,.issue-severity.warning{color:#93631d;background:#fff3d8c7}.user-status-badge.failed,.issue-severity.error{color:#a14141;background:#fde8e8c7}.user-table-tools{border-bottom:1px solid var(--border);padding:10px 14px}.user-table-tools label{display:block}.user-table-tools input{width:min(460px,100%)}.user-model-table-wrap{max-width:100%;overflow:auto}.user-model-table-wrap.compact{max-height:510px}.user-model-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.user-model-table th,.user-model-table td{border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-height:42px;padding:9px 13px}.user-model-table th{z-index:1;color:var(--muted-foreground);background:var(--panel-soft);font-size:10px;font-weight:600;position:sticky;top:0}.user-model-table th:first-child,.user-model-table td:first-child{text-align:left}.user-model-table tbody tr:hover td{background:#f7f9fccc}.user-model-table tbody tr:last-child td{border-bottom:0}.user-model-table td:first-child b,.user-model-table td:first-child small{display:block}.user-model-table td:first-child small{color:var(--muted-foreground);margin-top:3px;font-size:9px}.user-daily-clearing-panel{min-width:0}.user-daily-clearing-wrap{max-height:calc(100vh - 210px)}.user-daily-clearing-table{width:max-content;min-width:100%}.user-daily-clearing-table th,.user-daily-clearing-table td{min-width:92px;padding:9px 10px}.user-daily-clearing-table th:first-child,.user-daily-clearing-table td:first-child{z-index:2;background:var(--panel);text-align:left;border-right:1px solid var(--border-strong);min-width:122px;position:sticky;left:0}.user-daily-clearing-table thead th:first-child{z-index:3;background:var(--panel-soft)}.user-daily-clearing-table tbody tr:hover td:first-child{background:#f7f9fceb}.user-daily-clearing-table .clearing-day-group{border-left:1px solid var(--border-strong);text-align:center}.user-daily-clearing-table .clearing-day-end{border-right:1px solid var(--border-strong)}.user-model-empty{min-height:220px;color:var(--muted-foreground);place-items:center;font-size:12px;display:grid}.usage-page{min-width:0;color:var(--foreground);background:radial-gradient(circle at 86% 0,#3274be14,#0000 31%),#f5f7fa;gap:16px;padding:18px;display:grid}.usage-import-page{align-content:start}.usage-import-panel{border:1px solid var(--border);background:#ffffffeb;border-radius:8px;gap:16px;min-width:0;padding:17px;display:grid;box-shadow:0 10px 30px #1e36520d}.usage-import-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.usage-import-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.import-confirm-command{color:#fff;background:#18794e;border-color:#18794e}.import-confirm-command:hover:not(:disabled){background:#11633f;border-color:#11633f}.usage-import-file-list{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:7px;display:grid}.usage-import-file-list>div{border:1px solid var(--border);background:#f8fafc;border-radius:6px;justify-content:space-between;gap:10px;min-width:0;padding:9px 11px;font-size:11px;display:flex}.usage-import-file-list b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-import-file-list small{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex:none}.usage-import-error{margin:0}.usage-import-preview{border-top:1px solid var(--border);gap:14px;padding-top:2px;display:grid}.usage-import-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.usage-import-table-wrap{border:1px solid var(--border);border-radius:7px;max-width:100%;overflow:auto}.usage-import-table{min-width:620px;box-shadow:none}.usage-import-warning,.usage-import-success{border-radius:6px;padding:10px 12px;font-size:12px}.usage-import-warning{color:#81570f;background:#fff8e6;border:1px solid #efd99e}.usage-import-success{color:#1d654c;overflow-wrap:anywhere;background:#edf9f3;border:1px solid #b8dfce}.data-import-shell{min-width:0}.data-import-tabs{border-bottom:1px solid var(--border);background:#fff;align-items:end;gap:4px;min-height:44px;padding:8px 18px 0;display:flex}.data-import-tabs button{min-height:36px;color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 14px;font-weight:700}.data-import-tabs button.active{color:#174f86;border-bottom-color:#2774b9}.d2-import-fields{grid-template-columns:repeat(2,minmax(190px,260px));gap:10px;display:grid}.d2-import-fields label{color:var(--muted-foreground);gap:5px;font-size:11px;font-weight:700;display:grid}.d2-import-fields input{border:1px solid var(--border);min-height:36px;color:var(--foreground);font:inherit;background:#fff;border-radius:5px;padding:0 10px}.week-import-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.week-import-controls>label{min-width:150px;color:var(--muted-foreground);gap:5px;font-size:11px;font-weight:700;display:grid}.week-import-controls select{border:1px solid var(--border);min-height:36px;color:var(--foreground);font:inherit;background:#fff;border-radius:5px;padding:0 10px}.week-import-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.week-direction-table{min-width:940px}.week-hourly-table{min-width:520px}.week-conflict-list{color:#8b2e24;background:#fff5f3;border:1px solid #e6b9b3;border-radius:6px;gap:5px;padding:11px 12px;font-size:12px;display:grid}.week-conflict-list span{overflow-wrap:anywhere}.week-history-panel .usage-import-table{min-width:1220px}.week-history-panel td:nth-child(4){white-space:normal;min-width:230px}.week-history-panel td:nth-child(5){text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.d2-history-panel .usage-import-table{min-width:1320px}.d2-history-panel td:nth-child(4){text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.d2-history-filters{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.d2-history-filters label{min-width:170px;color:var(--muted-foreground);gap:5px;font-size:11px;font-weight:700;display:grid}.d2-history-filters input,.d2-history-filters select{border:1px solid var(--border);min-height:36px;color:var(--foreground);font:inherit;background:#fff;border-radius:5px;padding:0 10px}.d2-history-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.d2-history-detail{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.d2-history-detail .usage-section-heading h2{overflow-wrap:anywhere;max-width:min(720px,72vw)}.d2-history-audit{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0;display:grid}.d2-history-audit>div{border-bottom:1px solid var(--border);grid-template-columns:104px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.d2-history-audit>div:nth-child(odd){padding-right:18px}.d2-history-audit dt{color:var(--muted-foreground);font-size:11px;font-weight:700}.d2-history-audit dd{overflow-wrap:anywhere;min-width:0;color:var(--foreground);margin:0;font-size:12px}.d2-status{border:1px solid var(--border);color:#52606d;white-space:nowrap;background:#f5f7f9;border-radius:4px;align-items:center;min-height:24px;padding:0 8px;display:inline-flex}.d2-status-applied{color:#176141;background:#edf9f3;border-color:#b8dfce}.d2-status-revoked{color:#8b2e24;background:#fff3f1;border-color:#e9c5bf}.d2-status-legacy{color:#74530b;background:#fff8e6;border-color:#ead69b}.workbook-command.danger{color:#a3362b;background:#fff8f7;border-color:#d9aca6}.workbook-command.danger:hover:not(:disabled){color:#fff;background:#a3362b;border-color:#a3362b}.usage-page-heading,.usage-section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.usage-page-heading h2,.usage-section-heading h2{letter-spacing:-.02em;margin:4px 0 0;font-size:21px}.usage-page-heading p,.usage-section-heading p{color:var(--muted-foreground);margin:0;font-size:12px}.usage-eyebrow{color:var(--primary);letter-spacing:.12em;font-size:10px;font-weight:700}.usage-heading-summary{gap:8px;display:flex}.usage-heading-summary span,.usage-kpis span{border:1px solid var(--border);background:#ffffffdb;border-radius:8px;gap:4px;min-width:130px;padding:11px 13px;display:grid;box-shadow:0 5px 18px #192f4c0a}.usage-heading-summary small,.usage-kpis small{color:var(--muted-foreground);font-size:10px}.usage-heading-summary b,.usage-kpis b{font-variant-numeric:tabular-nums;font-size:14px}.usage-table-wrap,.usage-ranking-wrap{border:1px solid var(--border);background:var(--panel);border-radius:9px;max-width:100%;overflow:auto;box-shadow:0 10px 30px #1e36520d}.usage-table-wrap{max-height:calc(100vh - 245px)}.usage-detail-table,.usage-ranking-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;font-size:11px}.usage-detail-table{width:max-content;min-width:100%}.usage-detail-table th,.usage-detail-table td,.usage-ranking-table th,.usage-ranking-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:9px 11px}.usage-detail-table th,.usage-ranking-table th{z-index:2;color:#42566d;background:#eef2f6;font-size:10px;font-weight:700;position:sticky;top:0}.usage-detail-table th:first-child,.usage-detail-table td:first-child{z-index:1;text-align:left;background:var(--panel);min-width:112px;position:sticky;left:0}.usage-detail-table thead th:first-child{z-index:3;background:#e8edf3}.usage-detail-table td:first-child b,.usage-detail-table td:first-child small{display:block}.usage-detail-table td:first-child small{color:var(--muted-foreground);margin-top:2px;font-size:9px}.usage-detail-table tbody tr:hover td{background:#f8fafc}.usage-detail-table tbody tr:hover td:first-child{background:#f3f6f9}.usage-empty-cell{color:#a8b2bf;background:#fbfcfd}.usage-total-cell{color:#173e68;background:#e8f1fbad;font-weight:700}.usage-status{border-radius:999px;justify-content:center;min-width:54px;padding:3px 7px;font-size:10px;font-weight:700;display:inline-flex}.usage-status.complete{color:#1c6a4f;background:#e8f5ef}.usage-status.incomplete{color:#956017;background:#fff2d8}.usage-status.pending{color:#68788a;background:#edf1f5}.usage-average-page{align-content:start}.usage-ranking-panel,.usage-selected-panel{border:1px solid var(--border);background:#ffffffeb;border-radius:10px;gap:14px;min-width:0;padding:17px;display:grid;box-shadow:0 10px 30px #1e36520d}.usage-ranking-wrap{max-height:360px;box-shadow:none}.usage-ranking-table{width:100%;min-width:780px}.usage-ranking-table th:nth-child(2),.usage-ranking-table td:nth-child(2){text-align:left}.usage-ranking-table tbody tr.selected td{background:#e0eefdb8}.usage-ranking-user{color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:0;display:grid}.usage-ranking-user:hover b{color:var(--primary);text-decoration:underline}.usage-ranking-user small{color:var(--muted-foreground);font-size:9px}.usage-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.usage-kpis span{min-width:0}.usage-average-chart{border:1px solid var(--border);background:linear-gradient(#fbfdff,#f7f9fc);border-radius:8px;min-width:0;padding:10px}.usage-average-chart svg{width:100%;min-width:0;height:330px;display:block}.usage-chart-grid{stroke:#dfe5ec;stroke-width:1px}.usage-chart-axis,.usage-chart-unit{fill:#68798b;font-size:10px}.usage-chart-unit{font-weight:700}.usage-chart-area{fill:#307dcd1f}.usage-chart-line{fill:none;stroke:#2876be;stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round}.usage-chart-point{fill:#fff;stroke:#2876be;stroke-width:2px}.usage-chart-hover line{stroke:#28507861;stroke-dasharray:4 4}.usage-chart-hover rect{fill:#203951;opacity:.94}.usage-chart-hover text{fill:#fff;font-size:11px;font-weight:650}.usage-chart-empty{border:1px dashed var(--border-strong);min-height:260px;color:var(--muted-foreground);background:#fafbfd;border-radius:8px;place-items:center;font-size:12px;display:grid}@media (width<=1100px){.usage-page-heading,.usage-section-heading{flex-direction:column;align-items:start}.usage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.user-update-form{grid-template-columns:minmax(180px,1.4fr) minmax(100px,.5fr);gap:12px;padding:16px;display:grid}.user-update-form label:nth-child(3),.user-update-form label:nth-child(4),.user-update-actions,.user-update-preview{grid-column:1/-1}.user-update-actions{justify-content:flex-end;gap:8px;display:flex}.user-update-preview{border:1px solid var(--border);color:#38506a;background:var(--panel-soft);border-radius:6px;max-width:100%;margin:0;padding:12px;font-size:11px;overflow:auto}.user-export-box{gap:14px;padding:8px 16px 18px;display:grid}.export-button{justify-self:end}.export-result{color:#24644d;background:#f3faf7c7;border:1px solid #cde7dd;border-radius:6px;gap:5px;padding:12px;display:grid}.export-result small{color:var(--muted-foreground)}.user-model-path{min-width:0;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Mono,Consolas,monospace;font-size:10px;overflow:hidden}@media (width<=1260px){.user-model-toolbar label>span{display:none}.user-model-toolbar{align-items:center}.user-model-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.user-model-shell .topbar{flex-direction:row;flex:none;align-items:center;min-height:60px;padding:10px 12px}.user-model-toolbar{flex-wrap:wrap;justify-content:flex-start;width:100%}.user-model-toolbar select{max-width:62vw}.user-model-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.user-model-kpis,.user-annual-kpis,.user-update-form{grid-template-columns:1fr}.user-update-form>*{grid-column:1!important}.user-model-toolbar label:first-child input{width:70px}}.workbook-replica-shell{--excel-grid:#7f7f7f;--excel-grid-soft:#b7b7b7;--excel-navy:#002060;--excel-blue:#d9e2f3;--excel-blue-strong:#b4c6e7;--excel-green:#e2f0d9;--excel-green-strong:#c6e0b4;--excel-yellow:#fff2cc;--excel-gray:#d9d9d9;--excel-bright-green:#92d050;--excel-settlement:#f2f2f2;background:#e7ebef}.workbook-topbar{background:#f7f8fa;border-bottom-color:#cbd2da;flex-basis:62px;min-height:62px;padding:8px 16px}.workbook-toolbar{justify-content:flex-end;align-items:end;gap:8px;width:100%;min-width:0;display:flex}.workbook-toolbar label,.workbook-toolbar .workbook-user-select{gap:4px;min-width:0;display:grid}.workbook-toolbar label>span,.workbook-toolbar .workbook-user-select>span{color:#596576;font-size:10px}.workbook-toolbar input,.workbook-toolbar select{color:#1d2733;min-width:0;height:34px;font:12px var(--ui-font);background:#fff;border:1px solid #aeb7c2;border-radius:3px;outline:0;padding:0 9px}.user-search-combobox{min-width:0;position:relative}.workbook-toolbar .user-search-input{box-sizing:border-box;text-overflow:ellipsis;padding-right:30px}.user-search-combobox:after{content:"";pointer-events:none;border-bottom:1px solid #596576;border-right:1px solid #596576;width:7px;height:7px;position:absolute;top:13px;right:11px;transform:rotate(45deg)}.user-search-list{z-index:80;box-sizing:border-box;background:#fff;border:1px solid #aeb7c2;border-radius:3px;max-height:min(360px,60vh);padding:3px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #1d27332e}.user-search-option{color:#1d2733;cursor:pointer;width:100%;min-height:34px;font:12px/1.35 var(--ui-font);overflow-wrap:anywhere;text-align:left;background:#fff;border:0;padding:7px 10px}.user-search-option.is-selected{font-weight:700;box-shadow:inset 3px 0 #1f4e79}.user-search-empty{box-sizing:border-box;color:#6a7482;min-height:38px;font:12px var(--ui-font);padding:11px 10px}.workbook-toolbar label:not(.workbook-user-select) select{width:84px}.workbook-command{color:#fff;cursor:pointer;height:34px;font:600 11px var(--ui-font);background:#1f4e79;border:1px solid #1f4e79;border-radius:3px;padding:0 12px}.workbook-command.secondary{color:#25384d;background:#fff;border-color:#aeb7c2}.workbook-context-bar{color:#24364b;background:#eef1f4;border-bottom:1px solid #cbd2da;flex:0 0 38px;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:0 16px;display:flex}.workbook-context-bar strong{font-size:13px;font-weight:700}.workbook-context-bar span{color:#667385;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.workbook-content-scroll{background-color:#eef1f4;background-image:linear-gradient(#e3e7eb 1px,#0000 1px),linear-gradient(90deg,#e3e7eb 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:10px;position:relative;overflow:hidden}.workbook-content-scroll.usage-page-scroll{overscroll-behavior:contain;scrollbar-color:#b8c4d3 transparent;scrollbar-width:thin;overflow:hidden auto}.workbook-sheet-surface{background:#fff;border:1px solid #aeb7c2;width:100%;height:100%;min-height:0;overflow:hidden;box-shadow:0 2px 8px #26344414}.workbook-sheet-scroll{scrollbar-color:#9da7b3 #eef1f4;scrollbar-width:thin;width:100%;height:100%;overflow:auto}.workbook-loading-mask{z-index:30;color:#3e4d60;background:#fffffff5;border:1px solid #aeb7c2;border-radius:4px;align-items:center;gap:9px;min-width:170px;padding:10px 14px;font-size:11px;display:flex;position:absolute;top:20px;right:24px;box-shadow:0 4px 14px #1f2f411f}.sheet-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;color:#222;background:#fff;width:max-content;min-width:100%;font-family:SimSun,宋体,serif;font-size:11px;line-height:1.2}.sheet-grid th,.sheet-grid td{border-right:1px solid var(--excel-grid);border-bottom:1px solid var(--excel-grid);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:68px;height:27px;padding:3px 5px;overflow:hidden}.sheet-grid tr>:first-child{border-left:1px solid var(--excel-grid)}.sheet-grid thead tr:first-child>*{border-top:1px solid var(--excel-grid)}.sheet-grid th{z-index:6;text-align:center;font-weight:400;position:sticky}.sheet-grid thead tr:first-child th{top:0}.sheet-grid thead tr:nth-child(2) th{top:38px}.sheet-grid thead tr:nth-child(3) th{top:72px}.sheet-grid thead tr:nth-child(4) th{top:104px}.sheet-grid .sheet-title-row th{color:#111;letter-spacing:.04em;background:#fff;height:38px;font-size:19px;font-weight:700}.sheet-grid .navy-header th{color:#fff;background:var(--excel-navy);height:30px;font-family:Microsoft YaHei,SimSun,sans-serif;font-size:11px;font-weight:700}.sheet-grid.compact-grid th,.sheet-grid.compact-grid td{height:27px}.sheet-grid .sticky-column{z-index:4;background:#fff;position:sticky}.sheet-grid thead .sticky-column{z-index:12}.sheet-grid .fixed-seq,.sheet-grid .monthly-seq{text-align:center;width:48px;min-width:48px;max-width:48px}.sheet-grid .fixed-area{text-align:center;width:80px;min-width:80px;max-width:80px}.sheet-grid .fixed-user{text-align:center;white-space:normal;width:220px;min-width:220px;max-width:220px}.sheet-grid .fixed-account{text-align:center;width:130px;min-width:130px;max-width:130px}.sheet-grid .fixed-time,.sheet-grid .monthly-time{text-align:center;width:100px;min-width:100px;max-width:100px}.sheet-grid .monthly-user{text-align:center;white-space:normal;width:200px;min-width:200px;max-width:200px}.sheet-grid .batch-id{text-align:left;width:88px;min-width:88px;max-width:88px}.sheet-grid .batch-name{text-align:left;width:220px;min-width:220px;max-width:220px}.sheet-grid .negative-cell{color:#c00000}.sheet-grid .total-row td{background:#d9d9d9;border-top:1.5px solid #333;height:29px;font-weight:700}.sheet-grid th.plan-zone{background:var(--excel-gray)}.sheet-grid td.plan-zone{background:#fff}.annual-sheet th.purchase-zone,.annual-sheet td.purchase-zone{background:var(--excel-yellow)}.annual-sheet th.annual-zone{background:var(--excel-blue-strong)}.annual-sheet td.annual-zone{background:var(--excel-green)}.annual-sheet th.monthly-zone,.annual-sheet td.monthly-zone{background:var(--excel-yellow)}.annual-sheet th.rate-zone,.annual-sheet td.rate-zone{background:var(--excel-green)}.annual-sheet .annual-group-row th{height:34px}.annual-sheet .annual-month-row th{min-width:64px;height:32px;font-size:10px}.annual-sheet tbody td{min-width:64px}.monthly-sheet .monthly-group-row th,.clearing-sheet .clearing-group-row th{height:34px}.monthly-sheet .monthly-subgroup-row th,.clearing-sheet .clearing-subgroup-row th{height:32px}.monthly-sheet .monthly-metric-row th,.clearing-sheet .clearing-metric-row th{white-space:normal;min-width:76px;height:38px}.monthly-sheet th.annual-base-zone,.monthly-sheet td.annual-base-zone,.clearing-sheet th.annual-base-zone,.clearing-sheet td.annual-base-zone,.monthly-sheet th.monthly-base-zone,.monthly-sheet td.monthly-base-zone{background:var(--excel-blue)}.monthly-sheet th.balance-zone,.monthly-sheet td.balance-zone,.clearing-sheet th.balance-zone,.clearing-sheet td.balance-zone{background:var(--excel-bright-green)}.monthly-sheet th.purchase-zone,.monthly-sheet td.purchase-zone,.clearing-sheet th.purchase-zone,.clearing-sheet td.purchase-zone{background:var(--excel-green)}.monthly-sheet th.annual-zone,.monthly-sheet td.annual-zone,.clearing-sheet th.annual-zone,.clearing-sheet td.annual-zone{background:var(--excel-blue)}.monthly-sheet th.monthly-zone,.monthly-sheet td.monthly-zone,.clearing-sheet th.monthly-zone,.clearing-sheet td.monthly-zone{background:#fff}.monthly-sheet th.settlement-zone,.monthly-sheet td.settlement-zone,.clearing-sheet th.settlement-zone,.clearing-sheet td.settlement-zone{background:var(--excel-settlement)}.monthly-sheet th.d2-zone,.monthly-sheet td.d2-zone,.clearing-sheet th.d2-zone,.clearing-sheet td.d2-zone{background:var(--excel-green)}.monthly-sheet tbody td,.clearing-sheet tbody td{min-width:76px}.clearing-96-sheet .clearing-title-row th{background:#fff;height:38px;font-size:16px}.clearing-96-sheet .clearing-note-row th{color:#7f7f7f;text-align:left;background:#fff;height:34px;padding:6px 10px;font-size:11px;font-weight:400;top:38px}.clearing-96-sheet .clearing-group-row th{background:#d9d9d9;height:34px;font-weight:700;top:0}.clearing-96-sheet .clearing-metric-row th{white-space:normal;background:#d9d9d9;width:112px;min-width:112px;max-width:112px;height:52px;padding:4px 6px;font-weight:700;line-height:1.25;top:34px}.clearing-96-sheet .clearing-summary-header{background:#cfc!important}.clearing-96-sheet .clearing-day-group{border-left:2px solid #666}.clearing-96-sheet .clearing-time-column{text-align:center;width:84px;min-width:84px;max-width:84px}.clearing-96-sheet thead .clearing-time-column{z-index:14;background:#d9d9d9;font-weight:700}.clearing-96-sheet tbody .clearing-time-column{z-index:5;background:#fff}.clearing-96-sheet tbody td{width:112px;min-width:112px;max-width:112px;height:27px;padding:3px 6px}.clearing-96-sheet td.clearing-summary-cell{background:#fff}.clearing-96-sheet td.clearing-day-cell{background:#d9d9d9}.clearing-96-sheet td.clearing-source-cell{color:red;background:#cff}.clearing-96-sheet .clearing-day-start{border-left:2px solid #666}.clearing-96-sheet .total-row td,.clearing-96-sheet .total-row td.clearing-summary-cell,.clearing-96-sheet .total-row td.clearing-day-cell,.clearing-96-sheet .total-row td.clearing-source-cell,.clearing-96-sheet .total-row .clearing-time-column{background:#d9d9d9}.workbook-sheet-surface.clearing-sheet-surface{grid-template-rows:auto minmax(0,1fr);display:grid}.clearing-sheet-header{border-bottom:1px solid var(--border);background:#fff;min-width:0}.clearing-sheet-heading{box-sizing:border-box;align-content:center;gap:5px;min-height:67px;padding:10px 14px 8px;display:grid}.clearing-sheet-heading span{color:#87929e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.clearing-period-tabs{box-sizing:border-box;scrollbar-color:#b8c2cc transparent;scrollbar-width:thin;border-top:1px solid #eef1f4;align-items:end;gap:2px;min-width:0;height:39px;padding:0 8px;display:flex;overflow:auto hidden}.clearing-period-tabs button{color:#647180;cursor:pointer;width:40px;min-width:40px;height:32px;font:600 12px var(--ui-font);background:0 0;border:1px solid #0000;border-bottom:0;border-radius:4px 4px 0 0;padding:0}.clearing-period-tabs button:first-child{width:56px;min-width:56px}.clearing-period-tabs button.active{color:#fff;border-color:var(--primary);background:var(--primary)}.clearing-period-tabs button:focus-visible{z-index:1;outline-offset:-3px;outline:2px solid #1f4e7959;position:relative}@media (width<=760px){.clearing-sheet-heading{min-height:61px;padding-left:10px;padding-right:10px}.clearing-sheet-heading strong{font-size:14px}.clearing-period-tabs{padding-left:5px;padding-right:5px}.clearing-period-tabs button{width:38px;min-width:38px}}.monthly-summary-page{grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%;min-height:0;display:grid}.monthly-summary-heading{background:#fffffff5;border:1px solid #aeb7c2;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:8px 12px;display:flex;box-shadow:0 2px 8px #2634440f}.monthly-summary-heading span{color:#2c78c4;letter-spacing:.06em;font-size:10px;font-weight:700}.monthly-summary-heading h2{color:#1f2935;margin:3px 0 0;font-size:18px;font-weight:700}.monthly-summary-heading p{color:#687588;margin:0;font-size:11px}.monthly-summary-sheet{min-width:1980px}.monthly-summary-sheet .monthly-summary-group-row th{background:#d9d9d9;height:38px;font-weight:700;top:0}.monthly-summary-sheet .clearing-metric-row th{white-space:normal;background:#cfc;width:118px;min-width:118px;max-width:118px;height:52px;padding:4px 6px;font-weight:700;line-height:1.25;top:38px}.monthly-summary-sheet .clearing-summary-header{background:#cfc!important}.monthly-summary-sheet th.sortable-number-header{padding:0}.monthly-summary-sort{width:100%;height:100%;min-height:inherit;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;letter-spacing:0;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 12px;align-items:center;gap:4px;padding:4px 6px;display:grid}.monthly-summary-sort span{min-width:0}.monthly-summary-sort i{color:#93a0ad;width:12px;font:8px/1 Arial,sans-serif}.monthly-summary-sort:hover{color:#174f7d;background:#1f5f9114}.monthly-summary-sort:focus-visible{outline-offset:-2px;outline:2px solid #1f5f91}.monthly-summary-sort.is-active{color:#174f7d;background:#1f5f911a}.monthly-summary-sort.is-active i{color:#174f7d;font-size:9px}.monthly-summary-sheet tbody td{height:38px;padding:5px 8px}.monthly-summary-sheet tbody tr:hover td{background:#f2f8ff}.monthly-summary-sheet td.clearing-summary-cell{width:118px;min-width:118px;max-width:118px}.monthly-summary-sheet .monthly-summary-rank{color:#526173;text-align:center;width:54px;min-width:54px;max-width:54px}.monthly-summary-sheet .monthly-summary-user{text-align:left;width:280px;min-width:280px;max-width:280px}.monthly-summary-sheet .monthly-summary-user b,.monthly-summary-sheet .monthly-summary-user small{text-overflow:ellipsis;display:block;overflow:hidden}.monthly-summary-sheet .monthly-summary-user small{color:#7b8796;margin-top:3px;font-family:Arial,sans-serif;font-size:9px}.monthly-summary-status{border-radius:999px;justify-content:center;min-width:54px;padding:3px 8px;font-family:Microsoft YaHei,sans-serif;font-size:10px;font-weight:700;display:inline-flex}.monthly-summary-status.is-updated{color:#176548;background:#e4f4ec}.monthly-summary-status.is-incomplete{color:#946015;background:#fff1d2}.monthly-summary-status.is-pending{color:#788494;background:#edf0f3}.monthly-summary-sheet tfoot td{z-index:4;background:#d9d9d9;height:38px;font-weight:700;position:sticky;bottom:0}.monthly-summary-sheet .contract-price-header,.monthly-summary-sheet .contract-price-cell{width:138px;min-width:138px;max-width:138px}.monthly-summary-sheet .contract-note-header,.monthly-summary-sheet .contract-note-cell{width:300px;min-width:300px;max-width:300px}.monthly-summary-sheet .contract-action-header,.monthly-summary-sheet .contract-action-cell{text-align:center;width:104px;min-width:104px;max-width:104px}.monthly-summary-sheet .contract-action-header{z-index:9;right:0;box-shadow:-3px 0 6px #21334614}.monthly-summary-sheet .contract-action-cell{z-index:3;background:#fff;position:sticky;right:0;box-shadow:-3px 0 6px #21334614}.monthly-summary-sheet .contract-note-cell{white-space:normal;text-align:left;line-height:1.35}.monthly-summary-sheet .contract-price-cell>.contract-term-value,.monthly-summary-sheet .contract-note-cell>.contract-term-value{width:100%;min-height:28px;color:inherit;font:inherit;letter-spacing:0;padding:2px 4px;display:block}.monthly-summary-sheet .contract-price-cell>.contract-term-value{text-align:right}.monthly-summary-sheet .contract-note-cell>.contract-term-value{text-align:left;text-overflow:ellipsis;white-space:normal;overflow:hidden}.monthly-summary-sheet .contract-price-cell input,.monthly-summary-sheet .contract-note-cell input{color:#1f2935;letter-spacing:0;background:#fff;border:1px solid #4f84b5;border-radius:4px;outline:none;width:100%;min-width:0;height:30px;padding:4px 7px;font:12px/1.2 Microsoft YaHei,sans-serif}.monthly-summary-sheet .contract-price-cell input{text-align:right}.monthly-summary-sheet .contract-price-cell input:focus,.monthly-summary-sheet .contract-note-cell input:focus{border-color:#1f5f91;box-shadow:0 0 0 2px #1f5f9124}.monthly-summary-sheet .contract-note-cell small{color:#b42318;letter-spacing:0;margin-top:4px;font-family:Microsoft YaHei,sans-serif;font-size:10px;display:block}.monthly-summary-sheet .contract-action-cell>button,.monthly-summary-sheet .contract-action-cell div button{color:#27435e;letter-spacing:0;cursor:pointer;background:#fff;border:1px solid #9aa8b7;border-radius:4px;min-width:42px;min-height:28px;padding:4px 8px;font:11px/1 Microsoft YaHei,sans-serif}.monthly-summary-sheet .contract-action-cell div{justify-content:center;gap:4px;display:flex}.monthly-summary-sheet .contract-action-cell div button:first-child{color:#fff;background:#1f5f91;border-color:#1f5f91}.monthly-summary-sheet .contract-action-cell button:disabled{cursor:wait;opacity:.62}.monthly-summary-sheet tbody tr.contract-row-editing>td{background:#eef6fc}.user-list-page{grid-template-rows:auto minmax(0,1fr);gap:8px;height:100%;min-height:0;display:grid}.user-list-tools{color:#647284;min-height:42px;font:11px var(--ui-font);justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 4px 10px;display:flex}.user-list-tools>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-row-edit{color:#1f4e79;cursor:pointer;min-width:50px;height:24px;font:600 10px var(--ui-font);background:#fff;border:1px solid #9fb1c3;border-radius:3px;padding:0 9px}.user-row-edit:hover{background:#eef5fb;border-color:#1f4e79}.user-editor-backdrop{z-index:100;background:#1623327a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.user-editor-dialog{background:#fff;border:1px solid #aeb7c2;border-radius:8px;width:min(580px,100vw - 40px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 20px 55px #13223242}.user-editor-heading{border-bottom:1px solid #cbd2da;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:flex}.user-editor-heading h2{letter-spacing:0;margin:0;font-size:15px}.user-editor-heading span{color:#788492;margin-top:4px;font-size:10px;display:block}.user-editor-close{color:#536171;cursor:pointer;width:32px;height:32px;font:600 13px var(--ui-font);background:#fff;border:1px solid #c1c9d2;border-radius:4px;flex:0 0 32px}.user-editor-close:disabled{cursor:not-allowed;opacity:.5}.user-editor-form{grid-template-columns:150px minmax(0,1fr);gap:12px;padding:14px;display:grid}.user-editor-form label{gap:5px;min-width:0;display:grid}.user-editor-form label>span{color:#647284;font:10px var(--ui-font)}.user-editor-form input:not([type=checkbox]),.user-editor-form textarea{box-sizing:border-box;color:#1d2733;width:100%;min-width:0;font:12px var(--ui-font);background:#fff;border:1px solid #aeb7c2;border-radius:4px;outline:0}.user-editor-form input:not([type=checkbox]){height:36px;padding:0 9px}.user-editor-form textarea{resize:vertical;min-height:74px;padding:8px 9px}.user-editor-form input:focus,.user-editor-form textarea:focus{border-color:#1f4e79;box-shadow:0 0 0 2px #1f4e791f}.user-editor-form input[readonly]{color:#667384;background:#f1f3f5}.user-editor-wide,.user-editor-toggle,.user-editor-error,.user-editor-actions{grid-column:1/-1}.user-editor-toggle{flex-direction:row;align-items:center;min-height:32px;grid-template-columns:none!important;gap:8px!important;display:flex!important}.user-editor-toggle input{accent-color:#1f4e79;width:16px;height:16px;margin:0}.user-editor-toggle span{color:#29394b!important;font-size:12px!important}.user-editor-error{color:#9b3434;font:11px/1.45 var(--ui-font);background:#fff4f4;border:1px solid #e7b8b8;border-radius:4px;padding:9px 10px}.user-editor-actions{justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.users-sheet th:first-child,.users-sheet td:first-child{text-align:left;width:86px;min-width:86px}.users-sheet th:nth-child(2),.users-sheet td:nth-child(2){text-align:left;width:250px;min-width:250px}.users-sheet th:nth-child(3),.users-sheet td:nth-child(3){width:100px;min-width:100px}.users-sheet th:nth-child(4),.users-sheet td:nth-child(4){width:145px;min-width:145px}.users-sheet tbody tr:nth-child(odd) td{background:#d9e5f6}@media (width<=620px){.user-editor-backdrop{padding:10px}.user-editor-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.user-editor-form{grid-template-columns:1fr}.user-editor-form>*{grid-column:1!important}.user-list-tools{padding-left:2px}}.batch-sheet td{min-width:72px}.batch-sheet td:nth-child(-n+4){text-align:left}.quality-sheet td{vertical-align:top;white-space:normal}.quality-sheet th:first-child,.quality-sheet td:first-child{width:54px;min-width:54px}.quality-sheet th:nth-child(2),.quality-sheet td:nth-child(2){width:68px;min-width:68px}.quality-sheet th:nth-child(3),.quality-sheet td:nth-child(3){width:130px;min-width:130px}.quality-sheet th:nth-child(4),.quality-sheet td:nth-child(4){width:120px;min-width:120px}.quality-sheet th:nth-child(5),.quality-sheet td:nth-child(5){width:60px;min-width:60px}.quality-sheet th:nth-child(6),.quality-sheet td:nth-child(6){width:180px;min-width:180px}.quality-sheet th:nth-child(7),.quality-sheet td:nth-child(7){text-align:left;width:320px;min-width:320px}.quality-sheet th:nth-child(8),.quality-sheet td:nth-child(8){text-align:left;width:390px;min-width:390px}.quality-sheet th:nth-child(9),.quality-sheet td:nth-child(9){width:155px;min-width:155px}.quality-sheet .quality-level.warning{color:#9c6500;font-weight:700}.quality-sheet .quality-level.error{color:#c00000;font-weight:700}.quality-sheet .quality-level.info{color:#1f4e79;font-weight:700}.quality-sheet .quality-link{color:#2f55d4}@media (width<=900px){.workbook-topbar{flex-basis:auto;min-height:96px}.workbook-toolbar{flex-wrap:wrap;justify-content:flex-start}.workbook-toolbar label>span,.workbook-toolbar .workbook-user-select>span{display:block}.workbook-toolbar .workbook-user-select .user-search-combobox,.workbook-toolbar .workbook-user-select .user-search-input{width:min(420px,64vw)}.workbook-context-bar{flex-direction:column;justify-content:center;align-items:flex-start}}:root{--background:#f5f6f8;--panel:#fff;--panel-soft:#f8fafc;--foreground:#17212b;--muted-foreground:#6b7785;--border:#e3e7ec;--border-strong:#cbd3dc;--primary:#1f4e79;--primary-soft:#edf4fb;--success:#237a58;--success-soft:#edf7f2;--warning:#9a6b1d;--warning-soft:#fff8e8;--danger:#b33b43;--danger-soft:#fff1f2;--sidebar-width:220px;--ui-font:"Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif}button,input,select{font-family:var(--ui-font)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #1f4e7947}.dashboard-shell{background:var(--background);min-height:100vh}.sidebar{width:var(--sidebar-width);flex-basis:var(--sidebar-width);border-right:1px solid var(--border);box-shadow:none;background:#fff}.brand-block>div{gap:1px}.nav-group{gap:6px}.module-nav .sector-trigger{color:#596776;grid-template-columns:minmax(0,1fr);min-height:34px;padding:7px 10px}.module-nav .subnav{gap:2px;padding:0}.module-nav .subnav .subsector-trigger{color:#6c7885;background:0 0;grid-template-columns:minmax(0,1fr);min-height:31px;padding:6px 10px 6px 18px}.readonly-note{background:#fbfefc;border:1px solid #e2eee8;border-radius:4px;gap:7px;margin:auto 16px 18px;padding:8px 9px}.readonly-note>i{width:7px;height:7px;box-shadow:none;flex-basis:7px}.main-workspace{width:calc(100% - var(--sidebar-width));background:var(--background)}.topbar,.workbook-topbar{border-bottom:1px solid var(--border);background:#fff;flex-basis:64px;min-height:64px;padding:10px 24px}.date-toolbar,.workbook-toolbar{justify-content:flex-end;gap:8px;width:100%;margin-left:0}.date-toolbar button,.date-field input,.workbook-toolbar input,.workbook-toolbar select,.workbook-command{border:1px solid var(--border-strong);height:34px;color:var(--foreground);box-shadow:none;background:#fff;border-radius:4px}.workbook-toolbar{align-items:flex-end}.workbook-toolbar label>span,.workbook-toolbar .workbook-user-select>span{color:#788492;font-size:10px;line-height:1}.workbook-toolbar input,.workbook-toolbar label:not(.workbook-user-select) select{width:82px}.workbook-toolbar .workbook-user-select .user-search-combobox,.workbook-toolbar .workbook-user-select .user-search-input{width:min(390px,34vw)}.workbook-toolbar .user-search-input{border-color:var(--border-strong);box-shadow:none;padding-right:28px}.workbook-toolbar .user-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1f4e791a}.user-search-combobox:after{border-color:#65727f;top:12px;right:11px}.user-search-list{border:1px solid var(--border-strong);background:#fff;border-radius:4px;max-height:min(360px,60vh);padding:4px 0;top:calc(100% + 5px);box-shadow:0 12px 26px #17212b1f}.user-search-option{min-height:34px;color:var(--foreground);padding:7px 10px;font-size:12px}.user-search-option.is-active{background:var(--primary-soft)}.user-search-option.is-selected{box-shadow:inset 2px 0 var(--primary);font-weight:700}.user-search-empty{min-height:38px;color:var(--muted-foreground);padding:11px 10px}.context-bar,.workbook-context-bar{min-height:42px;color:var(--muted-foreground);border-bottom:1px solid var(--border);background:#fff;flex-basis:42px;padding:0 24px}.quality-strip{border-bottom:1px solid var(--border);background:#fff;min-height:38px;padding:6px 24px}.error-banner{background:var(--danger-soft);min-height:38px;box-shadow:none;border:1px solid #f0c9cd;border-radius:4px;margin:12px 24px 0;padding:8px 11px}.content-scroll,.workbook-content-scroll{background:var(--background);padding:20px 24px 28px;overflow:auto}.module-content{padding:0}.panel,.user-kpi-card,.user-month-panel,.user-profile-panel,.user-spot-panel,.user-ranking-panel,.user-source-panel,.user-clearing-panel,.user-monthly-panel,.usage-import-panel,.workbook-sheet-surface,.monthly-summary-heading{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:6px}.panel-heading,.user-panel-heading{border-bottom:1px solid var(--border);padding-bottom:12px}.summary-card,.position-kpi,.user-kpi-card{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:6px}.workbook-content-scroll{min-height:0}.workbook-sheet-surface{min-height:100%;overflow:hidden}.workbook-sheet-scroll{scrollbar-color:#b8c2cc transparent}.workbook-loading-mask{border:1px solid var(--border-strong);color:#52606d;background:#fffffff5;border-radius:4px;padding:8px 11px;top:18px;right:24px;box-shadow:0 8px 20px #17212b1a}.sheet-grid{color:var(--foreground);font-family:var(--ui-font);background:#fff;font-size:12px;line-height:1.35}.sheet-grid .sheet-title-row th,.sheet-grid .clearing-title-row th{height:42px;color:var(--foreground);font-family:var(--ui-font);letter-spacing:0;font-size:16px;font-weight:700;background:#fff!important}.sheet-grid .navy-header th,.sheet-grid .monthly-summary-group-row th{color:#536170;height:34px;font-family:var(--ui-font);font-size:11px;font-weight:700;background:#f7f9fb!important}.sheet-grid .clearing-note-row th{color:#87929e;text-align:left;height:28px;padding:5px 8px;font-size:10px;font-weight:400;background:#fff!important}.sheet-grid .clearing-group-row th,.sheet-grid .clearing-metric-row th{color:#536170;font-weight:700;background:#f7f9fb!important}.sheet-grid .total-row td,.sheet-grid tfoot td{border-top:1px solid #bfc9d3;font-weight:700;background:#f2f5f7!important}.sheet-grid .negative-cell,.quality-level.error,.usage-status.incomplete{color:var(--danger)}.quality-level.warning,.usage-status.pending{color:var(--warning)}.quality-level.info,.usage-status.complete,.monthly-summary-status.is-updated{color:var(--success)}.monthly-summary-status{border-radius:4px;min-width:0;padding:2px 6px;font-size:11px;background:0 0!important}.monthly-summary-page,.usage-page{gap:16px}.monthly-summary-heading,.usage-page-heading,.usage-section-heading{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:flex-end;padding:0}.monthly-summary-heading h2,.usage-page-heading h2,.usage-section-heading h2{color:var(--foreground);margin-top:4px;font-size:17px;font-weight:700}.monthly-summary-heading span,.usage-eyebrow{color:#778390;letter-spacing:.04em;font-size:10px;font-weight:700}.monthly-summary-heading p,.usage-page-heading p,.usage-section-heading p{display:none}.info-mark{color:#758391;vertical-align:-1px;cursor:help;border:1px solid #aeb9c4;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;margin-left:5px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.usage-heading-summary,.usage-kpis{background:0 0;border:0}.usage-heading-summary span,.usage-kpis span{border-left:1px solid var(--border);min-width:80px;padding-left:12px}.usage-table-wrap,.usage-ranking-wrap,.usage-import-table-wrap{border:1px solid var(--border);box-shadow:none;background:#fff;border-radius:6px}.usage-detail-table,.usage-ranking-table{color:var(--foreground);font-size:12px}.usage-detail-table th,.usage-detail-table td,.usage-ranking-table th,.usage-ranking-table td{border-color:var(--border)}.usage-detail-table th,.usage-ranking-table th{color:#536170;background:#f7f9fb;font-weight:700}.usage-detail-table tbody tr:nth-child(2n) td,.usage-ranking-table tbody tr:nth-child(2n) td{background:#fbfcfd}.usage-detail-table tbody tr:hover td,.usage-ranking-table tbody tr:hover td{background:#f2f6fa}.usage-import-panel{padding:16px}.usage-import-actions{gap:8px}.usage-import-file-list>div{border-color:var(--border);background:#f8fafc}.position-modal-backdrop{background:#17212b57}.position-modal{border:1px solid var(--border-strong);border-radius:6px;box-shadow:0 20px 45px #17212b2e}.position-modal-heading{border-bottom:1px solid var(--border)}.position-modal-heading button{border:1px solid var(--border);color:#65727f;background:#fff;border-radius:4px;width:30px;height:30px}@media (width<=1080px){:root{--sidebar-width:184px}.d2-import-fields{grid-template-columns:minmax(0,1fr)}.week-import-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.week-import-controls{flex-direction:column;align-items:stretch}.week-import-controls>label{width:100%}.d2-history-filters{grid-template-columns:minmax(0,1fr);display:grid}.d2-history-filters label{min-width:0}.d2-history-audit{grid-template-columns:minmax(0,1fr)}.d2-history-audit>div:nth-child(odd){padding-right:0}.topbar,.workbook-topbar,.context-bar,.workbook-context-bar,.quality-strip,.content-scroll,.workbook-content-scroll{padding-left:16px;padding-right:16px}.workbook-toolbar .workbook-user-select .user-search-combobox,.workbook-toolbar .workbook-user-select .user-search-input{width:min(350px,34vw)}}@media (width<=560px){.data-import-tabs{overflow-x:auto}.data-import-tabs button{flex:none;padding-left:11px;padding-right:11px}.week-import-kpis{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.dashboard-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;min-height:auto}.brand-block{height:56px;padding:0 14px}.module-nav{gap:5px;padding:7px 8px}.main-workspace{width:100%;height:calc(100vh - 110px)}.topbar,.workbook-topbar{flex-basis:auto;min-height:78px;padding:10px 12px}.date-toolbar,.workbook-toolbar{flex-wrap:wrap;justify-content:flex-start}.workbook-toolbar .workbook-user-select{flex:220px}.workbook-toolbar .workbook-user-select .user-search-combobox,.workbook-toolbar .workbook-user-select .user-search-input{width:100%}.workbook-toolbar .workbook-command{flex:none}.workbook-context-bar{flex-basis:42px;min-height:42px;padding:7px 12px}.workbook-context-bar span{max-width:100%}.content-scroll,.workbook-content-scroll{padding:14px 12px 20px}.error-banner{margin-left:12px;margin-right:12px}.monthly-summary-heading,.usage-page-heading,.usage-section-heading{flex-direction:column;align-items:flex-start;gap:10px}.usage-heading-summary{width:100%}}@media (width<=430px){.brand-block{justify-content:flex-start}.workbook-toolbar label,.workbook-toolbar .workbook-user-select{flex:100px}.workbook-toolbar .workbook-command{padding:0 9px}.workbook-toolbar .workbook-user-select{flex-basis:100%}.date-toolbar{gap:5px}.date-field{flex:auto;min-width:0}.date-field input{width:100%}.refresh-button{width:38px;font-size:0;overflow:hidden;padding:0!important}.refresh-button>span{font-size:18px}}@media (width<=760px){.supply-update-trigger{min-width:48px;max-width:168px;font-size:11px;padding:0 8px!important}.supply-update-panel{right:-46px}.supply-update-range{grid-template-columns:1fr}}.user-label-filter{gap:5px;min-width:138px;display:grid;position:relative}.user-label-filter>span{color:#788492;font-size:10px;line-height:1}.user-label-filter-trigger{border:1px solid var(--border-strong);width:100%;height:34px;color:var(--foreground);cursor:pointer;text-align:left;background:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:12px;display:inline-flex}.user-label-filter-trigger:hover,.user-label-filter-trigger[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 2px #3183ed1a}.user-label-filter-trigger>span{color:#788492;font-size:16px;line-height:.7}.user-label-filter-popover{z-index:90;border:1px solid var(--border-strong);background:#fff;border-radius:5px;gap:3px;width:210px;padding:9px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 28px #17212b29}.user-label-filter-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 7px;display:flex}.user-label-filter-heading strong{color:#354557;font-size:11px}.user-label-filter-heading button{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:11px}.user-label-filter-option,.user-label-choice{color:#334154;cursor:pointer;align-items:center;min-width:0;min-height:30px;font-size:12px;grid-template-columns:none!important;gap:8px!important;display:flex!important}.user-label-filter-option{padding:3px 2px}.user-label-filter-option:hover,.user-label-choice:hover{background:#f4f7fb}.user-label-filter-option input,.user-label-choice input{width:15px;height:15px;accent-color:var(--primary);flex:0 0 15px;margin:0}.user-label-swatch{vertical-align:-1px;border:1px solid #1f2d3d38;border-radius:2px;flex:0 0 12px;width:12px;height:12px;display:inline-block}.user-label-swatch.is-empty{background:repeating-linear-gradient(135deg,#fff 0 3px,#d4dbe3 3px 5px)}.user-label-cell{align-items:center;gap:6px;display:inline-flex}.workbook-selected-user{align-items:center;gap:6px;min-width:0;display:inline-flex}.user-label-cell .user-label-swatch{flex-basis:14px;width:14px;height:14px}.user-label-row>td,.sheet-grid tbody tr.user-label-row>td,.usage-ranking-table tbody tr.user-label-row>td{background:var(--user-label-tint,#fff)!important}.sheet-grid tbody tr.user-label-row:hover>td,.usage-ranking-table tbody tr.user-label-row:hover>td{filter:saturate(.94)brightness(.98);background:var(--user-label-tint,#f2f6fa)!important}.color-label-manager-dialog{width:min(620px,100vw - 40px)}.color-label-manager-body{gap:14px;padding:14px;display:grid}.color-label-create-form{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 112px auto;align-items:end;gap:8px;padding-bottom:12px;display:grid}.color-label-create-form label{gap:5px;display:grid}.color-label-create-form label>span{color:#647284;font-size:10px}.color-label-create-form input[type=color],.color-label-item input[type=color]{cursor:pointer;background:#fff;border:1px solid #aeb7c2;border-radius:4px;width:100%;height:36px;padding:3px}.color-label-create-form>input:not([type=color]){color:#1d2733;width:100%;height:36px;font:12px var(--ui-font);background:#fff;border:1px solid #aeb7c2;border-radius:4px;padding:0 8px}.color-label-list{gap:6px;display:grid}.color-label-item{border:1px solid var(--border);background:#fbfcfd;border-radius:4px;grid-template-columns:18px minmax(0,1fr) auto minmax(90px,112px) auto auto;align-items:center;gap:8px;min-height:38px;padding:5px 7px;display:grid}.color-label-item>.user-label-swatch{flex-basis:16px;width:16px;height:16px}.color-label-item strong{text-overflow:ellipsis;white-space:nowrap;color:#354557;min-width:0;font-size:12px;overflow:hidden}.color-label-item code{color:#647284;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}.user-label-fieldset{border:1px solid var(--border-strong);border-radius:4px;flex-wrap:wrap;align-items:center;gap:5px 14px;min-width:0;margin:0;padding:9px 10px 7px;display:flex}.user-label-fieldset legend{color:#647284;padding:0 4px;font-size:10px}.user-label-choice{border-radius:3px;min-height:28px;padding:2px 4px}.users-sheet th:nth-child(5),.users-sheet td:nth-child(5){text-align:left;width:180px;min-width:180px}.users-sheet th:nth-child(6),.users-sheet td:nth-child(6){text-align:center;width:84px;min-width:84px}.users-sheet th:nth-child(7),.users-sheet td:nth-child(7){text-align:left;width:220px;min-width:220px}.users-sheet th:nth-child(8),.users-sheet td:nth-child(8){text-align:left;width:210px;min-width:210px}.users-sheet th:nth-child(9),.users-sheet td:nth-child(9){text-align:center;width:76px;min-width:76px}@media (width<=760px){.user-label-filter{flex:145px}.user-label-filter-popover{left:0;right:auto}.color-label-create-form{grid-template-columns:minmax(0,1fr) minmax(88px,112px)}.color-label-create-form button{grid-column:1/-1}.color-label-item{grid-template-columns:18px minmax(0,1fr) auto}.color-label-item code{grid-area:2/2}.color-label-item input[type=color]{grid-area:3/1/auto/3;width:100%}.color-label-item .user-row-edit{grid-row:3}}.usage-average-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;min-width:0;display:flex}.usage-average-actions p{margin:0}.usage-export-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;width:124px;min-width:124px;min-height:34px;display:inline-flex}.usage-export-button>span{font-size:16px;line-height:1}.usage-export-error{color:#8f302a;background:#fff4f2;border-left:3px solid #b83c35;padding:8px 10px;font-size:12px}.usage-average-page .usage-ranking-table{min-width:940px}.usage-average-page .usage-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.usage-time-of-use-section{border-top:1px solid var(--border);gap:10px;min-width:0;padding-top:16px;display:grid}.usage-time-of-use-heading{justify-content:space-between;align-items:end;gap:12px;min-width:0;display:flex}.usage-time-of-use-heading h3{color:var(--foreground);margin:3px 0 0;font-size:15px;font-weight:700}.usage-time-of-use-heading p{color:var(--muted-foreground);margin:0;font-size:11px}.usage-time-of-use-chart{width:min(100%,760px);min-width:0;margin:0 auto}.usage-time-of-use-chart svg{width:100%;height:auto;display:block}.usage-time-of-use-grid{stroke:#e2e7ec;stroke-width:1px}.usage-time-of-use-axis,.usage-time-of-use-kwh{fill:#68798b;font-size:11px}.usage-time-of-use-value{fill:#2f4052;font-size:12px;font-weight:700}.usage-time-of-use-label{fill:#34475a;font-size:13px;font-weight:700}.usage-time-of-use-bar{opacity:.94}.usage-time-of-use-empty{min-height:180px;color:var(--muted-foreground);place-items:center;font-size:12px;display:grid}@media (width<=1100px){.usage-average-page .usage-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.usage-average-actions,.usage-time-of-use-heading{flex-direction:column;align-items:flex-start;width:100%}.usage-export-button{width:100%}.usage-average-page .usage-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-time-of-use-heading p{line-height:1.6}}.position-topbar{display:none}.position-manager{gap:14px;min-width:0;padding:20px 24px 36px;display:grid}.position-manager-toolbar,.position-manager-tabs,.position-month-controls,.position-import-controls,.plant-actions,.inline-editor{align-items:center;gap:10px;display:flex}.position-manager-toolbar{border-bottom:1px solid var(--border);justify-content:flex-end;min-height:64px;padding-bottom:14px}.position-manager-toolbar>div:first-child{margin-right:auto}.position-manager-eyebrow,.position-section-heading span{color:#557086;font-size:11px;font-weight:700}.position-manager-toolbar h1,.position-section-heading h2{color:var(--foreground);letter-spacing:0;margin:3px 0 0}.position-manager-toolbar label,.position-import-controls label,.plant-admin-grid label{color:var(--muted-foreground);gap:4px;font-size:11px;display:grid}.position-manager-toolbar select,.position-manager-toolbar input,.position-import-controls select,.plant-admin-grid input,.plant-admin-grid textarea,.inline-editor input{border:1px solid var(--border);min-height:36px;color:var(--foreground);font:inherit;background:#fff;border-radius:5px;padding:7px 10px}.position-manager-toolbar select{min-width:260px}.position-manager-toolbar input[type=number]{width:96px}.position-manager-tabs{border-bottom:1px solid var(--border);overflow-x:auto}.position-manager-tabs button{color:#66788a;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:92px;min-height:38px;font-weight:700}.position-manager-tabs button.active{color:var(--series-blue);border-bottom-color:var(--series-blue)}.position-workspace{gap:14px;min-width:0;display:grid}.position-section-heading{justify-content:space-between;align-items:end;gap:16px;padding-top:4px;display:flex}.position-section-heading h2{font-size:17px}.position-section-heading p{color:var(--muted-foreground);margin:0;font-size:12px}.position-wide-table{border:1px solid var(--border);background:#fff;border-radius:6px;min-width:0;overflow:auto}.position-wide-table table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:980px;font-size:12px}.position-wide-table th,.position-wide-table td{text-align:right;vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #e4e9ee;border-right:1px solid #e4e9ee;min-height:42px;padding:10px 12px}.position-wide-table th{z-index:1;color:#53687b;white-space:normal;background:#f4f7fa;font-weight:700;position:sticky;top:0}.position-wide-table th:first-child,.position-wide-table td:first-child,.position-wide-table th:last-child,.position-wide-table td:last-child{text-align:center}.position-hour-table table{min-width:820px}.position-hour-table th:first-child{width:70px}.position-hour-table th:nth-child(2){width:150px}.positive-cell{color:#157654}.negative-cell{color:#bf3d3d}.month-link,.position-value-link{color:#17659a;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px dotted;padding:0;font-weight:700}.position-value-link:focus-visible,.month-link:focus-visible,.position-manager-tabs button:focus-visible{outline-offset:2px;outline:2px solid #2584bd}.muted-row{color:#95a1ab}.validation-chip{white-space:nowrap;border-radius:4px;align-items:center;min-height:24px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.validation-chip.ok{color:#136c4c;background:#eaf8f1}.validation-chip.empty{color:#687786;background:#eef2f5}.validation-chip.error{color:#a53434;background:#fff0ef}.position-month-controls{justify-content:flex-end}.position-month-controls button,.position-month-controls input,.table-command,.plant-actions button,.inline-editor button{border:1px solid var(--border);color:#334b5f;min-height:34px;font:inherit;cursor:pointer;background:#fff;border-radius:5px;padding:6px 11px}.position-kpi-strip{border:1px solid var(--border);background:var(--border);border-radius:6px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.position-kpi-strip span{background:#fff;align-content:center;gap:5px;min-width:0;min-height:72px;padding:12px;display:grid}.position-kpi-strip small{color:var(--muted-foreground)}.position-kpi-strip b{color:#273e52;overflow-wrap:anywhere}.partial-heading{margin-top:8px}.position-file-input{display:none}.position-import-controls{border:1px solid var(--border);background:#fff;border-radius:6px;flex-wrap:wrap;padding:14px}.position-import-controls label{margin-right:auto}.position-import-controls select{min-width:190px}.position-file-list{gap:6px;display:grid}.position-file-list>span,.alias-list>span{border:1px solid var(--border);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.position-file-list small,.alias-list small,.batch-reason,.detail-table small{color:var(--muted-foreground);font-size:10px;display:block}.position-success{color:#176b4e;background:#ebf8f2;border-left:3px solid #1b8b62;padding:10px 12px}.position-preview,.position-conflicts,.plant-detail{gap:10px;display:grid}.position-conflicts{color:#98332f;background:#fff2f1;border-left:3px solid #c9453f;padding:10px 12px}.empty-table-cell{height:90px;color:var(--muted-foreground);text-align:center!important}.position-manager-loading{min-height:54px;color:var(--muted-foreground);justify-content:center;align-items:center;gap:8px;display:flex}.plant-admin-grid{grid-template-columns:minmax(360px,1.25fr) minmax(300px,.75fr);gap:20px;display:grid}.plant-admin-grid>section{border-top:1px solid var(--border);align-content:start;gap:12px;min-width:0;padding:16px;display:grid}.plant-admin-grid h3{margin:0;font-size:14px}.plant-list{gap:5px;display:grid}.plant-list button{border:1px solid var(--border);min-height:48px;color:var(--foreground);text-align:left;cursor:pointer;background:#fff;border-radius:5px;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.plant-list button.active{background:#edf6fc;border-color:#2d80b6}.plant-list button span{color:var(--muted-foreground);font-size:11px}.inline-editor input{flex:1;min-width:0}.danger-command{color:#b53a36!important}.managed-detail-modal{width:min(1500px,100vw - 48px)}.detail-source-summary{flex-wrap:wrap;gap:8px;padding:12px 16px 0;display:flex}.detail-source-summary span{background:#f2f7fa;border-left:3px solid #2f86ba;gap:3px;min-width:170px;padding:8px 10px;display:grid}.detail-source-summary small{color:var(--muted-foreground)}.detail-table{margin:12px 16px 16px}.detail-table table{min-width:1450px}.detail-table td{text-align:left}.table-user-search{flex:0 250px;min-width:190px;position:relative}.table-user-search input{box-sizing:border-box;width:100%;height:32px;color:var(--foreground);font:12px var(--ui-font);background:#fff;border:1px solid #aeb7c2;border-radius:4px;outline:0;padding:0 32px 0 10px}.table-user-search input:focus{border-color:#1f4e79;box-shadow:0 0 0 2px #1f4e7924}.table-user-search input::-webkit-search-cancel-button{appearance:none}.table-user-search-clear{color:#6b7785;cursor:pointer;background:0 0;border:0;border-radius:3px;width:23px;height:23px;padding:0;font:18px/1 Arial,sans-serif;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.table-user-search-clear:hover,.table-user-search-clear:focus-visible{color:#1f4e79;background:#eef5fb}.monthly-summary-heading-tools{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.monthly-summary-heading-tools p{flex:none}.table-empty-state{height:90px;color:var(--muted-foreground);text-align:center!important}@media (width<=1100px){.position-manager{padding:16px}.position-manager-toolbar{flex-wrap:wrap;justify-content:flex-start}.position-manager-toolbar>div:first-child{width:100%;margin-right:0}.position-manager-toolbar select{min-width:220px}.position-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.plant-admin-grid{grid-template-columns:1fr}}@media (width<=760px){.user-list-tools{flex-wrap:wrap}.user-list-tools>.table-user-search{flex:100%;order:3;min-width:0}.monthly-summary-heading{flex-direction:column;align-items:stretch}.monthly-summary-heading-tools{justify-content:space-between;width:100%}.monthly-summary-heading-tools .table-user-search{flex:220px;min-width:0}}@media (width<=480px){.monthly-summary-heading-tools{flex-direction:column;align-items:stretch}.monthly-summary-heading-tools p{order:2}}@media (width<=720px){.position-manager{padding:12px}.position-manager-toolbar label,.position-manager-toolbar select,.position-manager-toolbar input[type=number]{width:100%;min-width:0}.position-manager-toolbar .workbook-command{width:100%}.position-section-heading{flex-direction:column;align-items:flex-start}.position-kpi-strip{grid-template-columns:1fr}.position-import-controls{flex-direction:column;align-items:stretch}.position-import-controls label,.position-import-controls select,.position-import-controls button{width:100%}.position-month-controls{justify-content:stretch}.position-month-controls>*{flex:1;min-width:0}.managed-detail-modal{width:calc(100vw - 16px)}.detail-table{margin:8px}}.supply-manual-update{border-top:1px solid var(--border);gap:12px;min-width:0;margin-top:22px;padding:18px 0 4px;display:grid}.supply-manual-heading,.supply-manual-preview-heading,.supply-manual-history-heading{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.supply-manual-eyebrow{color:#557086;font-size:11px;font-weight:700}.supply-manual-heading h2,.supply-manual-preview-heading h3,.supply-manual-history-heading h3{color:var(--foreground);margin:3px 0 0}.supply-manual-heading h2{font-size:17px}.supply-manual-preview-heading h3,.supply-manual-history-heading h3{font-size:15px}.supply-manual-heading p{color:var(--muted-foreground);margin:5px 0 0;font-size:11px}.supply-manual-source-summary{border:1px solid var(--border);background:var(--border);border-radius:5px;grid-template-columns:repeat(3,minmax(92px,1fr));gap:1px;display:grid;overflow:hidden}.supply-manual-source-summary span{background:#fff;gap:4px;min-width:0;padding:8px 10px;display:grid}.supply-manual-source-summary small,.supply-manual-kpi-strip small{color:var(--muted-foreground);font-size:10px}.supply-manual-source-summary b,.supply-manual-kpi-strip b{text-overflow:ellipsis;white-space:nowrap;color:#2f4052;font-variant-numeric:tabular-nums;min-width:0;font-size:12px;overflow:hidden}.supply-manual-toolbar{border:1px solid var(--border);background:#fbfcfd;border-radius:6px;flex-wrap:wrap;align-items:flex-end;gap:9px;min-width:0;padding:12px;display:flex}.supply-manual-toolbar label{min-width:155px;color:var(--muted-foreground);gap:5px;font-size:11px;display:grid}.supply-manual-toolbar input[type=date]{border:1px solid var(--border-strong);width:155px;height:35px;color:var(--foreground);font:inherit;background:#fff;border-radius:5px;padding:0 9px}.supply-manual-file-input{display:none}.supply-manual-hint{min-width:0;color:var(--muted-foreground);justify-content:space-between;gap:12px;padding:0 2px;font-size:11px;display:flex}.supply-manual-hint span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.supply-manual-error,.supply-manual-notice{margin-top:0}.supply-manual-preview,.supply-manual-history-heading+.supply-manual-table-wrap{border:1px solid var(--border);background:#fff;border-radius:6px;min-width:0;padding:13px}.supply-manual-preview{gap:11px;display:grid}.supply-manual-kpi-strip{border:1px solid var(--border);background:var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;min-width:0;display:grid;overflow:hidden}.supply-manual-kpi-strip span{background:#fbfcfd;align-content:center;gap:4px;min-width:0;min-height:57px;padding:9px 11px;display:grid}.supply-manual-table-wrap{min-width:0;overflow-x:auto}.supply-manual-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:680px;font-size:11px}.supply-manual-table th,.supply-manual-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;min-height:36px;padding:7px 9px}.supply-manual-table th{color:var(--muted-foreground);background:#f7f9fb;font-weight:600}.supply-manual-table td:first-child{white-space:normal}.supply-manual-table td:first-child small,.supply-manual-table td>small{color:var(--muted-foreground);margin-top:2px;font-size:10px;display:block}.supply-manual-table tbody tr:hover{background:#f8fbfe}.supply-manual-table tbody tr.is-selected{background:#3183ed0f}.supply-source-badge{white-space:nowrap;border-radius:999px;align-items:center;min-height:21px;padding:2px 7px;font-size:10px;display:inline-flex}.supply-source-badge.is-manual{color:#7a5514;background:#fff4d9}.supply-source-badge.is-automatic{color:#587081;background:#eef3f6}.supply-manual-release{color:#a23d39!important;background:snow!important;border-color:#e2b7b3!important}.supply-manual-release:hover:not(:disabled){color:#8c2d29!important;background:#fff2f1!important;border-color:#cc8d88!important}.supply-manual-validation-error,.supply-manual-validation-warning{border-left:3px solid;gap:4px;padding:9px 11px;font-size:11px;display:grid}.supply-manual-validation-error{color:#96332e;background:#fff2f1;border-left-color:#c9453f}.supply-manual-validation-warning{color:#825c18;background:#fff9e9;border-left-color:#d6a438}.supply-manual-validation-error span,.supply-manual-validation-warning span{overflow-wrap:anywhere}.supply-manual-expiry{color:var(--muted-foreground);margin:0;font-size:10px}.supply-manual-history-heading{align-items:end;padding-top:8px}.supply-manual-history-table td:first-child{min-width:150px}.supply-manual-batch-link{color:#17659a;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.supply-manual-batch-link:hover{text-decoration:underline}.supply-manual-batch-message{white-space:normal;max-width:260px;color:var(--danger)!important}.supply-manual-lock-list{gap:3px;min-width:180px;display:grid}.supply-manual-lock-list button{color:#a23d39;cursor:pointer;width:fit-content;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:10px}.supply-manual-lock-list button:hover{text-decoration:underline}.supply-manual-lock-list small{color:var(--muted-foreground)}.supply-manual-polling{color:var(--primary);font-size:10px}.supply-manual-empty{min-height:70px;color:var(--muted-foreground);border:1px solid var(--border);background:#fbfcfd;border-radius:6px;align-items:center;padding:12px;font-size:11px;display:flex}@media (width<=820px){.supply-manual-heading,.supply-manual-preview-heading,.supply-manual-history-heading{flex-direction:column;align-items:stretch}.supply-manual-source-summary{width:100%}.supply-manual-toolbar>button{flex:145px}.supply-manual-hint{flex-direction:column;align-items:flex-start}.supply-manual-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.supply-manual-source-summary{grid-template-columns:1fr}.supply-manual-toolbar{flex-direction:column;align-items:stretch}.supply-manual-toolbar label,.supply-manual-toolbar input[type=date],.supply-manual-toolbar>button{width:100%}.supply-manual-kpi-strip{grid-template-columns:1fr}}:root{--background:#f5f7f8;--panel:#fff;--panel-soft:#f8fafb;--foreground:#18232d;--muted-foreground:#6f7b84;--border:#e1e7e9;--border-strong:#cbd6d9;--primary:#0f766e;--primary-soft:#e8f3f1;--primary-foreground:#fff;--success:#2e7d63;--success-soft:#edf7f2;--warning:#9a6b1d;--warning-soft:#fff8e8;--danger:#b33b43;--danger-soft:#fff1f2;--chart-grid:#e4eaec;--sidebar-width:184px;--ui-radius:5px;--ui-shadow:0 2px 10px #192d360a;--ui-font:"Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif}html,body{background:var(--background);color:var(--foreground);font-size:13px}button,input,select,textarea{font-family:var(--ui-font)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #0f766e57}.dashboard-shell{background:var(--background);min-width:0}.sidebar{width:var(--sidebar-width);flex-basis:var(--sidebar-width);background:var(--panel);border-right:1px solid var(--border);box-shadow:none}.brand-block{border-bottom:1px solid var(--border);gap:9px;height:58px;padding:0 16px}.brand-block strong{color:var(--foreground);letter-spacing:0;font-size:15px;font-weight:700}.brand-block span{color:#8a969d;font-size:10px}.brand-mark{background:var(--primary);width:26px;height:26px;box-shadow:none;border-radius:5px;flex-basis:26px;gap:3px;padding:5px}.module-nav{gap:14px;padding:14px 10px}.nav-group,.nav-subgroup{gap:3px}.module-nav button{border-radius:var(--ui-radius);transition:background-color .12s,color .12s}.module-nav .sector-trigger{color:#58666e;min-height:30px;padding:6px 9px}.module-nav .sector-trigger.current{color:var(--foreground);background:0 0}.module-nav .sector-trigger>b{font-size:12px;font-weight:700}.module-nav .subnav .subsector-trigger{color:#68757c;background:0 0;min-height:29px;padding:5px 9px 5px 14px}.module-nav .subnav .subsector-trigger b{font-size:11px;font-weight:650}.module-nav .subnav .thirdnav button{min-height:31px;padding:5px 9px 5px 25px}.module-nav .subnav .thirdnav button b,.module-nav .subnav button b{font-size:12px;font-weight:500}.module-nav button:hover{color:var(--foreground);background:#f3f7f7}.module-nav button.active{color:var(--primary);background:var(--primary-soft);box-shadow:inset 2px 0 0 var(--primary)}.readonly-note{border-radius:var(--ui-radius);background:#fbfefd;border:1px solid #dcebe7;gap:6px;margin:auto 12px 14px;padding:7px 8px}.readonly-note>i{width:6px;height:6px;box-shadow:none;background:var(--primary);flex-basis:6px}.readonly-note b{color:#52756d;font-size:10px;font-weight:600}.main-workspace{width:calc(100% - var(--sidebar-width));background:var(--background);min-width:0}.topbar,.workbook-topbar{background:var(--panel);border-bottom:1px solid var(--border);flex-basis:56px;min-height:56px;padding:8px 20px}.date-toolbar,.workbook-toolbar{gap:6px;min-width:0}.date-toolbar button,.date-field input,.workbook-toolbar input,.workbook-toolbar select,.workbook-command{border:1px solid var(--border-strong);border-radius:var(--ui-radius);height:32px;color:var(--foreground);background:var(--panel);box-shadow:none}.date-toolbar button,.workbook-command{padding:0 10px;font-size:12px;font-weight:600}.date-toolbar button:not(:disabled):hover,.date-field input:hover,.workbook-toolbar input:hover,.workbook-toolbar select:hover,.workbook-command:hover:not(:disabled){background:#f6faf9;border-color:#9db9b5}.date-toolbar .refresh-button,.workbook-command:not(.secondary){border-color:var(--primary);color:var(--primary-foreground);background:var(--primary)}.date-toolbar .refresh-button:not(:disabled):hover,.workbook-command:not(.secondary):hover:not(:disabled){background:#0b5c56;border-color:#0b5c56}.workbook-toolbar label,.workbook-toolbar .workbook-user-select{gap:4px}.workbook-toolbar label>span,.workbook-toolbar .workbook-user-select>span,.user-label-filter>span{color:#7a878d;font-size:10px;line-height:1}.workbook-toolbar input,.workbook-toolbar select{padding:0 8px;font-size:12px}.workbook-toolbar .user-search-input:focus,.user-label-filter-trigger[aria-expanded=true]{border-color:var(--primary);box-shadow:0 0 0 2px #0f766e1a}.workbook-command.secondary{border-color:var(--border-strong);color:#59676e;background:var(--panel)}.context-bar,.workbook-context-bar{min-height:34px;color:var(--muted-foreground);background:var(--panel);border-bottom:1px solid var(--border);flex-basis:34px;padding:0 20px}.context-bar strong,.workbook-context-bar strong{color:var(--foreground);font-size:12px;font-weight:700}.context-bar span,.workbook-context-bar span{color:var(--muted-foreground);font-size:10px}.workbook-read-at{font-variant-numeric:tabular-nums;margin-left:12px;color:#8a969b!important}.workbook-model-status{margin-left:8px;color:var(--primary)!important}.workbook-model-status.is-failed{color:var(--danger)!important}.quality-strip{background:var(--panel);border-bottom:1px solid var(--border);min-height:34px;padding:5px 20px}.quality-badge{border-radius:4px;min-height:22px;padding:3px 7px;font-size:10px}.error-banner{border-radius:var(--ui-radius);background:var(--danger-soft);min-height:36px;box-shadow:none;border:1px solid #efc7cb;margin:10px 20px 0;padding:7px 10px}.content-scroll,.workbook-content-scroll{background:var(--background);min-width:0;padding:16px 20px 24px}.module-content{min-width:0;padding:0}.panel,.user-kpi-card,.user-month-panel,.user-profile-panel,.user-spot-panel,.user-ranking-panel,.user-source-panel,.user-clearing-panel,.user-monthly-panel,.usage-import-panel,.workbook-sheet-surface,.monthly-summary-heading{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--panel);box-shadow:var(--ui-shadow)}.panel-heading,.user-panel-heading{border-bottom:1px solid var(--border);min-height:42px;padding:9px 12px}.panel-heading h2,.user-panel-heading>strong{color:var(--foreground);font-size:14px;font-weight:700}.chart-stage,.user-chart-stage,.spot-chart-stage,.user-holding-chart-stage,.user-clearing-chart-stage,.usage-average-chart{background:var(--panel)}.chart-grid,.usage-chart-grid{stroke:var(--chart-grid)}.chart-zero{stroke:#c2d0d2}.legend-group{gap:6px}.legend-toggle{border-radius:4px;min-height:27px;padding:4px 7px;font-size:11px}.summary-grid,.position-kpi-grid,.user-kpi-grid,.user-operations-kpis,.usage-kpis{gap:8px}.summary-card,.position-kpi,.user-kpi-card{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--panel);box-shadow:none}.position-table-scroll,.position-wide-table,.workbook-sheet-scroll,.usage-table-wrap,.usage-ranking-wrap,.usage-import-table-wrap,.supply-update-day-table-wrap,.supply-update-history-table-wrap{scrollbar-color:#b7c9c8 transparent;scrollbar-width:thin;max-width:100%;overflow:auto}.sheet-grid{color:var(--foreground);background:var(--panel);font-family:var(--ui-font);font-size:12px}.sheet-grid th,.sheet-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);height:32px;padding:5px 7px;background:var(--panel)!important}.sheet-grid thead th{color:#53646a;font-weight:700;background:#f6f9f9!important}.sheet-grid tbody tr:nth-child(2n) td{background:#fbfcfc!important}.sheet-grid tbody tr:hover td{background:#f0f7f6!important}.sheet-grid tbody tr.user-label-row>td,.sheet-grid tbody tr.user-label-row:nth-child(2n)>td{background:var(--user-label-tint,var(--panel))!important}.sheet-grid tbody tr.user-label-row:hover>td{filter:saturate(.94)brightness(.98);background:var(--user-label-tint,var(--panel))!important}.sheet-grid .sheet-title-row th,.sheet-grid .clearing-title-row th{height:38px;color:var(--foreground);font-size:15px;background:var(--panel)!important}.sheet-grid .clearing-note-row th{color:#879398;height:24px;padding:3px 7px;font-size:10px;background:var(--panel)!important}.sheet-grid .clearing-group-row th,.sheet-grid .clearing-metric-row th{color:#53646a;background:#f6f9f9!important}.sheet-grid .clearing-summary-header{color:var(--primary)!important;background:var(--primary-soft)!important}.sheet-grid .total-row td,.sheet-grid tfoot td{border-top:1px solid #b8c9c9;background:#f0f5f4!important}.clearing-sheet-header{border-bottom:1px solid var(--border);background:var(--panel);padding:10px 12px 0}.clearing-sheet-heading{gap:2px}.clearing-sheet-heading strong{color:var(--foreground);font-size:14px;font-weight:700}.clearing-method-note{color:var(--muted-foreground);align-items:center;margin-top:3px;font-size:10px;display:inline-flex;position:relative}.clearing-method-note summary{cursor:pointer;color:var(--primary);list-style:none}.clearing-method-note summary::-webkit-details-marker{display:none}.clearing-method-note summary:after{content:"＋";margin-left:3px}.clearing-method-note[open] summary:after{content:"−"}.clearing-method-note span{max-width:min(620px,70vw);color:var(--muted-foreground);margin-left:8px;font-size:10px}.clearing-period-tabs{scrollbar-color:#b7c9c8 transparent;border-bottom:0;gap:2px;margin-top:7px;padding:0 2px}.clearing-period-tabs button{color:#69777c;font-variant-numeric:tabular-nums;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:3px 3px 0 0;min-width:32px;height:30px;padding:0 8px;font-size:11px}.clearing-period-tabs button:first-child{min-width:48px}.clearing-period-tabs button:hover{color:var(--primary);background:#f2f8f7}.clearing-period-tabs button.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-soft);font-weight:700}.clearing-96-sheet .clearing-time-column{z-index:4;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.clearing-96-sheet thead .clearing-time-column{z-index:7}.supply-update-module{background:var(--background);padding:22px clamp(18px,2.6vw,36px) 36px}.supply-update-module-header{border-bottom:1px solid var(--border-strong);min-height:48px;padding-bottom:10px}.supply-update-module-header h1{color:var(--foreground);font-size:20px;font-weight:700}.supply-update-method-note{margin-top:3px;font-size:10px}.supply-update-method-note summary{cursor:pointer;color:var(--primary);list-style:none;display:inline}.supply-update-method-note summary::-webkit-details-marker{display:none}.supply-update-method-note summary:after{content:"＋";margin-left:3px}.supply-update-method-note[open] summary:after{content:"−"}.supply-update-method-note span{color:var(--muted-foreground);margin-left:8px}.supply-update-command-band{border-bottom:1px solid var(--border);grid-template-columns:minmax(140px,190px) minmax(140px,190px) minmax(100px,1fr) auto;gap:10px;min-height:76px}.supply-update-command-band label{gap:5px;padding-bottom:12px}.supply-update-command-band label>span{color:var(--muted-foreground);font-size:10px}.supply-update-command-band input{border-radius:var(--ui-radius);height:34px}.supply-update-start,.supply-update-back,.supply-update-current-actions button,.supply-update-history-retry{border-radius:var(--ui-radius)}.supply-update-start{border-color:var(--primary);background:var(--primary);height:34px;margin-bottom:12px}.supply-update-start:not(:disabled):hover{background:#0b5c56;border-color:#0b5c56}.supply-update-current-section,.supply-update-history-section{padding-top:18px}.supply-update-section-heading{border-bottom:1px solid var(--border);min-height:30px;padding-bottom:8px}.supply-update-section-heading span{color:#7a878d;font-size:10px}.supply-update-section-heading strong{color:var(--foreground);margin-left:7px;font-size:14px;font-weight:700}.supply-update-overview,.supply-update-receipt-summary{border-bottom:1px solid var(--border);gap:0}.supply-update-overview>div,.supply-update-receipt-summary>div{padding:10px 14px 10px 0}.supply-update-overview span,.supply-update-receipt-summary span{color:var(--muted-foreground);font-size:10px}.supply-update-overview b,.supply-update-receipt-summary b{color:var(--foreground);font-variant-numeric:tabular-nums;margin-top:3px;font-size:16px}.supply-update-module-meter{background:#dfe9e7;height:3px;margin-top:10px}.supply-update-module-meter i{background:var(--primary)}.supply-update-advanced{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:10px}.supply-update-advanced summary{cursor:pointer;color:var(--primary);padding:8px 0;font-size:10px;list-style:none}.supply-update-advanced summary::-webkit-details-marker{display:none}.supply-update-advanced summary:after{content:"＋";margin-left:4px}.supply-update-advanced[open] summary:after{content:"−"}.supply-update-advanced .supply-update-module-current{margin:0 0 7px}.supply-update-advanced .supply-update-receipt-summary{margin-bottom:8px}.supply-update-day-table,.supply-update-history-table{font-size:11px}.supply-update-day-table th,.supply-update-history-table th{color:#657379;background:#f6f9f9;font-weight:700}.supply-update-day-table td,.supply-update-history-table td{border-color:var(--border);height:32px}.supply-update-history-section{margin-top:4px}.supply-update-module-current,.supply-update-module-message{font-size:10px}.position-manager{gap:10px;min-width:0;padding:18px 20px 30px}.position-manager-toolbar{border-bottom:1px solid var(--border);min-height:54px;padding-bottom:10px}.position-manager-eyebrow,.position-section-heading>div>span{color:#7a878d;font-size:10px}.position-manager-toolbar h1,.position-section-heading h2{color:var(--foreground);font-weight:700}.position-manager-toolbar h1{font-size:20px}.position-manager-tabs{border-bottom:1px solid var(--border);gap:4px;margin-top:10px}.position-manager-tabs button{color:#657379;background:0 0;border-bottom:2px solid #0000;border-radius:3px 3px 0 0;min-height:32px;padding:0 12px;font-size:12px}.position-manager-tabs button.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--primary-soft)}.position-section-heading{padding:14px 0 9px}.position-section-heading>p{color:var(--muted-foreground);font-size:10px}.position-wide-table table{font-size:11px}.position-wide-table th{color:#657379;background:#f6f9f9}.position-wide-table td,.position-wide-table th{border-color:var(--border)}.user-label-filter-trigger{border-radius:var(--ui-radius)}@media (width<=1080px){:root{--sidebar-width:176px}.topbar,.workbook-topbar,.context-bar,.workbook-context-bar,.quality-strip,.content-scroll,.workbook-content-scroll{padding-left:14px;padding-right:14px}}@media (width<=760px){.dashboard-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;max-width:100%;min-height:auto;display:block;overflow-x:hidden}.brand-block{height:50px;padding:0 12px}.module-nav{white-space:normal;align-items:start;gap:5px;width:100%;min-width:0;max-width:100%;padding:6px 8px;display:grid;overflow-x:hidden}.module-nav .nav-group{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;width:100%;min-width:0;max-width:100%;display:grid}.module-nav .subnav.is-open{opacity:1;pointer-events:auto;visibility:visible;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:3px;width:100%;min-width:0;max-width:100%;max-height:none;display:flex;transform:none}.module-nav .subnav:not(.is-open),.module-nav .thirdnav:not(.is-open){display:none}.module-nav .nav-subgroup{flex-wrap:wrap;flex:100%;align-items:center;gap:3px;width:100%;min-width:0;max-width:100%;display:flex}.module-nav .thirdnav{flex-wrap:wrap;flex:220px;align-items:center;gap:2px;width:100%;min-width:0;max-width:100%;display:flex}.module-nav .sector-trigger,.module-nav .subnav .subsector-trigger,.module-nav .subnav .thirdnav button{min-height:30px;padding-top:5px;padding-bottom:5px}.module-nav .subnav .subsector-trigger{padding-left:8px}.module-nav .subnav .thirdnav button{flex:86px;min-width:0}.module-nav b{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.main-workspace{width:100%;min-height:calc(100vh - 100px)}.topbar,.workbook-topbar{flex-basis:auto;min-height:70px;padding:8px 10px}.date-toolbar,.workbook-toolbar{flex-wrap:wrap;justify-content:flex-start}.content-scroll,.workbook-content-scroll{padding:12px 10px 18px}.clearing-sheet-header{padding-left:8px;padding-right:8px}.clearing-period-tabs button{min-width:30px;padding-left:7px;padding-right:7px}.supply-update-module{padding:16px 12px 28px}.supply-update-command-band{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;padding-top:10px;padding-bottom:2px}.supply-update-command-summary,.supply-update-start{margin-bottom:10px}.supply-update-start{width:100%}}@media (width<=430px){.date-toolbar{gap:4px}.date-toolbar .day-button{padding-left:7px;padding-right:7px}.refresh-button{width:34px;font-size:0;overflow:hidden;padding:0!important}.refresh-button>span{font-size:17px}.supply-update-command-band{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
