:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#172033;background:#f4f6f9;line-height:1.45;--navy:#10233f;--blue:#2563eb;--line:#e5e9f0;--muted:#667085;--danger:#b42318}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}.app{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:196px;background:var(--navy);color:#fff;display:flex;flex-direction:column}.brand{height:68px;display:flex;align-items:center;gap:10px;padding:0 22px;font-size:18px;font-weight:700;border-bottom:1px solid #ffffff18}.brand-mark{width:54px;height:54px;border-radius:14px;background:linear-gradient(145deg,#2563eb,#1d4ed8);display:grid;place-items:center;color:#fff;font-size:25px;font-weight:800;box-shadow:0 8px 24px #2563eb33}.brand-mark.small{width:32px;height:32px;border-radius:9px;font-size:16px;box-shadow:none}.nav-group{padding:24px 20px 8px;color:#99a8bd;font-size:12px}.nav-item{display:block;margin:0 10px;padding:11px 14px;border-radius:7px;color:#dce5f1;text-decoration:none}.nav-item.active{background:#ffffff14;color:#fff;font-weight:600}.sidebar-foot{margin-top:auto;padding:18px 20px;color:#91a0b5;font-size:12px}.main{margin-left:196px;min-width:0;flex:1}.topbar{height:76px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar-title{display:flex;align-items:center;gap:10px}.mobile-menu-button,.mobile-menu-backdrop{display:none}.topbar h1{font-size:20px;margin:0}.topbar p{font-size:12px;color:var(--muted);margin:4px 0 0}.user-box{display:flex;gap:9px;align-items:center;font-size:13px}.role,.tag{display:inline-flex;border-radius:999px;padding:2px 8px;background:#eef4ff;color:#2459b8;font-size:12px}.text-button{border:0;background:none;color:#2563eb;cursor:pointer;padding:4px}.text-button.danger{color:var(--danger)}.content{padding:22px 28px}.summary-row{display:grid;grid-template-columns:repeat(3,minmax(160px,220px));gap:12px;margin-bottom:14px}.summary{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px 16px;display:flex;align-items:baseline;justify-content:space-between}.summary span{font-size:13px;color:var(--muted)}.summary strong{font-size:23px}.summary .small-value{font-size:14px;color:#344054}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.toolbar{padding:14px 16px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:8px;flex-wrap:wrap}.search input{width:300px}.button,input,select,textarea{border:1px solid #cfd6e1;border-radius:6px;background:#fff;color:#172033}.button{min-height:34px;padding:6px 13px;cursor:pointer}.button:hover{border-color:#8aa2c6}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.small{min-height:30px;padding:4px 10px;font-size:12px}.button.wide{display:block;text-align:center;text-decoration:none;width:100%;margin-top:24px;padding:10px}.button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{width:100%;padding:7px 9px;min-height:36px}input:focus,select:focus,textarea:focus{outline:2px solid #2563eb25;border-color:#2563eb}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf0f4}th{background:#f8fafc;color:#475467;font-size:12px;font-weight:600}td:first-child{white-space:normal;min-width:180px}.company-name{font-weight:600}.company-short{color:var(--muted);font-size:12px;margin-top:2px}.tags{display:flex;gap:4px;flex-wrap:wrap}.tag.gray{background:#f2f4f7;color:#475467}.tag.green{background:#ecfdf3;color:#027a48}.empty{padding:70px 20px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:6px}.empty.compact{padding:38px 20px}.empty strong{color:#344054}.pagination{padding:12px 16px;display:flex;justify-content:flex-end;align-items:center;gap:12px}.message{margin:12px 16px 0;padding:9px 12px;border-radius:6px;background:#fef3f2;color:var(--danger);font-size:13px}.login-view{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,#eff6ff,#f4f6f9 55%)}.login-card{width:min(390px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:14px;padding:36px;text-align:center;box-shadow:0 20px 60px #10233f14}.login-card .brand-mark{margin:auto}.login-card h1{font-size:22px;margin:18px 0 6px}.login-card p{color:var(--muted);font-size:14px}dialog{width:min(980px,calc(100% - 30px));max-height:92vh;border:0;border-radius:12px;padding:0;box-shadow:0 24px 80px #1018284d}dialog::backdrop{background:#10182880}dialog form{display:flex;flex-direction:column;max-height:92vh}.attachment-dialog{width:min(760px,calc(100% - 30px))}.dialog-head,.dialog-foot{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;background:#fff}.dialog-head{border-bottom:1px solid var(--line)}.dialog-head h2{font-size:18px;margin:0}.dialog-head p{font-size:12px;color:var(--muted);margin:3px 0 0}.dialog-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.dialog-body{overflow:auto;padding:18px 20px;background:#f8fafc}.upload-box{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px}.upload-box label{font-size:12px;color:#475467}.upload-box span{grid-column:1/-1;font-size:12px;color:var(--muted)}.attachment-table{margin-top:12px;border:1px solid var(--line);border-radius:8px}.icon-button{border:0;background:none;font-size:26px;color:#667085;cursor:pointer}.form-section{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:12px}.form-section:last-child{margin-bottom:0}.form-section h3{font-size:14px;margin:0 0 13px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid label,.note-label,.shareholder-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#475467}.form-grid .span-2{grid-column:span 2}.yes-no-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.yes-no-grid fieldset{border:1px solid var(--line);border-radius:6px;padding:8px 10px;margin:0}.yes-no-grid legend{font-size:12px;color:#475467;padding:0 4px}.yes-no-grid label{font-size:13px;margin-right:12px}.yes-no-grid input{width:auto;min-height:auto}.after-options{margin-top:12px}.section-title,.shareholder-head{display:flex;justify-content:space-between;align-items:center}.section-title h3{margin:0}.shareholder-card{border:1px solid var(--line);background:#fafbfc;border-radius:7px;padding:12px;margin-top:10px}.shareholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.rates{grid-template-columns:repeat(3,1fr)}.note-label{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.sidebar{width:164px}.main{margin-left:164px}.content,.topbar{padding-left:18px;padding-right:18px}.form-grid,.shareholder-grid{grid-template-columns:repeat(2,1fr)}.yes-no-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.sidebar{display:flex;width:min(82vw,280px);transform:translateX(-100%);transition:transform .2s ease;z-index:1000;box-shadow:8px 0 24px #10233f33}.sidebar.mobile-open{transform:translateX(0)}.mobile-menu-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #cfd6e1;border-radius:6px;background:#fff;color:#172033;font-size:22px;cursor:pointer}.mobile-menu-backdrop{display:block;position:fixed;inset:0;z-index:999;padding:0;border:0;border-radius:0;background:#10182880;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-menu-backdrop.mobile-open{opacity:1;pointer-events:auto}.main{margin-left:0}.topbar{height:auto;padding-top:13px;padding-bottom:13px}.topbar p,.user-box .role{display:none}.content{padding:14px}.summary-row{grid-template-columns:1fr 1fr}.summary-row .summary:last-child{display:none}.toolbar{align-items:flex-end}.filters{flex:1}.search,.search input,.filters label{width:100%}.table-wrap{max-height:none}.form-grid,.shareholder-grid,.rates{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.yes-no-grid{grid-template-columns:1fr 1fr}.dialog-body{padding:12px}.form-section{padding:13px}.upload-box{grid-template-columns:1fr}.upload-box span{grid-column:auto}}
.nav-item{width:calc(100% - 20px);border:0;background:none;text-align:left;cursor:pointer}.balance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:14px}.balance-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:14px 16px}.balance-card strong{display:block;margin-bottom:8px}.balance-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:12px;color:var(--muted)}.balance-values b{display:block;color:#172033;font-size:15px;margin-top:2px}.entry-dialog{width:min(760px,calc(100% - 30px))}.negative{color:var(--danger)}
.login-actions{display:grid;gap:10px;margin-top:24px}.login-actions .wide{margin-top:0}.login-card small{display:block;margin-top:16px;color:var(--muted);line-height:1.6}
.attachment-center-toolbar .filters{flex:1}.attachment-center-toolbar select,.attachment-center-toolbar input{width:auto;min-width:140px}.attachment-center-toolbar #attachmentQuery{min-width:210px}.attachment-center-toolbar #attachmentCategoryFilter{min-width:130px}.attachment-center-toolbar #attachmentPeriod{min-width:150px}.attachment-center-toolbar #attachmentCompany{min-width:180px}.attachment-center-toolbar #attachmentModule,.attachment-center-toolbar #attachmentSent{min-width:145px}#attachmentCenterRows input[type="checkbox"],#attachmentSelectAll{width:auto;min-height:auto}.task-list-panel{margin-top:14px}
.statistics-filters #statisticsPeriod{width:150px}.statistics-filters #statisticsQuery{width:260px}.statistics-table .statistics-date{width:140px;min-height:31px;padding:4px 6px}.statistics-secret-note{margin-top:14px}
.statistics-energy-toolbar .filters,.statistics-anomaly-toolbar .filters{flex:1}.statistics-energy-toolbar #energyYear{width:110px}.statistics-energy-toolbar #energyCompany{width:260px}.statistics-energy-toolbar #energyQuery{width:220px}.statistics-anomaly-toolbar #anomalyPeriod{width:150px}.statistics-anomaly-toolbar #anomalyCategory{width:130px}.statistics-anomaly-toolbar #anomalyQuery{width:240px}.energy-formula-note{margin-top:14px}.energy-sheet{border-top:1px solid var(--line)}.energy-sheet summary{padding:13px 16px;cursor:pointer;display:flex;gap:10px;align-items:center}.energy-sheet summary span{color:var(--muted);font-size:12px}.energy-sheet-body{padding:0 16px 16px}.energy-sheet-body h3{font-size:13px;margin:12px 0 7px}.energy-table{min-width:1120px;font-size:12px}.energy-table th,.energy-table td{padding:7px 8px;text-align:right}.energy-table th:first-child,.energy-table td:first-child{text-align:left;min-width:145px}.energy-table .energy-value{width:72px;min-height:30px;padding:4px 5px;text-align:right}.energy-coal-row{background:#fffaeb;color:#b54708;font-weight:600}.energy-actions{display:flex;justify-content:flex-end;margin-top:12px}
.inout-table input{width:94px;min-height:30px;padding:4px 6px;text-align:right}.inout-table [data-field="note"]{width:150px;text-align:left}.inout-table .output-head,.inout-table .output-cell{background:#f0f7ff}.inout-table .diff-head,.inout-table .tax-difference{background:#fff6f5}.inout-table .green-number{color:#027a48}.inout-table .save-state{font-size:11px;color:var(--muted);margin-top:2px}.inout-summary .summary strong{font-size:18px}
.wide-data{min-width:1800px}.wide-data input{width:105px;min-height:30px;padding:4px 6px;text-align:right}.wide-data [data-field="remark"],.wide-data [data-field="note"]{width:150px;text-align:left}.green-number{color:#027a48}.warning-text{max-width:180px;white-space:normal;color:#b54708;font-size:11px}.muted{color:var(--muted);font-size:12px;align-self:center}.settlement-head{display:flex;gap:16px;align-items:center;padding:12px 16px;background:#f0f7ff;color:#344054}.settlement-head span{font-size:12px;color:var(--muted)}#outOfTownView .panel+.panel{margin-top:14px}.prepay-table{min-width:2200px}.prepay-table .prepay-groups th{background:#eaf2ff;text-align:center}.prepay-table tbody td:first-child,.prepay-table thead tr:first-child th:first-child{position:sticky;left:0;background:#fff;z-index:2}.prepay-table tbody td:last-child,.prepay-table thead tr:nth-child(2) th:last-child{position:sticky;right:0;background:#fff;z-index:2;box-shadow:-4px 0 6px #17203312}.prepay-table thead tr:first-child th:first-child,.prepay-table thead tr:nth-child(2) th:last-child{background:#f8fafc;z-index:3}
.info-note{display:flex;gap:12px;margin-bottom:14px;padding:12px 16px;border:1px solid #b9d5ff;border-radius:9px;background:#eff6ff;color:#344054;font-size:13px}.info-note strong{color:#1d4ed8;white-space:nowrap}
.qualification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}.qualification-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#475467}.qualification-grid .span-2{grid-column:span 2}.qualification-history{margin-top:14px;border:1px solid var(--line);border-radius:7px}.qualification-history table{min-width:900px}.qualification-history td:first-child{min-width:150px}
@media(max-width:650px){.qualification-grid{grid-template-columns:1fr}.qualification-grid .span-2{grid-column:auto}}
.task-template-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:12px 16px}.task-template-card{display:grid;grid-template-columns:minmax(52px,1fr) auto auto;gap:6px;align-items:end;border:1px solid var(--line);border-radius:8px;padding:10px}.task-template-card>div{grid-column:1/-1;min-width:0}.task-template-card label{font-size:12px;color:var(--muted)}.task-template-card input{min-height:30px;margin-top:4px;padding:4px 6px}.task-template-card .task-enabled{display:flex;align-items:center;gap:4px;min-height:30px}.task-template-card .task-enabled input{width:auto;min-height:auto;margin:0}.task-list-panel{margin-top:14px}.task-groups{padding:12px 16px}.task-group{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}.task-group summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:13px 15px;background:#f8fafc}.task-group summary::marker{color:var(--blue)}.task-group .task-counts{color:var(--muted);font-size:12px}.task-status{display:inline-flex;border-radius:999px;padding:2px 8px;background:#f2f4f7;color:#475467;font-size:12px}.task-status.completed{background:#ecfdf3;color:#027a48}.task-status.overdue{background:#fef3f2;color:var(--danger)}.task-status.pending_review{background:#fff7e8;color:#b54708}@media(max-width:1200px){.task-template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.task-template-grid{grid-template-columns:1fr}}
.toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dictionary-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;padding:12px 16px}.dictionary-categories{display:flex;flex-direction:column;gap:6px}.dictionary-category{text-align:left}.dictionary-actions{display:flex;gap:8px;margin-bottom:10px}.dictionary-actions input{max-width:320px}@media(max-width:750px){.dictionary-layout{grid-template-columns:1fr}.dictionary-categories{flex-direction:row;flex-wrap:wrap}}
.timeline{display:grid;gap:10px}.timeline>div{border-left:2px solid #cfd6e1;padding-left:12px}.timeline b,.timeline span{display:block}.timeline span,.timeline p{color:var(--muted);font-size:12px;margin:3px 0 0}
.contract-toolbar .filters{flex:1}.contract-toolbar #contractStatus{width:150px}.contract-toolbar #contractQuery{width:280px}.contract-print-sheet,.vat-print-sheet{display:none}.contract-print-sheet h1{text-align:center;margin:0;font-size:24px}.contract-print-subtitle{text-align:center;color:#667085;margin:5px 0 28px}.contract-print-sheet table{white-space:normal;font-size:14px}.contract-print-sheet th,.contract-print-sheet td{border:1px solid #344054;padding:12px}.contract-print-sheet th{width:18%;background:#f2f4f7;color:#172033}.contract-print-warning{margin-top:20px;color:#b42318}.contract-print-sign{display:flex;justify-content:space-between;margin-top:45px}.vat-print-sheet{font-family:SimSun,"宋体",serif;color:#000}.vat-print-sheet h1{text-align:center;margin:0 0 2.5mm;font-size:16pt;font-weight:500;letter-spacing:1.5mm}.vat-print-meta{display:grid;grid-template-columns:1fr auto;gap:1mm 8mm;font-size:10pt}.vat-print-meta span:nth-child(2){text-align:right}.vat-print-meta span:nth-child(4){grid-column:1/3;grid-row:2;text-align:center}.vat-print-meta span:nth-child(5){grid-column:2;grid-row:2;text-align:right}.vat-print-sheet table{width:100%;margin-top:1mm;border:1.5pt solid #000;table-layout:fixed;white-space:normal;font-size:10pt}.vat-print-sheet col:nth-child(1),.vat-print-sheet col:nth-child(3){width:28%}.vat-print-sheet col:nth-child(2),.vat-print-sheet col:nth-child(4){width:22%}.vat-print-sheet td{height:6.4mm;padding:.8mm 2mm;border:1pt solid #000}.vat-print-sheet td:nth-child(even){text-align:right}.vat-print-review{vertical-align:top!important;text-align:left!important;padding:3mm!important}.vat-print-review strong{font-size:14pt;font-weight:500}.vat-print-review p{margin:3mm 0;white-space:pre-wrap}.vat-print-payable{color:#ad6500;font-weight:600}.vat-print-sign{display:flex;justify-content:space-around;gap:8mm;margin-top:1.5mm;font-size:10pt}.vat-print-sign i{display:inline-block;min-width:25mm;border-bottom:.5pt solid #000;font-style:normal;text-align:center}@media print{@page contract{size:A4;margin:18mm}@page vat{size:A5 landscape;margin:8mm 10mm}.printing-contract>*:not(.contract-print-sheet),.printing-vat>*:not(.vat-print-sheet){display:none!important}.printing-contract .contract-print-sheet{display:block!important;page:contract;color:#000;background:#fff}.printing-contract .contract-print-sheet[hidden],.printing-vat .vat-print-sheet[hidden]{display:block!important}.printing-vat .vat-print-sheet{display:block!important;page:vat;color:#000;background:#fff}}
.workbench-summary{grid-template-columns:repeat(6,minmax(130px,1fr))}.workbench-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.workbench-list{min-height:190px}.workbench-list-row{min-height:48px;padding:10px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.workbench-list-row:last-child{border-bottom:0}.workbench-list-row strong,.workbench-list-row span{display:block}.workbench-list-row>div>span{font-size:12px;color:var(--muted);margin-top:2px}.workbench-list-empty{padding:65px 16px;text-align:center;color:var(--muted)}.alert-dot{display:inline-block!important;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#12b76a}.alert-dot.medium{background:#f79009}.alert-dot.high{background:#d92d20}.workbench-ai-panel{margin-top:14px}.workbench-ai-toolbar{align-items:center}.workbench-ai-controls{display:flex;gap:8px;padding:14px 16px}.workbench-ai-controls select{width:170px;flex:0 0 170px}.workbench-ai-controls input{flex:1}.workbench-ai-attachments{display:grid;grid-template-columns:150px minmax(260px,1fr) auto;gap:8px 12px;align-items:center;padding:0 16px 14px}.workbench-ai-attachments select{min-height:90px}.workbench-ai-attachments .muted{grid-column:2/4}.workbench-extracted{margin:0 16px 14px}.workbench-extracted label,.workbench-extracted textarea{display:block;width:100%}.workbench-extracted textarea{margin:8px 0;resize:vertical}.workbench-report{margin:0 16px 16px;padding:18px;border:1px solid #b9d5ff;border-radius:8px;background:#f8fbff}.workbench-report-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.workbench-report-head h3{display:inline;margin:0 0 0 8px}.workbench-conclusion{font-size:15px;font-weight:600}.workbench-report-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.workbench-report-columns ul,.workbench-report-columns ol{margin:8px 0 0;padding-left:22px}.workbench-report-columns li{margin:5px 0;font-size:13px}@media(max-width:1000px){.workbench-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.workbench-summary{grid-template-columns:1fr 1fr}.workbench-grid,.workbench-report-columns{grid-template-columns:1fr}.workbench-ai-controls{flex-wrap:wrap}.workbench-ai-controls select,.workbench-ai-controls input,.workbench-ai-controls button{width:100%;flex-basis:100%}.workbench-ai-attachments{grid-template-columns:1fr}.workbench-ai-attachments .muted{grid-column:auto}.workbench-report-head{display:block}}
.risk-company-picker{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#475467}.risk-import{margin-top:6px;border:1px solid var(--line);border-radius:7px;padding:10px 12px;background:#f8fafc}.risk-import summary{cursor:pointer;color:#2563eb;font-weight:600}.risk-import p{margin:8px 0}.risk-import-actions{display:flex;gap:8px;align-items:center;margin-top:8px}.risk-import-actions input{flex:1}.risk-import-actions .button{width:auto;white-space:nowrap}#riskBatchImportResult{margin-top:8px;align-self:auto}@media(max-width:650px){.risk-import-actions{align-items:stretch;flex-direction:column}.risk-import-actions .button{width:100%}}
.sidebar nav{flex:1;min-height:0;overflow-y:auto}.nav-group{width:100%;padding:18px 20px 7px;border:0;background:none;color:#99a8bd;font-size:12px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.nav-group::after{content:'›';font-size:18px;line-height:1;transform:rotate(90deg);transition:transform .15s}.nav-section.collapsed .nav-group::after{transform:rotate(0)}.nav-section.collapsed .nav-group-items{display:none}
.icp-link{display:inline-block;margin-top:6px;color:inherit;text-decoration:none}.icp-link:hover{text-decoration:underline}
.pagination span,.pagination button{white-space:nowrap}.pagination select{width:auto;min-width:100px;flex:0 0 auto}
.task-status.rework{background:#fef3f2;color:var(--danger)}.task-status.submitted{background:#fff7e8;color:#b54708}
.daily-batch-panel{margin-bottom:14px}.daily-batch-panel>summary{cursor:pointer;padding:12px 16px;font-weight:600}.daily-batch-panel>summary span{margin-left:8px;color:var(--muted);font-size:12px;font-weight:400}.daily-batch-bulk{display:flex;gap:8px;align-items:center;margin-bottom:10px}.daily-batch-bulk select{width:220px}.daily-batch-preview{max-height:360px;border:1px solid var(--line);border-radius:7px}.daily-batch-preview td:first-child{min-width:auto}.daily-batch-preview input[type="checkbox"]{width:auto;min-height:auto}.daily-batch-preview select{min-width:150px}.daily-batch-preview th{position:sticky;top:0;z-index:1}@media(max-width:650px){.daily-batch-bulk{align-items:stretch;flex-direction:column}.daily-batch-bulk select{width:100%}}

/* Unified typography: same component, same type scale. */
:root{--type-caption:12px;--type-control:13px;--type-body:14px;--type-nav:14px;--type-section:14px;--type-dialog:18px;--type-page:20px;--type-metric:22px}body{font-size:var(--type-body)}.brand{font-size:18px}.nav-group{font-size:var(--type-caption);font-weight:400;line-height:1.45}.nav-item{font-size:var(--type-nav);font-weight:400;line-height:1.45}.nav-item.active{font-weight:600}.topbar h1{font-size:var(--type-page);line-height:1.35}.topbar p,.dialog-head p,.company-short,.muted,.sidebar-foot,.upload-box label,.upload-box span,.form-grid label,.note-label,.shareholder-grid label,.yes-no-grid legend,.task-group .task-counts,.daily-batch-panel>summary span{font-size:var(--type-caption);line-height:1.45}.button,.text-button,input,select,textarea{font-size:var(--type-control);line-height:1.45}.toolbar,.panel,.info-note,.empty,.pagination{font-size:var(--type-body)}.toolbar strong,.form-section h3,.section-title h3,.daily-batch-panel>summary,.energy-sheet-body h3{font-size:var(--type-section);line-height:1.45}.dialog-head h2{font-size:var(--type-dialog);line-height:1.4}.summary span{font-size:var(--type-control)}.summary strong{font-size:var(--type-metric);line-height:1.2}.summary .small-value{font-size:var(--type-body)}table,.energy-table{font-size:var(--type-control);line-height:1.45}th{font-size:var(--type-caption);line-height:1.45}.company-name{font-size:var(--type-control)}.tag,.task-status,.inout-table .save-state,.warning-text{font-size:var(--type-caption);line-height:1.45}.message,.workbench-list-row{font-size:var(--type-control);line-height:1.45}
@media(max-width:650px){body.mobile-menu-open{overflow:hidden}}
@media(max-width:650px){.summary-row .summary:last-child{display:flex}}
.summary-row{grid-template-columns:repeat(auto-fit,minmax(150px,220px))}@media(max-width:650px){.summary-row{grid-template-columns:1fr 1fr}}
.inline-checkbox{width:auto;min-height:auto}
.toolbar-actions{margin-left:auto}

/* Professional UI finish: clearer hierarchy without changing page structure. */
:root{--navy:#10243f;--blue:#2563eb;--blue-hover:#1d4ed8;--canvas:#f3f6fa;--surface:#fff;--surface-soft:#f8fafc;--line:#dfe5ee;--control-line:#c7d0dd;--text:#172033;--muted:#667085;--danger:#b42318;--shadow-sm:0 1px 2px #10233f0a,0 4px 14px #10233f08}
html{scrollbar-gutter:stable}body{background:var(--canvas);color:var(--text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:#dbeafe;color:#172033}
.sidebar{background:linear-gradient(180deg,#102743 0%,#0d2039 100%);box-shadow:1px 0 0 #07182a}.brand{height:66px;padding:0 20px;letter-spacing:.02em}.sidebar nav{padding:6px 0 12px;scrollbar-width:thin;scrollbar-color:#ffffff2b transparent}.nav-group{min-height:38px;padding:13px 20px 6px;color:#91a4bd;font-weight:500}.nav-item{position:relative;min-height:38px;margin:2px 10px;padding:9px 13px;color:#d7e1ed;transition:background-color .15s,color .15s}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#2563eb2b;color:#fff;box-shadow:inset 3px 0 0 #60a5fa}.sidebar-foot{padding:14px 20px 16px;border-top:1px solid #ffffff12}
.topbar{height:72px;position:sticky;top:0;z-index:30;padding:0 24px;border-color:var(--line);box-shadow:0 1px 3px #10233f08}.topbar h1{font-weight:700;letter-spacing:-.01em}.role{font-weight:600}.content{max-width:1920px;margin:0 auto;padding:20px 24px 28px}
.company-view-control{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--type-caption);white-space:nowrap}.company-view-control select{width:180px;min-height:32px;padding:5px 8px}
.selection-column{width:44px;min-width:44px!important;text-align:center;white-space:nowrap!important}.selection-column input,.company-row-select{width:auto;min-height:auto}
[data-vat-table] th[data-sort-column]{cursor:pointer;user-select:none;white-space:nowrap}[data-vat-table] th[data-sort-column]::after{content:"⇅";margin-left:5px;color:#98a2b3;font-weight:400}[data-vat-table] th.sorted-asc::after{content:"↑";color:var(--blue)}[data-vat-table] th.sorted-desc::after{content:"↓";color:var(--blue)}[data-vat-table] th[data-sort-column]:focus-visible{outline:2px solid #2563eb55;outline-offset:-2px}
.summary-row{gap:10px;margin-bottom:12px}.summary{min-height:64px;border-color:var(--line);border-radius:10px;padding:13px 16px;box-shadow:0 1px 2px #10233f06}.summary strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.panel{border-color:var(--line);border-radius:10px;box-shadow:var(--shadow-sm)}
.toolbar{min-height:60px;align-items:flex-end;flex-wrap:wrap;padding:12px 16px;gap:10px 14px}.filters{row-gap:10px}.filter-field>span,.form-grid label,.note-label,.shareholder-grid label,.qualification-grid label,.risk-company-picker{font-size:13px;font-weight:600;color:#475467}.button,input,select,textarea{border-color:var(--control-line);border-radius:7px;transition:border-color .15s,box-shadow .15s,background-color .15s}.button{min-height:36px;font-weight:500}.button:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}.button.primary{font-weight:600;box-shadow:0 1px 2px #1d4ed833}.button.primary:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover)}input:hover,select:hover,textarea:hover{border-color:#9eacbd}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.button:focus-visible,.text-button:focus-visible,.nav-item:focus-visible,.nav-group:focus-visible,.icon-button:focus-visible,.mobile-menu-button:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.text-button{border-radius:5px;font-weight:500}.text-button:hover{background:#eff6ff}.text-button.danger:hover{background:#fef3f2}
.table-wrap{scrollbar-color:#b8c2d0 #f1f4f8}.table-wrap::-webkit-scrollbar{width:10px;height:10px}.table-wrap::-webkit-scrollbar-thumb{background:#b8c2d0;border:2px solid #f1f4f8;border-radius:999px}.table-wrap::-webkit-scrollbar-track{background:#f1f4f8}table{font-variant-numeric:tabular-nums}th,td{padding:11px 14px}th{height:42px;background:#f6f8fb;color:#475467;font-weight:700;letter-spacing:.01em}tbody tr{transition:background-color .12s}tbody tr:hover td{background:#f8fbff}.company-name{color:#1d2939}.pagination{min-height:58px;border-top:1px solid var(--line);background:#fbfcfe}.pagination span{color:#475467}.empty{background:linear-gradient(180deg,#fff,#fbfcfe)}.message{border:1px solid #fecdca;border-left:3px solid #d92d20;background:#fff6f5}
dialog{border:1px solid #d7dee8;box-shadow:0 24px 80px #10182840}.dialog-head,.dialog-foot{position:sticky;z-index:3}.dialog-head{top:0}.dialog-foot{bottom:0}.dialog-body{background:#f5f7fa}.form-section{border-color:#dfe5ee;box-shadow:0 1px 2px #10233f05}.form-section h3,.section-title h3{font-size:15px;font-weight:700;color:#25324a}.form-section>h3{padding-left:9px;border-left:3px solid #3b82f6}.yes-no-grid fieldset,.shareholder-card,.qualification-history,.upload-box{border-color:#d9e0e9}.tag,.task-status{font-weight:600}
@media(max-width:900px){.content{padding:18px}.topbar{padding-left:18px;padding-right:18px}.toolbar{align-items:stretch}.toolbar>.filters{flex:1 1 100%}.toolbar>.toolbar-actions{margin-left:0}}
@media(max-width:650px){html{scrollbar-gutter:auto}.topbar{min-height:62px}.content{padding:14px 12px 22px}.summary{min-height:60px;padding:11px 13px}.toolbar{padding:12px}.toolbar-actions{width:100%}.toolbar-actions .button{flex:1}.user-box{gap:5px}.user-box #userName,.company-view-control span{display:none}.company-view-control select{width:132px}.dialog-head,.dialog-foot{padding:13px 15px}th,td{padding:10px 12px}}
.workbench-ai-attachment-actions{display:flex;gap:8px;flex-wrap:wrap}.workbench-ai-attachment-actions label{display:flex;align-items:center;gap:5px;font-size:13px;white-space:nowrap}.workbench-ai-attachment-actions input{width:auto}.workbench-ai-attachment-actions .danger{color:var(--danger);border-color:#fda29b}
/* Capital ledger: keep evidence checks compact and a single scrolling body. */
#capitalContributionDialog{overflow:hidden}
#capitalContributionForm{max-height:calc(92vh - 2px);margin:0}
#capitalContributionForm .dialog-head,#capitalContributionForm .dialog-foot{flex-shrink:0}
#capitalContributionForm .dialog-body{min-height:0}
#capitalContributionForm .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#capitalContributionForm label.check-line{flex-direction:row;align-items:center;gap:8px}
#capitalContributionForm input[type="checkbox"]{width:16px;height:16px;min-height:0;flex:0 0 16px;margin:0}
#capitalContributionForm small{font-weight:400;color:var(--muted)}
@media(max-width:650px){#capitalContributionForm .form-grid{grid-template-columns:1fr}#capitalContributionForm .span-2{grid-column:auto}}
#companyUpdateDialog{width:min(960px,94vw);max-height:90vh;overflow:auto}#companyUpdateFields{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}#companyUpdateFields label{display:inline-flex;align-items:center;gap:4px}#companyUpdateFields input{width:16px;height:16px;min-width:16px;margin:0}#companyUpdateDiff{max-height:42vh;overflow:auto}#companyUpdateDiff td{white-space:pre-wrap;overflow-wrap:anywhere}
#companyUpdateForm{padding:20px;gap:10px;max-height:none}#companyUpdateForm h2,#companyUpdateForm p{margin:0}#companyUpdateForm p{font-size:13px;line-height:1.6;color:var(--muted)}#companyUpdateForm .dialog-actions{display:flex;justify-content:flex-end;gap:8px}
#vatCalcTable .vat-actions{position:sticky;right:0;background:#fff;min-width:225px;white-space:nowrap;z-index:1;box-shadow:-3px 0 4px #10233f08}#vatCalcTable th.vat-actions{background:#f8fafc;z-index:2}#vatCalcTable button:disabled{opacity:.48;cursor:not-allowed}.vat-print-stage{text-align:right;font-size:10px}
.progress-note{white-space:pre-wrap;overflow-wrap:anywhere}
#taskProgressDialog{width:min(760px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:20px}
#taskProgressDialog textarea{display:block;width:100%;box-sizing:border-box;margin:8px 0 12px}
#taskProgressDialog article{border-bottom:1px solid #e2e8f0;padding:12px 0}
#taskProgressDialog li{margin:6px 0;overflow-wrap:anywhere}
#taskProgressDialog label{display:block;margin-top:12px}
#taskProgressDialog .modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
#taskProgressDialog .modal-header h2{font-size:18px;margin:0}
#progressMessage{color:#9a3412}
.announcement-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;margin-bottom:14px;background:#f0f5ff;border:1px solid #d9e4f8;border-radius:8px;font-size:13px}
.announcement-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.announcement-toolbar input,.notice-options input[type=checkbox]{width:auto}
.notice-card{background:white;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:10px}
.notice-card p{color:#475569;overflow-wrap:anywhere}.notice-title{font-weight:600;font-size:16px}.notice-card small{color:#64748b}
.notice-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:22px;border:0;border-radius:12px}
.notice-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.notice-dialog header h2{font-size:20px}
.notice-dialog label{display:block;margin:10px 0}.notice-dialog textarea,.notice-dialog select,.notice-dialog input:not([type=checkbox]){width:100%;box-sizing:border-box}
.notice-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.notice-options{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.notice-options label{display:flex;align-items:center;gap:6px}
#noticeActions{display:flex;gap:10px;margin-top:16px}#noticeDialogMessage{color:#9a3412}
.announcement-toolbar label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;margin:0}.announcement-toolbar label input[type=checkbox]{display:inline-block;margin:0;width:auto}
#vatCalcDetailDialog{overflow:hidden}#vatCalcDetailDialog .dialog-head,#vatCalcDetailDialog .dialog-foot{flex-shrink:0}#vatOverrideSection p{width:auto;max-width:none;font-size:12px;color:var(--muted)}#vatOverrideSection table{min-width:540px;width:100%}#vatOverrideSection th,#vatOverrideSection td{padding:6px 8px}#vatOverrideSection th:first-child{width:44px}#vatOverrideSection input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;padding:0}#vatOverrideSection input[type=number]{width:150px;min-height:32px}#vatOverrideSection label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin:12px 0}#vatOverrideSection textarea{width:100%;min-height:64px}
#vatInputSelectionSection p{width:auto;max-width:none;font-size:12px;color:var(--muted)}#vatInputSelectionSection .selection-carry{display:flex;align-items:center;gap:6px;font-size:12px;margin:12px 0}#vatInputSelectionSection input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;padding:0}#vatInputSelectionSection textarea{min-height:56px}
#vatInputSelectionSection .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){#vatInputSelectionSection .form-grid{grid-template-columns:1fr}}
#vatCalcRows [data-vat-inline]{width:116px;min-height:32px;padding:5px 7px}.vat-inline-balance{font-size:12px;color:var(--muted);white-space:normal;margin:8px 0}.vat-inline-state{display:block;color:#9a6700;font-size:12px}.vat-inline-dirty{background:#fffbea}
#vatCalcTable{min-width:860px;width:100%}#vatCalcTable th,#vatCalcTable td{padding:10px 12px}#vatCalcTable tr:not([data-vat-detail])>td:nth-child(n+2):nth-child(-n+5){text-align:right;font-variant-numeric:tabular-nums}#vatCalcTable th:nth-child(n+2):nth-child(-n+5){text-align:right}#vatCalcTable [data-vat-inline=certifiedTax]{text-align:right}#vatCalcTable tr:not([data-vat-detail])>td:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:190px;max-width:260px;white-space:normal}#vatCalcTable .vat-inline-dirty>td:first-child{background:#fffbea}.vat-expand{font-weight:600;text-align:left}.vat-expand:before{content:'▸';margin-right:6px}.vat-expand[aria-expanded=true]:before{content:'▾'}#vatCalcTable [data-vat-detail]>td{background:#f8fafc;white-space:normal}.vat-expanded-fields{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.vat-expanded-fields label{display:flex;flex-direction:column;gap:4px}.vat-expanded-note{flex:1;min-width:240px}#vatCalcRows .vat-expanded-note input{width:100%}.vat-expanded-values{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px 18px}.vat-expanded-values span{display:block;color:var(--muted);font-size:12px}.vat-expanded-values strong{font-weight:500;font-variant-numeric:tabular-nums}@media(max-width:950px){.vat-expanded-values{grid-template-columns:repeat(2,minmax(130px,1fr))}}
