:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#183138;background:#f3f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{height:76px;padding:0 28px;background:#fff;border-bottom:1px solid #d7e1de;display:flex;align-items:center;justify-content:space-between}header>div{display:flex;align-items:center;gap:24px}.logo{font-size:20px;letter-spacing:1px;font-weight:800}.logo span{color:#16806c}.edition{font-size:12px;color:#637973}main{padding:26px 28px 12px}h1{font-size:30px;letter-spacing:-1px;margin:3px 0 18px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:#62827a;margin:0}button,input,select{font:inherit}button{border:1px solid #c7d7d2;background:#fff;border-radius:7px;padding:9px 14px;color:#244c41;cursor:pointer}button:hover{background:#eaf4f0}button:disabled{opacity:.45;cursor:default}.primary{background:#167b68;color:white;border-color:#167b68}.primary:hover{background:#126653}label{display:grid;gap:7px;font-size:12px;font-weight:600}input,select{padding:10px;border:1px solid #bfd1ca;border-radius:6px;background:#fff;color:#163b30}input:focus,select:focus{outline:2px solid #5aaea0;outline-offset:1px}.auth-card{max-width:430px;margin:8vh auto;background:white;padding:32px;border:1px solid #d7e1de;border-radius:14px}.auth-card p:not(.eyebrow){color:#657c75;font-size:14px;line-height:1.5}.auth-card form{display:grid;gap:18px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.badge{background:#e4efeb;border:1px solid #cadbd5;border-radius:20px;padding:8px 12px;font-size:12px;color:#42695c}#filters{display:flex;align-items:end;gap:12px;margin:2px 0 16px}.search-label{width:360px}#account{min-width:200px}.legend{display:flex;gap:24px;font-size:11px;color:#62776f;margin:0 0 15px}.input-dot{display:inline-block;width:9px;height:9px;background:#cee7f5;border:1px solid #aac9df;margin-right:4px}.table-tools{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:10px 12px;background:white;border:1px solid #d7e1de;border-bottom:0;border-radius:8px 8px 0 0}.table-tools>div{display:flex;align-items:center;gap:12px}.table-tools button{padding:4px 10px}#grid-scroll{overflow:auto;max-height:calc(100vh - 330px);min-height:300px;background:white;border:1px solid #cedbd6;border-radius:0 0 8px 8px}table{border-collapse:separate;border-spacing:0;width:max-content;table-layout:fixed;font-size:12px}th,td{min-width:132px;max-width:220px;width:132px;border-right:1px solid #e0e8e5;border-bottom:1px solid #e5ebe8;padding:8px 10px;text-align:right;white-space:nowrap;height:42px}th{white-space:normal;text-align:left;font-weight:600;line-height:1.35}thead th{position:sticky;z-index:4;background:#edf3f0}thead .group th{top:0;height:34px;max-width:none;color:#315b4e;background:#e2eee8;text-transform:uppercase;font-size:10px;letter-spacing:.5px}thead .labels th{top:34px;height:74px}th small{display:block;font-size:10px;font-weight:400;color:#78948b;margin-top:5px}td:nth-child(1),th:nth-child(1){width:170px;min-width:170px;max-width:170px}tbody td:first-child,thead .labels th:first-child{position:sticky;left:0;z-index:2;text-align:left;background:#fff}tbody td:nth-child(2),thead .labels th:nth-child(2){position:sticky;left:170px;z-index:2;background:#fff;box-shadow:2px 0 3px #19382d14}thead .labels th:first-child,thead .labels th:nth-child(2){z-index:5;background:#edf3f0}tbody tr:hover td{background:#f7faf8}td.text{text-align:left;overflow:hidden;text-overflow:ellipsis}td.editable,tbody tr:hover td.editable{background:#f0f8fd;padding:4px}td.editable input:not([type=checkbox]),td.editable select{width:100%;min-width:120px;padding:6px;border:1px solid transparent;border-radius:3px;background:transparent;font-size:12px}td.editable input:focus,td.editable select:focus{background:white}td.saving{opacity:.6}td.save-error{outline:2px solid #b74a42;outline-offset:-2px}.sources{font-size:12px;color:#5f756c;margin:14px 0;max-width:100%;overflow-wrap:anywhere}.sources p{margin:6px 0}#message{font-size:13px;min-height:20px;white-space:pre-wrap}.error{color:#aa382e}.success{color:#11705c}[hidden]{display:none!important}@media(max-width:850px){main{padding:18px 12px}header{padding:0 12px}.edition{display:none}.title-row{display:block}.badge{display:inline-block;margin-bottom:14px}#filters{flex-wrap:wrap}.legend{display:block}.legend span{display:block;margin:5px 0}.search-label{width:250px}#grid-scroll{max-height:60vh}}
/* v2 compact grid: five frozen columns total 510px; offsets are shared with navigation. */
header{height:46px;padding:0 16px}.logo{font-size:17px}.edition{font-size:11px}main{padding:8px 12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#filters{margin:0 0 7px;gap:8px;align-items:center}#filters input,#filters button{padding:6px 10px;font-size:12px}.search-label{width:330px}.compact-note{font-size:10px;color:#778b84;margin-left:auto}#sections{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;margin-bottom:6px;padding-bottom:3px}#sections button{font-size:11px;padding:6px 9px;border-color:transparent;background:#e6efeb}#sections button.active{background:#177a67;color:white}.table-tools{padding:5px 9px}#grid-scroll{height:calc(100vh - 197px);max-height:none;min-height:220px;position:relative}#active-group{position:sticky;top:0;left:510px;height:27px;line-height:27px;margin-bottom:-27px;width:max-content;max-width:calc(100vw - 554px);padding:0 12px;background:#dcece4;color:#245948;z-index:10;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;pointer-events:none;box-shadow:8px 0 12px #dcece4}th,td{box-sizing:border-box;min-width:132px;max-width:132px;width:132px;padding:5px 8px;height:43px}thead .group th{height:27px;top:0;padding:3px 8px}thead .labels th{height:58px;top:27px;padding:6px 24px 6px 7px;position:sticky}thead .labels th>span{display:block;max-height:47px;overflow:hidden}.filter-button{position:absolute;right:2px;bottom:5px;padding:2px 4px;border:0;background:transparent;font-size:11px;color:#3f7161}.filter-button:hover{background:#c9dfd4}#grid tbody td:nth-child(-n+5),#grid thead .labels th:nth-child(-n+5){position:sticky;z-index:6;background:#fff;box-shadow:none}#grid thead .labels th:nth-child(-n+5){background:#edf3f0;z-index:12}#grid tbody td:nth-child(1),#grid thead .labels th:nth-child(1){left:0;width:52px;min-width:52px;max-width:52px;padding:3px;text-align:center}#grid tbody td:nth-child(2),#grid thead .labels th:nth-child(2){left:52px;width:122px;min-width:122px;max-width:122px}#grid tbody td:nth-child(3),#grid thead .labels th:nth-child(3){left:174px;width:152px;min-width:152px;max-width:152px}#grid tbody td:nth-child(4),#grid thead .labels th:nth-child(4){left:326px;width:112px;min-width:112px;max-width:112px}#grid tbody td:nth-child(5),#grid thead .labels th:nth-child(5){left:438px;width:72px;min-width:72px;max-width:72px;box-shadow:3px 0 4px #19382d18;text-align:center}#grid thead .group th:first-child{position:sticky;left:0;z-index:13;width:510px;min-width:510px;background:#e2eee8}td img{width:30px;height:36px;object-fit:contain;vertical-align:middle}#grid tbody tr.selected td,#grid tbody tr.selected td.editable{background:#e4e7e7}#grid tbody tr.selected:hover td{background:#dce1df}#grid tbody td.editable{background:#f0f8fd}td.editable input:not([type=checkbox]),td.editable select{min-width:0}#filter-popup{position:fixed;z-index:100;width:318px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;background:white;border:1px solid #a9bcb4;border-radius:8px;padding:14px;box-shadow:0 12px 45px #19382d35;display:grid;gap:9px;font-size:12px}#filter-popup input:not([type=checkbox]),#filter-popup select{width:100%;padding:7px;font-size:12px}.popup-actions{display:flex;gap:8px;justify-content:space-between}.popup-actions button{font-size:11px;padding:6px 8px}#filter-popup button.active{background:#d5eadd;border-color:#388a67}.value-list{max-height:180px;min-height:40px;overflow:auto}.value-list label{display:flex;align-items:center;gap:8px;font-weight:400;min-height:29px}.value-list label span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-list input{accent-color:#168066}.value-list small{color:#8a9993}#message:not(:empty){position:fixed;bottom:12px;right:16px;z-index:70;background:white;border:1px solid #d2dfd8;box-shadow:0 3px 18px #163b3022;padding:8px 14px;border-radius:6px;max-width:420px}.sources{margin:7px 0;font-size:11px}@media(max-width:800px){#filters{flex-wrap:wrap}.compact-note{display:none}#grid-scroll{height:calc(100vh - 225px)}}
/* Excel export uses the existing compact filter surface. */
#filter-popup.excel-export-options{width:360px;gap:12px}
.excel-export-options .value-list{max-height:min(280px,38vh);display:grid;gap:1px}
.excel-export-options .value-list label,.excel-export-scopes label{display:flex;align-items:center;gap:8px;min-height:29px;font-weight:400;cursor:pointer}
.excel-export-options input[type=checkbox],.excel-export-options input[type=radio]{accent-color:#191919}
.excel-export-scopes{display:grid;gap:2px}
body #filter-popup.excel-export-options .excel-export-scopes label{display:flex;justify-content:flex-start;align-items:center;gap:8px;min-height:30px;padding:4px 10px}
body #filter-popup.excel-export-options .excel-export-scopes input[type=radio]{appearance:auto;box-sizing:border-box;flex:0 0 16px;width:16px;min-width:16px;max-width:16px;height:16px!important;min-height:16px!important;max-height:16px!important;margin:0;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
body #filter-popup.excel-export-options .excel-export-scopes label>span{flex:1;white-space:nowrap}
