:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#18313a;background:#f3f5f4;font-synthesis:none;--ink:#18313a;--muted:#66777d;--line:#dce4e4;--brand:#087e78;--dark:#102c34;--paper:#fff;--warn:#a36510;--error:#ac3748}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:#087a77;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #17a89b}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.9px;margin-bottom:8px}h2{font-size:20px;letter-spacing:-.3px}h3{font-size:16px}p{line-height:1.6}small,.muted{color:var(--muted);font-size:13px}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--dark);color:#fff;padding:28px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 28px}.mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#26b6a5;color:#082d33;font-weight:900;letter-spacing:-1px}.brand strong{font-size:21px}.brand small{display:block;font-size:10px;color:#b6cdce;letter-spacing:1.5px;margin-top:4px;text-transform:uppercase}.nav{display:grid;gap:5px}.nav a{color:#b8cbce;display:flex;gap:12px;align-items:center;padding:12px 15px;border-radius:8px;font-size:14px}.nav a:hover{background:#1b3b44;text-decoration:none;color:#fff}.nav a.active{background:#23474c;color:#fff;box-shadow:inset 3px 0 #34c7b2}.nav-icon{width:20px;font-size:17px;text-align:center}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:#77979c;padding:24px 15px 10px}.sidebar-foot{margin-top:auto;padding:20px 12px 0;font-size:12px;color:#a4c0c2}.env{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:1.3px;font-weight:800;color:#fae8b1;background:#544933;padding:5px 8px;border-radius:5px}.env:before{content:'';width:5px;height:5px;border-radius:50%;background:#efc657}.version{font-size:10px;line-height:1.7;margin-top:12px;overflow-wrap:anywhere}.workspace{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px}.topbar .crumb{color:#76848a;font-size:13px}.account{display:flex;align-items:center;gap:12px;font-size:12px}.avatar{background:#e4f1ec;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-weight:700}.content{padding:32px 36px 50px;max-width:1760px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:#678287;margin-bottom:10px}.description{color:#65767b;font-size:14px;margin-bottom:0;max-width:760px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d4dede;border-radius:7px;background:#fff;color:#28454c;padding:10px 15px;font-size:13px;font-weight:600;line-height:1.25;white-space:nowrap}.btn:hover{background:#edf3f1;text-decoration:none}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:hover{background:#056961}.btn.danger{color:var(--error);border-color:#e5c3c9}.btn.small{font-size:12px;padding:7px 10px}.btn.quiet{border-color:transparent;background:transparent;color:inherit}.card{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:22px;margin-bottom:20px;box-shadow:0 2px 3px #17303703}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.card-head h2,.card-head h3{margin:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;position:relative;display:block;color:var(--ink)}.stat:hover{border-color:#8abbad;text-decoration:none}.stat-label{color:var(--muted);font-size:12px}.stat-number{font-size:36px;letter-spacing:-1.4px;font-weight:650;margin:12px 0 5px}.stat small{font-size:11px}.stat.accent{background:#e5f2ed;border-color:#c9e4d9}.stat .arrow{position:absolute;right:18px;top:19px;color:#889b9f}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:18px;padding-top:20px}.mini-stats div{padding:0 16px;border-right:1px solid var(--line)}.mini-stats div:first-child{padding-left:0}.mini-stats div:last-child{border:0}.mini-stats b{font-size:23px;display:block;margin-top:7px}.workflow{counter-reset:step;display:grid;gap:18px}.step{display:flex;align-items:flex-start;gap:14px}.step:before{counter-increment:step;content:counter(step);width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:50%;background:#e6f2ed;color:#107566;font-size:12px;font-weight:700}.step strong{font-size:13px;display:block;margin-bottom:3px}.step p{font-size:12px;color:var(--muted);margin:0}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;font-size:10px;font-weight:650;background:#edf1f3;color:#526b75;white-space:nowrap}.badge.good{background:#e3f3ea;color:#277555}.badge.warn{background:#fff1d9;color:#96640e}.badge.bad{background:#fbe8eb;color:#a43f50}.status-line{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf1f0;gap:10px;font-size:13px}.status-line:last-child{border:0}.empty{text-align:center;padding:42px 20px;color:#688084}.empty .empty-icon{width:52px;height:52px;display:grid;place-items:center;background:#edf4f1;border-radius:14px;margin:0 auto 16px;font-size:24px;color:#668e86}.empty h3{color:#264a50;margin-bottom:8px}.empty p{max-width:440px;margin:0 auto 20px;font-size:13px}.notice{padding:13px 16px;border-radius:7px;background:#eef4f7;color:#3c616e;font-size:13px;line-height:1.55;margin-bottom:16px;border:1px solid #dce7ec}.notice.warn{background:#fff7e8;border-color:#f0dfbe;color:#865f23}.notice.error{background:#fceef0;border-color:#edd1d6;color:#973c4b}.notice.good{background:#eaf5ef;border-color:#cbe4d6;color:#286e4f}.notice ul{margin:5px 0;padding-left:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;min-width:0}.field input,.field select,.field textarea{width:100%;border:1px solid #cedadb;border-radius:6px;background:#fff;color:#243c43;padding:10px 11px;min-width:0;font-size:13px;font-weight:400}.field textarea{min-height:86px;resize:vertical}.field small{font-size:11px;font-weight:400;line-height:1.5}.field.full{grid-column:1/-1}input[type=checkbox]{accent-color:var(--brand);width:16px;height:16px}.check{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.5}.check input{flex:none;margin-top:2px}.filters{padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.filters .form-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.filters details{margin-top:14px}.filters summary{font-size:12px;cursor:pointer;color:#50737b;margin-bottom:14px}.filter-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff;margin-bottom:18px;max-height:68vh}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{position:sticky;top:0;background:#edf2f1;color:#5a7378;font-weight:600;font-size:10px;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;z-index:1}th,td{padding:14px 15px;border-bottom:1px solid #e6eceb;vertical-align:top}td .sub{display:block;color:#718489;font-size:11px;margin-top:5px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfa}td.number{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.route{font-weight:650;white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#688087}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.upload-zone{position:relative;border:1.5px dashed #8fb9ae;border-radius:10px;text-align:center;padding:32px;background:#f5faf7;margin-bottom:18px}.upload-zone.drag{background:#e3f5ec;border-color:#087e78}.upload-zone .upload-icon{font-size:28px;color:#458c80;margin-bottom:12px}.upload-zone p{font-size:12px;color:#6b827d;margin:10px 0 0}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.file-chip{background:#ecf2ef;border-radius:5px;padding:7px 9px;font-size:11px;display:flex;gap:10px;align-items:center}.split{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr);gap:18px}.source-pane{position:sticky;top:14px;align-self:start}.source-frame{width:100%;height:60vh;border:1px solid var(--line);border-radius:8px;background:#edf1ef;object-fit:contain}.source-pane iframe{background:#fff}.source-img-wrap{overflow:auto;max-height:65vh}.source-img-wrap img{width:100%;transform-origin:top left}.candidate{padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff;margin-bottom:14px}.candidate.selected{border-color:#7db5a6}.candidate-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.candidate-head .route{flex:1}.charge-list{font-size:12px}.charge-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;border-top:1px solid #edf1ee;padding:9px 0}.charge-editor{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:16px;background:#f4f7f5;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.charge-editor .field{font-size:11px}.charge-editor .full{grid-column:1/-1}.variant{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px;margin-bottom:16px}.variant-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:#eef6f1;padding:18px;border-radius:8px}.result-grid b{display:block;font-size:20px;font-variant-numeric:tabular-nums;margin-top:7px}.result-grid span{font-size:11px;color:#628078}.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:22px}.tabs .active{background:#e0eee7;border-color:#c4ddd0;color:#15735e}.login{min-height:100vh;background:var(--dark);display:grid;grid-template-columns:1fr 1fr}.login-aside{padding:10vh 10%;display:flex;flex-direction:column;justify-content:center;color:#fff}.login-aside h1{font-size:49px;line-height:1.15;max-width:500px;margin-top:45px;font-weight:600}.login-aside p{color:#a7c3c5;max-width:440px;font-size:16px}.login-form-wrap{background:#f5f7f4;display:grid;place-items:center;padding:30px}.login-form{width:100%;max-width:380px}.login-form h2{font-size:27px}.login-form .field{margin-bottom:19px}.login-form .btn{width:100%;margin-top:7px}.login-form .env{margin-bottom:28px}.login-note{font-size:11px;color:#738888;line-height:1.7;margin-top:24px}.boot{padding:80px;color:#65867e;text-align:center}#toast{position:fixed;bottom:26px;right:28px;padding:14px 20px;max-width:480px;border-radius:9px;background:#183c39;color:#fff;box-shadow:0 10px 35px #0002;z-index:100;font-size:13px;display:none}#toast.show{display:block}#toast.error{background:#963c4b}dialog{border:0;border-radius:12px;box-shadow:0 20px 100px #001c3866;padding:26px;width:min(960px,94vw);max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#09283399;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:15px}.dialog-head h2{margin:0}.dialog-foot{position:sticky;bottom:-26px;background:#fff;border-top:1px solid var(--line);padding:18px 0 0;margin-top:22px;display:flex;justify-content:flex-end;gap:10px}.section-label{font-size:11px;font-weight:700;color:#54736d;text-transform:uppercase;letter-spacing:1px;margin:25px 0 13px}.line-items td,.line-items th{padding:10px 12px}.edit-charges{margin-top:20px}.text-preview{white-space:pre-wrap;font-family:inherit;line-height:1.7;font-size:13px;background:#f5f7f5;padding:20px;border-radius:9px}.hidden{display:none!important}.span2{grid-column:span 2}.busy{opacity:.6;pointer-events:none}.mobile-menu{display:none}.row-actions{display:flex;gap:8px}.form-foot{display:flex;justify-content:flex-end;margin-top:20px;gap:10px}.definition{font-size:11px;font-weight:400}.audit-data{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metadata{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.loading{padding:48px;text-align:center;color:#65867e}.loading:before{content:'';display:block;width:25px;height:25px;border:2px solid #cee0d9;border-top-color:#148773;border-radius:50%;margin:0 auto 16px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1150px){.shell{grid-template-columns:188px minmax(0,1fr)}.content{padding:26px 24px}.sidebar{padding:25px 10px}.topbar{padding:0 24px}.stats{gap:12px}.stat{padding:17px}.filters .form-grid{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.source-pane{position:static}.source-frame{height:360px}.form-grid{grid-template-columns:repeat(2,1fr)}.result-grid b{font-size:17px}}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px}.brand{padding:0 8px 15px}.nav{display:flex;overflow:auto}.nav a{padding:10px}.nav-label,.sidebar-foot,.nav-icon{display:none}.topbar{height:60px;padding:0 20px}.content{padding:22px 18px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.page-heading{flex-wrap:wrap}h1{font-size:26px}.form-grid,.filters .form-grid{grid-template-columns:repeat(2,1fr)}.login{grid-template-columns:1fr}.login-aside{padding:26px}.login-aside h1{font-size:29px;margin-top:10px}.login-aside p{display:none}.login-form-wrap{min-height:65vh}.charge-editor{grid-template-columns:repeat(2,1fr)}.result-grid{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr}.account .role-name{display:none}.crumb{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Import: autonomous workflow, with technical detail kept available. */
.import-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:16px 0}.import-counts strong{display:block;font-size:28px;line-height:1.2}.import-counts span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.import-job{padding:16px 0;border-bottom:1px solid var(--line)}.import-job:last-child{border-bottom:0}.import-job .toolbar{margin-bottom:8px}.import-job .sub{display:block;margin-top:7px;font-size:12px}.verification-result{padding:12px 14px;background:#f6f3e9;border-radius:7px;font-size:13px;line-height:1.5}.verification-result.is-verified{background:#eaf5ef;color:#286e4f}.verification-result strong,.verification-result span{display:block}.verification-result span{font-size:12px;margin-top:5px}.verification-result details{margin-top:9px}.verification-result ul{padding-left:20px}.import-advanced,.candidate-details{margin-top:16px;font-size:12px;color:#526f74}.import-advanced summary,.candidate-details summary,.issue-summary summary{cursor:pointer}.import-advanced>.form-grid,.import-advanced>.actions{margin-top:14px}.candidate-details[open] summary{margin-bottom:12px}.candidate-ready{border-color:#c9e2d5}.historical-label{padding:10px 12px;margin:12px 0;background:#eef1f5;border-radius:6px;font-size:12px;color:#536878;line-height:1.5}.issue-summary{font-size:12px}.issue-summary li{padding:3px 0}.issue-count{font-size:10px;white-space:nowrap;color:#876931}.issue-where{font-size:11px;margin-top:3px}.issue-where span{display:block;margin:5px 0}.source-defaults{margin-top:14px;border-left:3px solid #8cb9a9;padding:9px 12px;background:#f1f7f3;font-size:12px;line-height:1.6}.source-defaults small{display:block;margin-top:5px}@media(max-width:600px){.import-counts{gap:10px}.import-counts strong{font-size:24px}.import-counts span{font-size:11px}.import-job .toolbar{align-items:flex-start;flex-direction:column}}
