:root{--blue:#1d5183;--ink:#20303f;--muted:#66758b;--line:#e1e7ef;--bg:#eef1f5;--nav:#122c44;--green:#1e7a4f;--red:#b03a37}*{box-sizing:border-box}body{margin:0;font:14px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #c9d2db;background:white;border-radius:5px;color:var(--ink);padding:8px 13px;white-space:nowrap;transition:.15s}button:hover{border-color:var(--blue);color:var(--blue);background:#eef3f8}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#143e66;color:white}.danger{color:var(--red)}.ghost{border:0;background:none;padding:5px 8px;color:var(--blue)}input,select,textarea{border:1px solid #c9d2db;border-radius:5px;padding:8px 10px;background:#fff;color:var(--ink);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b9c9da;border-color:var(--blue)}input[type=checkbox]{accent-color:var(--blue)}textarea{resize:vertical;min-height:80px}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);height:100vh}.sidebar{background:var(--nav);color:#c8d4e0;display:flex;flex-direction:column;overflow:hidden}.brand{height:81px;padding:22px 19px;display:flex;gap:11px;align-items:center;border-bottom:1px solid #24466a}.brandmark{background:#2a659e;font-size:19px;font-weight:700;width:37px;height:37px;border-radius:9px;display:grid;place-items:center}.brand strong{color:white;font-size:18px;letter-spacing:1px}.brand small{display:block;font-size:10px;color:#8fa3bd;margin-top:4px;letter-spacing:1.1px}.nav-search{margin:16px 13px 8px;background:#1a3a58;color:#fff;border:1px solid #24466a;width:calc(100% - 26px)}.nav{overflow:auto;flex:1;padding:7px 8px 25px;scrollbar-width:thin}.nav details{margin:2px 0}.nav summary{list-style:none;font-size:13px;font-weight:600;padding:12px 10px;color:#c8d4e0;cursor:pointer;display:flex;justify-content:space-between}.nav summary:after{content:'⌄';color:#8fa3bd}.nav button{display:block;text-align:left;background:transparent;color:#c8d4e0;border:0;border-radius:5px;font-size:12px;padding:10px 12px 10px 23px;width:100%;white-space:normal;line-height:1.5}.nav button:hover{background:#1a3a58;color:white}.nav button.active{background:#1d5183;color:white;box-shadow:inset 3px 0 #e2cf9f}.sidebar-foot{padding:14px 18px;color:#8fa3bd;font-size:11px;border-top:1px solid #24466a}.main{min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:62px;flex-shrink:0;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:20px}.product-title{font-size:16px;font-weight:600}.top-right{display:flex;align-items:center;gap:12px;font-size:12px}.company-select{max-width:340px;font-size:12px;background:#eef2f7;border-color:transparent}.avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#eef3f8;color:var(--blue)}.tabs{height:40px;flex-shrink:0;display:flex;gap:1px;overflow:auto;white-space:nowrap;background:#eef1f5;padding:6px 17px 0}.tabs button{font-size:12px;padding:6px 13px;border-color:#c3d4e4;border-bottom:0;border-radius:5px 5px 0 0;background:#eef2f7}.tabs button.active{background:white;color:var(--blue)}.content{overflow:auto;flex:1;padding:23px 26px 30px}.heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:19px;gap:15px}.breadcrumb{font-size:11px;color:#8a97a3;margin-bottom:8px}.heading h1{font-size:23px;margin:0;font-weight:650;letter-spacing:.2px}.heading p{font-size:12px;color:var(--muted);margin:9px 0 0;line-height:1.7}.badge{display:inline-flex;padding:4px 8px;border-radius:4px;font-size:11px;background:#eef3f8;color:#1d5183;white-space:nowrap}.badge.green{color:#1e7a4f;background:#e9f4ee}.badge.amber{color:#96690f;background:#f8f1de}.badge.red{color:#b03a37;background:#faedec}.card{background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 5px #142b4b03;margin-bottom:18px;overflow:hidden}.card-head{padding:17px 19px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.card-head h2{font-size:14px;margin:0}.card-body{padding:19px}.filters{display:flex;flex-wrap:wrap;gap:11px;align-items:flex-end;padding:17px 18px;border-bottom:1px solid var(--line)}.filter{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}.filter input,.filter select{font-size:12px;height:34px}.filter select{max-width:330px}.range{display:flex;gap:7px;align-items:center}.range input{width:130px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:13px 18px}.toolbar button{font-size:12px}.toolbar .spacer{flex:1}.subnav{display:flex;gap:8px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}.subnav button{font-size:12px;border:0;background:#eef2f7;color:var(--muted)}.subnav button.active{background:#e7eef6;color:var(--blue)}.table-wrap{width:100%;overflow:auto;max-height:62vh;border-top:1px solid var(--line)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px;table-layout:fixed}th{position:sticky;top:0;z-index:2;background:#eef1f5;font-weight:600;text-align:left;color:#405060;border-bottom:1px solid #c3d4e4;padding:12px 12px;line-height:1.6;vertical-align:middle}td{padding:11px 12px;border-bottom:1px solid #e2e7ec;vertical-align:top;line-height:1.7;overflow-wrap:anywhere}tr:hover td{background:#eef3f8}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}td.actions{white-space:nowrap;overflow:visible}.resize{position:absolute;right:0;top:0;height:100%;width:5px;cursor:col-resize}.resize:hover{background:#c9d2db}.rowcode{font-size:11px;font-family:ui-monospace,monospace;color:#5c6b7a}.tfoot{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;font-size:12px;color:var(--muted)}.pagination{display:flex;gap:6px;align-items:center}.pagination button{font-size:11px;padding:5px 10px}.pagination select{font-size:11px;padding:5px}.empty{text-align:center;padding:65px 20px;color:#8a97a3;line-height:2}.empty .icon{font-size:32px;opacity:.45}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:21px 21px 18px}.stat small{color:var(--muted);font-size:12px}.stat strong{display:block;font-size:29px;font-weight:630;letter-spacing:-.5px;margin:12px 0 7px;font-variant-numeric:tabular-nums}.stat span{font-size:11px;color:#8a97a3}.scope-note{display:block;font-size:10px;font-weight:400;color:#8a97a3;letter-spacing:.2px;margin-top:3px}.stat:first-child{border-top:3px solid var(--blue)}.stat.green{border-top:3px solid var(--green)}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;padding:22px}.flow-item{text-align:left;padding:15px 13px;background:#eef2f7;border:1px solid #c3d4e4;border-radius:6px;cursor:pointer}.flow-item b{display:block;color:#1d5183;font-size:21px;font-weight:600}.flow-item span{font-size:12px;display:block;margin-top:7px}.flow-item small{font-size:10px;color:var(--muted);display:block;margin-top:7px}.bar-item{padding:13px 0}.bar-title{display:flex;justify-content:space-between;font-size:12px;gap:20px;margin-bottom:9px}.bar-title span:first-child{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar{height:9px;background:#e8edf3;border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:#2a659e;border-radius:3px}.bar-item:nth-child(2) i{background:#b8862f}.bar-item:nth-child(3) i{background:#7d93a8}.notice{border:1px solid #c3d4e4;background:#eef2f7;color:#5c6b7a;font-size:12px;padding:12px 15px;border-radius:6px;line-height:1.8;margin-bottom:17px}.notice.warn{background:#f8f1de;border-color:#e4d3a3;color:#96690f}.notice.error{background:#faedec;color:#b03a37;border-color:#e6c3c1}.modal-backdrop{position:fixed;inset:0;background:#0f234a66;z-index:100;display:flex;align-items:center;justify-content:center;padding:30px}.modal{background:#fff;border-radius:9px;box-shadow:0 20px 70px #0b23434a;width:840px;max-width:95vw;max-height:91vh;display:flex;flex-direction:column}.modal.wide{width:1120px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:17px 23px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:17px;margin:0}.modal-body{padding:22px 24px;overflow:auto}.modal-foot{padding:15px 24px;display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 22px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font-size:12px;color:#5c6b7a}.required{color:#b03a37;margin-left:3px}.field.full{grid-column:1/-1}.field select{width:100%}.field small{font-size:11px;color:#8a97a3}.file-control{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.file-control input{font-size:11px;width:100%}.detail-grid{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line)}.detail-grid dt,.detail-grid dd{margin:0;padding:10px 12px;font-size:12px;border-bottom:1px solid var(--line);line-height:1.7}.detail-grid dt{background:#f5f7fa;color:var(--muted)}.detail-grid dd{overflow-wrap:anywhere}.login{min-height:100vh;display:grid;grid-template-columns:1.15fr 1fr;background:#fff}.login-intro{background:linear-gradient(145deg,#122c44,#1d5183);color:#fff;padding:10vh 9vw;display:flex;flex-direction:column;justify-content:center}.login-intro .tagline{font-size:36px;line-height:1.5;font-weight:600;margin:55px 0 20px}.login-intro p{font-size:14px;color:#c8d4e0;line-height:2}.login-form{padding:60px;display:flex;align-items:center;justify-content:center}.login-form form{max-width:360px;width:100%}.login-form h1{font-size:26px}.login-form .field{margin-bottom:20px}.login-form .primary{width:100%;padding:12px}.login-note{font-size:12px;color:#8a97a3;line-height:1.9;margin-top:20px;padding:14px;background:#eef1f5;border-radius:6px}#toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:300;display:none;background:#fff;color:#20303f;border:1px solid #c3d4e4;box-shadow:0 8px 26px #172f4925;border-radius:6px;padding:12px 22px;max-width:75vw;font-size:13px}.loading{padding:60px;text-align:center;color:#8a97a3}.log-item{font-size:12px;padding:10px 0;border-bottom:1px solid #e2e7ec;display:flex;gap:15px;justify-content:space-between;line-height:1.7}.log-item time{font-size:10px;color:#8a97a3}.form-actions{display:flex;gap:10px;margin-top:20px}.report-summary{display:flex;gap:25px;flex-wrap:wrap;padding:15px 19px;background:#eef2f7;font-size:12px;border-top:1px solid #c3d4e4}.report-summary strong{color:var(--blue);margin-left:8px;font-variant-numeric:tabular-nums}.metric-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric-list div{background:#f5f7fa;padding:16px}.metric-list strong{display:block;margin-top:8px;font-size:22px}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.pack-item{padding:18px;border:1px solid var(--line);border-radius:6px;line-height:1.9;font-size:12px}.pack-item b{display:block;font-size:13px;margin-bottom:6px}@media(max-width:1150px){.shell{grid-template-columns:202px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.content{padding:20px}.topbar{padding:0 18px}.product-title{font-size:14px}.top-right .username{display:none}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{height:auto;padding:12px;flex-wrap:wrap}.stats{grid-template-columns:1fr 1fr;gap:8px}.stat{padding:15px}.stat strong{font-size:22px}.content{padding:12px}.heading h1{font-size:20px}.flow{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.pack-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.company-select{max-width:240px}}@media print{.sidebar,.topbar,.tabs,.filters,.toolbar,.heading .badge,button{display:none!important}.shell{display:block;height:auto}.main,.content,.table-wrap{overflow:visible;max-height:none}.content{padding:0}table{font-size:9px}.card{border:0}.stats{display:none}}

/* A continuous workspace: tabs keep their height; only the data viewport scrolls. */
.shell{height:100dvh;min-height:0}
.main,.sidebar{min-height:0}
.sidebar .brand,.sidebar-foot,.nav-search{flex-shrink:0}
.tabs{height:44px;flex:0 0 44px;align-items:stretch;gap:0;padding:0 16px;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.tab-list{position:relative;display:flex;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;gap:2px}
.tab-list::-webkit-scrollbar{display:none}
.tabs .tab-list button{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:12px;height:43px;padding:0 15px;border:0;border-radius:0;background:transparent;color:#5c6b7a;white-space:nowrap}
.tabs .tab-list button.active{color:var(--blue);background:#eef3f8}
.tabs .tab-list button.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:3px;background:var(--blue);border-radius:3px 3px 0 0}
.tabs [data-close]{color:#8a97a3;line-height:20px;width:20px;text-align:center;border-radius:4px}
.tabs [data-close]:hover{background:#c3d4e4;color:#1d5183}
.tabs .tab-scroll{flex:0 0 28px;padding:0;border:0;border-radius:0;background:white;font-size:22px;color:#5c6b7a}
.tabs .tab-scroll:disabled{opacity:.25}
.content{min-height:0;padding:18px 22px 20px}
.page-panel>.heading{padding:18px 20px 16px;margin:0;border-bottom:1px solid var(--line);align-items:center;background:white}
.page-panel>.heading h1{font-size:21px}
.page-panel>.heading .breadcrumb{margin-bottom:6px}
.page-panel>.heading p{margin:6px 0 0}
.page-panel>.filters{border-bottom:0;padding:16px 20px 8px;gap:10px}
.page-panel>.toolbar{padding:10px 20px 14px;gap:8px}
.page-panel>.subnav{padding:10px 20px}
.content.table-page{display:flex;flex-direction:column;overflow:hidden;gap:12px}
.table-page>.page-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin:0}
.table-page>.notice{flex-shrink:0;margin:0;font-size:11px;padding:10px 14px}
.table-page .page-panel>.heading,.table-page .page-panel>.filters,.table-page .page-panel>.toolbar,.table-page .page-panel>.subnav,.table-page .page-panel>.notice,.table-page .report-summary{flex-shrink:0}
.table-region{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.table-region>.table-wrap{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
.table-region>.tfoot{flex-shrink:0;border-top:1px solid var(--line);padding:11px 20px;background:white}
.table-region td{padding:10px 12px}
@media(max-width:1150px){.content{padding:16px}.page-panel>.heading{padding:16px}.page-panel>.filters{padding:14px 16px 6px}.page-panel>.toolbar{padding:10px 16px 12px}.page-panel>.heading p{font-size:11px}.toolbar>.spacer+span{display:none}}
@media(max-width:760px),(max-height:650px){.content.table-page{overflow:auto;display:block}.table-page>.page-panel{display:block;margin-bottom:12px}.table-region{display:block}.table-region>.table-wrap{max-height:55vh;min-height:150px}.tabs{padding:0 6px}.page-panel>.heading{gap:8px}.page-panel>.heading>.badge{font-size:10px}.tfoot{gap:10px;flex-wrap:wrap}}
@media print{.content.table-page,.table-page>.page-panel,.table-region{display:block;overflow:visible}.table-region>.table-wrap{overflow:visible;max-height:none}.page-panel>.heading{padding:0 0 12px}.table-page>.page-panel{border:0}}


/* Record columns and the nested project workspace share the existing panel. */
.column-picker{position:relative;font-size:12px;flex-shrink:0}
.column-picker>summary{list-style:none;cursor:pointer;padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:#fff;white-space:nowrap}
.column-options{position:absolute;z-index:25;right:0;top:38px;min-width:230px;max-height:320px;overflow:auto;background:#fff;box-shadow:0 8px 24px #102b4924;border:1px solid var(--line);border-radius:6px;padding:10px}
.column-options label{display:flex;gap:8px;align-items:center;padding:6px;cursor:pointer;color:var(--ink)}
.column-options input{width:15px;height:15px;margin:0;flex:0 0 15px}
.column-options button{width:100%;margin-bottom:6px;font-size:12px}
.page-panel:has(.column-picker[open]){overflow:visible}
.project-workspace>.notice{margin:0 0 10px}
.project-tabs{padding:0 0 12px;gap:5px}
.project-tabs button.active{color:var(--blue);background:#eef3f8;border-color:#c3d4e4}
#project-section .table-wrap{max-height:49vh}
#project-section .toolbar{padding-left:0;padding-right:0}
#print-root{display:none}
@media print{
 @page{size:A3 landscape;margin:12mm}
 body.printing-report>*:not(#print-root){display:none!important}
 body.printing-report #print-root{display:block!important;color:#111;background:white}
 #print-root h1{font-size:16pt;margin:0 0 5mm}
 #print-root>p{font-size:9pt;margin-bottom:5mm}
 #print-root .table-wrap{overflow:visible!important;max-height:none!important;border:0}
 #print-root table{table-layout:fixed;width:100%!important;border-collapse:collapse;font-size:8pt}
 #print-root col{width:auto!important}
 #print-root th,#print-root td{position:static;padding:4px;border:1px solid #bcc7d4;white-space:normal;overflow-wrap:anywhere;font-size:8pt}
 #print-root thead{display:table-header-group}
 #print-root tr{break-inside:avoid}
 #print-root .resize{display:none}
}

.missing-value{color:#96690f}.empty-value{color:#98a4b0}.report-notes details{margin-top:4px}.report-notes summary{cursor:pointer}.report-notes details>div{max-height:105px;overflow:auto;margin-top:6px;line-height:1.8}

tr.report-subtotal td{font-weight:600;background:#eef2f7}tr.report-total td{font-weight:700;background:#eef3f8;border-top:1px solid #c3d4e4}

.field[hidden]{display:none!important}.scope-filter{font-size:12px;color:#5c6b7a;display:flex;align-items:center;gap:7px}.scope-filter select{font-size:12px;padding:7px 9px}

.pack-group-switches{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:0 20px 14px;font-size:12px;color:#5c6b7a}.pack-group-switches label{display:flex;align-items:center;gap:6px;color:var(--ink)}.pack-group-switches input,.pack-check-item input{height:16px;width:16px;padding:0;margin:0;flex:0 0 16px}.pack-group-switches button{font-size:11px;padding:5px 10px}.pack-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pack-check-item{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:12px;background:#fff}.pack-check-item:has(input:checked){border-color:#c3d4e4;background:#eef3f8}.pack-check-item span{min-width:0}.pack-check-item b{font-weight:500;display:block;line-height:1.5}.pack-check-item small{display:block;margin-top:5px;color:#8a97a3}.pack-check-item .missing-value{color:#96690f}@media(max-width:1000px){.pack-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.pack-check-grid{grid-template-columns:1fr}}

/* Short report viewports expand the page instead of squeezing the table. */
.content.table-page.table-page-expand{display:block;overflow:auto;overscroll-behavior:contain}
.table-page-expand>.page-panel{display:flex;flex-direction:column;flex:none;min-height:0;margin-bottom:12px}
.table-page-expand>.notice{margin:0 0 12px}
.table-page-expand .table-region{display:flex;flex-direction:column;flex:none;overflow:visible;min-height:0}
.table-page-expand .table-region>.table-wrap{flex:none;height:auto;min-height:200px;max-height:max(200px,52vh);overflow:auto}
.table-page-expand .table-region>.tfoot{flex:none}
.table-page .report-notes{max-height:140px;overflow:auto;line-height:1.6}
@media print{.content.table-page.table-page-expand,.table-page-expand .table-region{overflow:visible}.table-page-expand .table-region>.table-wrap{height:auto;min-height:0;max-height:none;overflow:visible}.table-page .report-notes{max-height:none;overflow:visible}}

.report-gap-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.report-gap-row details{flex:1;min-width:220px}.report-gap-row button{font-size:12px;padding:3px 0;white-space:nowrap}.report-notes details p{margin:0 0 5px}

.audit-diff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.audit-diff h3{font-size:13px}.audit-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:40vh;overflow:auto;padding:12px;background:#eef1f5;border:1px solid var(--line);border-radius:6px;font-size:12px;line-height:1.6}@media(max-width:700px){.audit-diff{grid-template-columns:1fr}}

.annual-scope-note{font-size:12px;color:#5c6b7a;align-self:center;line-height:1.6}.filters #annual-start,.filters #annual-end{width:120px}

/* Keep the full product name on one line in the compact sidebar. */
.sidebar .brand strong{font-size:15px;letter-spacing:0;white-space:nowrap}
.brandmark{flex-shrink:0}

/* Dense business workspace. Keep readable text and let long values wrap. */
@media screen{
 .shell{grid-template-columns:212px minmax(0,1fr)}
 .sidebar .brand{height:50px;padding:8px 12px;gap:8px}
 .sidebar .brandmark{width:29px;height:29px;border-radius:6px;font-size:16px}
 .sidebar .brand strong{font-size:14px}
 .nav-search{margin:10px 10px 5px;width:calc(100% - 20px);height:30px;font-size:12px}
 .nav{padding:3px 6px 12px}.nav summary{padding:9px 9px}.nav button{padding:7px 10px 7px 23px}
 .sidebar-foot{padding:8px 12px}.sidebar-foot>br,.sidebar-foot>span{display:none}
 .topbar{height:50px;padding:0 16px;gap:10px}.product-title{font-size:14px}
 .top-right{gap:9px}.company-select{height:30px;max-width:320px;padding:4px 8px}
 .tabs{height:36px;flex-basis:36px;padding:0 8px}.tabs .tab-list button{height:35px;padding:0 12px;gap:8px}
 .content,.content.table-page{padding:10px;gap:8px}
 .card{border-radius:4px;box-shadow:none;margin-bottom:10px}
 .heading,.page-panel>.heading{padding:8px 12px;min-height:39px;gap:8px;margin:0;align-items:center;border-bottom:1px solid var(--line);background:#fff}
 .heading h1,.page-panel>.heading h1{font-size:15px;line-height:22px;letter-spacing:0;white-space:nowrap}
 .page-identity{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}
 .breadcrumb,.page-panel>.heading .breadcrumb{font-size:12px;margin:0;padding-left:12px;border-left:1px solid var(--line)}
 .heading>.badge{font-size:11px;padding:2px 6px}
 .page-help{position:relative;font-size:12px;color:var(--muted)}
 .page-help>summary{cursor:pointer;list-style:none;color:#5c6b7a;line-height:24px}
 .page-help>summary:after{content:' ⓘ'}.page-help>div{position:absolute;z-index:30;top:28px;left:0;width:min(420px,70vw);padding:10px 12px;line-height:1.7;box-shadow:0 6px 20px #102b4924;background:white;border:1px solid var(--line);border-radius:4px}
 .page-panel:has(.page-help[open]){overflow:visible}
 button{font-size:12px;padding:5px 11px;min-height:30px;border-radius:4px;line-height:18px}
 input,select,textarea{font-size:12px;padding:5px 8px;border-radius:4px;line-height:18px}
 .filters,.page-panel>.filters{padding:8px 12px;gap:8px 12px;align-items:center;border-bottom:1px solid var(--line)}
 .filter{flex-direction:row;align-items:center;gap:7px;font-size:12px;max-width:100%;line-height:20px}
 .filter input,.filter select{height:30px}.filter select{max-width:270px}
 .range{gap:6px}.range input{width:126px}#search{width:180px}.filter:has(.range){flex-wrap:wrap}
 .toolbar,.page-panel>.toolbar{padding:7px 12px;gap:6px;min-height:44px}
 .toolbar .spacer{min-width:0}.toolbar .badge{padding:3px 6px}
 .column-picker>summary{padding:5px 10px;line-height:18px;border-radius:4px}
 .column-options{top:34px;max-height:min(360px,55vh);padding:8px;min-width:250px}
 .column-options label{padding:5px}.table-help{font-size:12px;line-height:1.6;color:var(--muted);margin:2px 0 8px;max-width:260px}
 .subnav,.page-panel>.subnav{padding:7px 12px;gap:5px}.subnav button{padding:4px 9px;min-height:28px;line-height:18px}
 th{padding:7px 10px;line-height:18px}td,.table-region td{padding:6px 10px;line-height:20px;vertical-align:middle}
 td.actions{padding-top:3px;padding-bottom:3px}.actions .ghost{padding:3px 5px;min-height:26px}
 .ghost{min-height:26px;padding:3px 6px}.reference-name{margin-left:6px}
 .table-wrap{scrollbar-width:thin}.table-wrap tbody tr:nth-child(even)>td{background:#f5f7fa}.table-wrap tr:hover>td{background:#eef3f8}
 .tfoot,.table-region>.tfoot{padding:7px 12px;gap:8px;min-height:42px}
 .pagination button,.pagination select{min-height:26px;padding:3px 7px;font-size:12px;line-height:18px}
 .table-region>.table-wrap{scroll-padding-top:38px}
 .notice,.table-page>.notice{padding:7px 10px;font-size:12px;line-height:1.6;margin-bottom:10px;border-radius:4px}
 .report-summary{padding:8px 12px;gap:8px 20px;font-size:12px}.report-summary strong{margin-left:6px}
 .scope-filter select{padding:4px 7px}.annual-scope-note{font-size:12px}
 .card-head{padding:9px 12px}.card-head h2{font-size:13px}.card-body{padding:12px}
 .stats{gap:10px;margin-bottom:10px}.stat{padding:12px 14px;border-radius:4px}.stat strong{font-size:24px;margin:7px 0 5px}
 .dashboard-grid{gap:10px}.flow{padding:12px;gap:10px}.flow-item{padding:10px}.flow-item b{font-size:18px}.flow-item small{margin-top:5px}.bar-item{padding:8px 0}.log-item{padding:7px 0}
 .pack-grid,.pack-check-grid{gap:8px}.pack-item{padding:12px}.pack-check-item{padding:9px 10px}.pack-group-switches{padding:0 12px 10px;gap:10px}
 .modal-backdrop{padding:16px}.modal{max-height:94dvh;border-radius:5px;width:900px}.modal.wide{width:1180px}
 .modal:has(#record-form){width:1080px}.modal-header{padding:10px 16px}.modal-header h2{font-size:15px;line-height:22px}
 .modal-body{padding:12px 16px}.modal-foot{padding:9px 16px;gap:8px}.modal-body>p{font-size:12px;line-height:1.7;margin:6px 0 10px}
 .modal-body h3{margin:12px 0 7px}.modal-body>.notice{margin-bottom:10px}.modal-foot .spacer{flex:1}
 .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
 .form-grid>.field{display:grid;grid-template-columns:106px minmax(0,1fr);align-items:start;gap:4px 8px}
 .form-grid>.field>label{line-height:18px;padding-top:6px;color:#405060;overflow-wrap:anywhere}
 .form-grid>.field>input,.form-grid>.field>select{height:32px;width:100%}
 .form-grid>.field>small{grid-column:2;line-height:1.5}.form-grid textarea{min-height:62px;width:100%}
 .form-grid .file-control{min-width:0}.form-grid .field.full{grid-column:1/-1}
 .form-actions{margin-top:12px;gap:8px}
 .detail-grid{margin:0;grid-template-columns:130px minmax(0,1fr)}
 .detail-grid dt,.detail-grid dd{padding:7px 10px;line-height:20px;min-width:0}
 .detail-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
 .detail-pair{display:grid;grid-template-columns:120px minmax(0,1fr);min-width:0}.detail-pair.full{grid-column:1/-1}
 .metric-list{gap:8px;font-size:12px}.metric-list div{padding:10px 12px}.metric-list strong{font-size:20px;margin-top:5px}
 .project-tabs{padding:0 0 8px;gap:5px}#project-section .toolbar{padding:7px 0}#project-section .table-wrap{max-height:59vh}
 .empty{padding:32px 16px}.empty .icon{font-size:26px}
 .table-empty{position:sticky;left:0;width:100%;min-height:140px}
}
@media screen and (max-width:1200px){
 .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter select{max-width:230px}
}
@media screen and (min-width:761px){
 .table-wrap td.actions{position:sticky;right:0;z-index:1;background:#fff;box-shadow:-1px 0 var(--line)}
 .table-wrap table:has(td.actions) th:last-child{right:0;z-index:3;box-shadow:-1px 0 var(--line)}
}
@media screen and (max-width:1000px){
 .shell{grid-template-columns:196px minmax(0,1fr)}.sidebar .brand{gap:6px;padding:8px}.sidebar .brand strong{font-size:13px}
 .top-right .username{display:none}.product-title{font-size:13px}.filter select{max-width:210px}
}
@media screen and (max-width:760px){
 .shell{grid-template-columns:minmax(0,1fr)}.topbar{height:auto;min-height:46px;padding:7px 10px;flex-wrap:wrap}.top-right{gap:6px}.company-select{max-width:260px}
 .content,.content.table-page{padding:6px}.page-identity{gap:7px}.heading,.page-panel>.heading{padding:7px 9px}.breadcrumb{display:none}
 .filters,.page-panel>.filters{padding:8px 9px;gap:8px}.toolbar,.page-panel>.toolbar{padding:7px 9px}
 .modal-backdrop{padding:8px}.modal{max-width:100%;max-height:96dvh}.modal-header,.modal-foot{padding:8px 12px}.modal-body{padding:10px 12px}
 .form-grid{grid-template-columns:minmax(0,1fr);gap:9px}.form-grid>.field{grid-template-columns:112px minmax(0,1fr)}
 .detail-columns{grid-template-columns:minmax(0,1fr)}.detail-pair{grid-template-columns:112px minmax(0,1fr)}
 .tfoot,.table-region>.tfoot{padding:7px 9px;flex-wrap:wrap}.pagination{flex-wrap:wrap}.heading>.badge{font-size:10px}
 .page-help>div{left:auto;right:-65px;width:min(320px,85vw)}
}
.reference-identity-locked{background:#f2f4f7!important;color:#8a97a3!important;cursor:not-allowed}
