:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2a3d;background:#f6f8fb;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:#007e7e;text-decoration:none}a:hover{text-decoration:underline}#app{min-height:100vh;display:flex}.side{flex:0 0 240px;width:240px;background:#10263c;color:#d8e2ef;display:flex;flex-direction:column;padding:26px 14px 14px;min-height:100vh;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 38px}.brand-icon{border-radius:13px;background:#20bbb2;color:#0c303e;display:grid;place-items:center;height:43px;width:43px;font-weight:900;font-size:25px}.brand strong{display:block;color:white;font-size:15px;letter-spacing:-.025em}.brand small{font-size:9px;letter-spacing:.1em;color:#80a9b9}.label-light{font-weight:700;color:#7194a8;font-size:10px;letter-spacing:.1em;padding:0 16px 15px}.side nav{display:grid;gap:5px}.navbtn{display:flex;width:100%;align-items:center;gap:12px;color:#bfd0db;background:transparent;border:0;border-radius:10px;padding:13px 13px;text-align:left;font-weight:600}.navbtn .navico{font-size:19px;width:22px;text-align:center}.navbtn:hover,.navbtn.active{background:#24415a;color:white}.navbtn.active:before{content:"";position:absolute;left:0;width:4px;height:34px;border-radius:0 5px 5px 0;background:#27cfc5}.side-bottom{margin-top:auto;border-top:1px solid #344b61;padding:20px 12px 6px;font-size:12px;color:#91b5c9}.side-version{margin-top:7px;font-size:10px;color:#69899c}.main{flex:1;min-width:0}.top{background:#fff;border-bottom:1px solid #e5ebf2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 34px;min-height:90px;position:sticky;top:0;z-index:5}.page-heading #breadcrumb{font-size:11px;color:#7f8da0;margin-bottom:3px}.page-heading h1{font-size:24px;line-height:1.15;margin:0;color:#15283b;letter-spacing:-.04em}.top-actions{display:flex;align-items:center;gap:12px}.searchbox{border:1px solid #dbe4ee;background:#f9fbfd;border-radius:11px;display:flex;align-items:center;gap:9px;padding:10px 12px;width:min(340px,32vw)}.searchbox span{font-size:20px;color:#667c91}.searchbox input{outline:0;border:0;background:transparent;width:100%;min-width:20px;color:#263f56}.searchbox kbd{color:#8290a0;border:1px solid #d7e0e8;border-radius:5px;font-size:11px;padding:1px 5px}.pill{background:#eaf7f4;color:#00856e;border-radius:999px;padding:7px 10px;white-space:nowrap;font-weight:700;font-size:11px}.plainbtn,.btn{border:1px solid #d8e3ed;background:#fff;color:#19405b;border-radius:9px;padding:10px 14px;font-weight:700}.btn.primary{background:#057e80;color:#fff;border-color:#057e80}.btn:hover,.plainbtn:hover{filter:brightness(.97)}.btn.small{padding:6px 10px;font-size:12px}.mobilemenu{display:none;background:transparent;border:0;font-size:22px}.foot{font-size:11px;color:#8493a4;padding:24px 35px}.container{padding:30px 34px}.intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}.intro h2{margin:0 0 6px;font-size:20px;letter-spacing:-.02em}.intro p{margin:0;color:#718196}.actions{display:flex;gap:9px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric{background:#fff;border:1px solid #e4eaf1;border-radius:13px;padding:20px;box-shadow:0 2px 10px #1c344305}.metric .lab{color:#728397;font-size:12px;font-weight:600}.metric .val{font-weight:780;color:#152f47;font-size:31px;letter-spacing:-.04em;margin:11px 0 7px}.metric .minor{color:#8292a1;font-size:11px}.panel{background:#fff;border:1px solid #e3eaf1;border-radius:14px;margin-bottom:17px;box-shadow:0 2px 10px #1d314806;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #ebf0f5}.panel h3{font-size:16px;margin:0}.panel-head small{color:#78879a}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid #eef1f5}.toolbar select,.toolbar input{border:1px solid #dce5ed;border-radius:8px;background:white;padding:9px 12px;color:#29455b;min-width:130px}.toolbar input{flex:1;min-width:180px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}thead th{font-size:10px;font-weight:800;text-transform:uppercase;color:#8a97a7;letter-spacing:.045em;background:#fbfcfe;padding:12px 18px;white-space:nowrap;border-bottom:1px solid #e9eef4}tbody td{font-size:12px;color:#41556b;padding:12px 18px;border-bottom:1px solid #eef2f6;vertical-align:middle}tbody tr:hover{background:#f5fafb;cursor:pointer}tbody tr:last-child td{border-bottom:none}td .titlecell{font-weight:750;color:#1b3248;font-size:12px}td .sub{font-size:11px;color:#8a9aab;margin-top:4px}td .strong{font-weight:700;color:#274459}.tag{padding:4px 7px;border-radius:6px;display:inline-block;font-size:10px;font-weight:700;background:#f1f4f7;color:#52677a;white-space:nowrap}.tag.green{background:#e6f6ef;color:#19725b}.tag.orange{background:#fff0df;color:#9e670c}.tag.red{background:#fae9ea;color:#a44649}.tag.blue{background:#e8f1fb;color:#3266a3}.empty{padding:32px;text-align:center;color:#8797a7}.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;color:#718298;font-size:12px}.alert{padding:15px 17px;border-radius:11px;border:1px solid #d2e4e3;background:#edf9f7;color:#226968;margin-bottom:18px}.alert.warn{background:#fff9ec;color:#7a5b1f;border-color:#f0dfb7}.alert.error{background:#fdf0f0;color:#922f36;border-color:#efc5c5}.field{display:flex;flex-direction:column;gap:5px;margin:11px 0}.field label{font-size:12px;color:#697b8f;font-weight:700}.field input{border:1px solid #d8e3ec;border-radius:9px;padding:12px;color:#273e52;width:100%}.stack{display:grid;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.keyval{padding:12px 0;border-bottom:1px solid #edf1f5}.keyval small{display:block;font-size:11px;color:#8695a5;margin-bottom:4px}.keyval strong{font-size:13px;color:#2b4259;word-break:break-word}.subtle{color:#8190a3;font-size:12px}.overlay{position:fixed;inset:0;background:#0d26397d;z-index:19}.drawer{position:fixed;z-index:20;right:0;top:0;height:100vh;width:min(660px,100vw);background:white;box-shadow:-18px 0 50px #12293c29;overflow:auto}.drawer-top{position:sticky;top:0;background:white;z-index:2;display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:24px 24px 18px;border-bottom:1px solid #eaf0f5}.drawer-top h2{margin:0 0 8px;font-size:19px;line-height:1.3}.drawer-main{padding:20px 24px}.drawer-tabs{display:flex;gap:4px;border-bottom:1px solid #e8ecf2;padding:0 24px;overflow:auto}.drawer-tabs button{white-space:nowrap;background:none;border:0;border-bottom:3px solid transparent;padding:13px 16px;font-weight:700;color:#748599}.drawer-tabs button.on{border-bottom-color:#039a94;color:#057e80}.divider{height:1px;background:#e9eef3;margin:18px 0}.link{word-break:break-word}.highlight{color:#007c7d;font-weight:750}.bar{height:7px;background:#e4ecef;border-radius:999px;overflow:hidden;margin:7px 0}.bar span{display:block;height:100%;background:#0a9696}.help{padding:15px 18px;color:#688295;background:#f5fafc;border-radius:10px;line-height:1.6}.authbox{max-width:480px;margin:40px auto;background:#fff;border-radius:18px;padding:30px;border:1px solid #e0e9f0}.authbox h2{margin-top:0}.authbox p{line-height:1.6;color:#60748a}.authbox .field{margin:18px 0}.statrow{display:flex;justify-content:space-between;gap:12px;margin:12px 0;font-size:13px}.uploadbox{display:block;border:2px dashed #bddbd9;background:#f7fdfc;border-radius:12px;padding:25px;text-align:center}.uploadbox input{max-width:100%}#notice{padding:0 34px}#notice:not(:empty){padding-top:14px}.sectionhint{color:#728398;line-height:1.55;font-size:12px;margin:4px 0 18px}.chiprow{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.chip{background:#edf2f6;border-radius:6px;font-size:11px;padding:5px 9px}.badgecount{font-size:11px;border-radius:20px;background:#def5f1;color:#087876;padding:3px 6px;margin-left:auto}.mini-list{list-style:none;padding:0;margin:0}.mini-list li{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eff2f5;gap:10px}.mini-list li:last-child{border-bottom:none}.muted{color:#8799aa}.danger{color:#b2484a}.row{display:flex;gap:12px;align-items:center}.row.wrap{flex-wrap:wrap}.space{justify-content:space-between}.pad{padding:18px 20px}.hidden{display:none!important}
@media(max-width:1130px){.metrics{grid-template-columns:repeat(2,1fr)}.searchbox{width:250px}.side{width:210px;flex-basis:210px}.container{padding:20px}.top{padding:18px 20px}#notice{padding:0 20px}}@media(max-width:760px){.side{position:fixed;z-index:12;left:-260px;width:245px;min-height:100vh;transition:left .2s}.side.open{left:0}.mobilemenu{display:block}.top{min-height:70px;padding:14px;gap:8px;flex-wrap:wrap}.page-heading h1{font-size:19px}.top-actions{width:100%;flex-wrap:wrap;gap:7px}.top-actions .searchbox{width:100%;order:3;flex:1 0 100%}.searchbox kbd{display:none}.container{padding:14px}.metrics{gap:9px}.metric{padding:14px}.metric .val{font-size:24px}.intro{align-items:flex-start;flex-direction:column}.panel-head{padding:14px}.grid2{grid-template-columns:1fr}.drawer-top{padding:18px}.drawer-main{padding:16px}.foot{padding:18px}.badgecount{display:none}}

/* v8 — layered record details and research queue */
.recordlink{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e1e9ef;background:#f8fbfd;border-radius:10px;width:100%;padding:12px 13px;color:#136f77;text-align:left;line-height:1.45;font-weight:700;font-size:12px}
.recordlink:hover{background:#ebf7f5;border-color:#9fd0cb}.recordlink:focus-visible{outline:3px solid #179f99;outline-offset:2px}
.clickable-list li{padding:7px 0;border:0}.contact-actions,.linklist{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.contact-actions a,.linklist a{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow-wrap:anywhere}.drawer-tabs{position:sticky;top:95px;background:white;z-index:2}
@media(max-width:760px){.drawer-tabs{top:90px}.recordlink{min-height:46px}.contact-actions a{flex:1 1 auto;justify-content:center}}

.province-panel summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;padding:17px 20px;font-weight:750;color:#19364c;list-style:none}.province-panel summary::-webkit-details-marker{display:none}.province-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.province-item{display:flex;justify-content:space-between;gap:6px;padding:8px 10px;border:1px solid #dcebe8;border-radius:7px;background:#f5fbfa;font-size:12px}.province-item.zero{background:#fff8ed;border-color:#f1e7d8}.province-item.zero strong{color:#aa7941}@media(max-width:760px){.province-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.province-panel summary{display:block}}

/* v9 data reconciliation panels */
.tablewrap td{overflow-wrap:anywhere}.panel .row{display:flex;gap:5px;align-items:center}.panel .pad .subtle{line-height:1.6}.toolbar select{min-width:170px}.recordlink{min-height:42px}

/* v10: interactive province controls and compact contractor groups */
.province-item{font:inherit;text-align:left;cursor:pointer;border:1px solid var(--line,#d8e2e9);background:var(--surface,#fff)}
.province-item:hover,.province-item:focus-visible{outline:2px solid #16a5a0;outline-offset:1px;background:#eaf7f5}
.toggle{display:flex;gap:7px;align-items:center;white-space:nowrap;color:#4e6a7d;font-size:12px}.toggle input{width:auto}
.tablewrap td .recordlink{font-size:12px;min-height:0;margin:3px 0;text-align:left}.tablewrap td .recordlink:hover{color:#137e73}
