:root {
  --bg:#f3f6f4; --surface:#fcfdfc; --fg:#182622; --muted:#65736f; --border:#d9e1dd;
  --accent:#a7385a; --accent-on:#ffffff; --nav:#17312c; --nav-soft:#25453e;
  --ok:#207446; --ok-soft:#e5f4eb; --warn:#986000; --warn-soft:#fff1cc;
  --danger:#b63b36; --danger-soft:#ffebe8; --info:#315e7a; --info-soft:#e8f0f5;
  --font-display:"Onest",sans-serif; --font-body:"Onest",sans-serif; --radius:12px; --space-section:64px;
  --shadow:0 14px 38px rgba(19,48,41,.08);
}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.5}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}a{color:var(--accent)}.eyebrow{margin:0 0 6px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}.safe{overflow-wrap:anywhere}.mono{font-family:"IBM Plex Mono","Consolas",monospace;font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:9px;padding:10px 16px;background:#e8edea;color:var(--fg);font-weight:700;text-decoration:none;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.button:hover{background:#dfe6e2}.button:active{transform:translateY(1px)}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(167,56,90,.25);outline-offset:2px}.button.primary{background:var(--accent);color:var(--accent-on)}.button.primary:hover{background:#8f2d4b}.button.ghost{border-color:var(--border);background:var(--surface);color:var(--fg)}.button.danger{background:var(--danger);color:white}.button.small{min-height:36px;padding:7px 11px;font-size:13px}.button.wide{width:100%}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(450px,1.08fr) minmax(420px,.92fr);background:var(--surface)}.login-brand{display:flex;flex-direction:column;justify-content:center;padding:8vw;background:var(--nav);color:white}.brand-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:#dbe8e3;color:var(--nav);font-size:28px;font-weight:800;margin-bottom:42px}.brand-mark.small{width:40px;height:40px;margin:0;border-radius:10px;font-size:19px}.login-brand .eyebrow{color:#f1a5bd}.login-brand h1{max-width:760px;margin:0 0 24px;font-size:clamp(48px,5.8vw,78px);line-height:.98;letter-spacing:-.052em}.login-copy{max-width:650px;margin:0;color:#c7d5d0;font-size:18px;line-height:1.6}.document-equation{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:46px}.document-equation span{border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px 10px;color:#e6eeeb;font-size:13px}.document-equation i{color:#c7d5d0;font-style:normal;font-weight:800}.login-panel{display:grid;place-items:center;padding:56px}.login-form{width:min(420px,100%)}.login-form h2{margin:0 0 8px;font-size:36px;line-height:1.1;letter-spacing:-.035em}.login-form>label{display:grid;gap:7px;margin-top:20px;font-size:13px;font-weight:700}.login-form input,.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:9px;padding:10px 12px;background:white;color:var(--fg)}.password-field{position:relative;display:block}.password-field input{padding-right:92px}.password-field button{position:absolute;right:5px;top:5px;min-height:36px;border:0;border-radius:7px;padding:0 10px;background:#edf1ef;color:var(--muted);font-size:12px;font-weight:700}.form-error{min-height:23px;margin:12px 0 4px;color:var(--danger);font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.app-shell>main{min-width:0}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:24px 16px 18px;background:var(--nav);color:white}.logo{display:flex;align-items:center;gap:11px;padding:0 8px 28px}.logo strong,.logo small{display:block}.logo strong{font-size:17px}.logo small{margin-top:2px;color:#a9bbb5}.sidebar nav{display:grid;gap:5px}.sidebar nav button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-height:46px;border:0;border-radius:9px;padding:9px 12px;background:transparent;color:#c1d0cb;text-align:left;font-weight:650}.sidebar nav button span{color:#89a39a;font-size:11px;font-variant-numeric:tabular-nums}.sidebar nav button:hover,.sidebar nav button.active{background:var(--nav-soft);color:white}.sidebar nav button.active span{color:#c1d0cb}.sidebar nav b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--accent);color:white;font-size:11px}.retention-note{margin-top:auto;padding:14px 10px 2px;border-top:1px solid rgba(255,255,255,.12)}.retention-note strong,.retention-note small{display:block}.retention-note strong{font-size:13px}.retention-note small{margin-top:4px;color:#a9bbb5;font-size:11px;line-height:1.45}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:16px 32px;border-bottom:1px solid var(--border);background:rgba(243,246,244,.94);backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:27px;line-height:1.15;letter-spacing:-.035em}.account{display:flex;align-items:center;gap:12px}.account span{color:var(--muted);font-size:13px}.content{width:min(1500px,100%);margin:0 auto;padding:24px 32px 64px}.page-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.page-actions h2{margin:0;font-size:22px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 2px 3px rgba(20,47,40,.025)}.panel-body{padding:20px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.summary-strip>div{padding:17px 19px;border-right:1px solid var(--border)}.summary-strip>div:last-child{border-right:0}.summary-strip span,.metric span{display:block;color:var(--muted);font-size:12px}.summary-strip strong,.metric strong{display:block;margin-top:4px;font-size:23px;font-variant-numeric:tabular-nums}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px}.primary-work{padding:22px;background:var(--nav);color:white}.primary-work .eyebrow{color:#c7d5d0}.primary-work h2{max-width:680px;margin:0;font-size:34px;line-height:1.1;letter-spacing:-.04em}.primary-work p{max-width:720px;color:#c6d5d0}.primary-work .button{margin-top:10px}.alert-list{display:grid;gap:9px}.alert-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--border)}.alert-row:last-child{border-bottom:0}.alert-row span{grid-column:1/-1;color:var(--muted);font-size:12px}.empty{padding:44px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;margin-bottom:5px;color:var(--fg);font-size:18px}.document-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.document-step{position:relative;min-width:0;padding:18px;border-right:1px solid var(--border)}.document-step:last-child{border-right:0}.document-index{display:inline-block;margin-bottom:16px;color:var(--nav-soft);font-size:11px;font-weight:800;letter-spacing:.11em}.document-step h3{margin:0 0 5px;font-size:17px}.document-step p{min-height:42px;margin:0 0 14px;color:var(--muted);font-size:12px}.file-picker{display:block}.file-picker input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.file-picker span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px dashed #aebcb7;border-radius:8px;padding:8px;color:var(--fg);background:#f6f8f7;font-size:13px;font-weight:700;text-align:center;overflow-wrap:anywhere}.file-picker input:focus-visible+span{outline:3px solid rgba(167,56,90,.25)}.file-picker.has-file span{border-style:solid;border-color:#80aa97;background:var(--ok-soft);color:#185d38}.check-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:14px;padding:17px 19px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.check-footer p{margin:0;color:var(--muted)}.loading-line{height:4px;margin-top:14px;border-radius:2px;background:linear-gradient(90deg,var(--accent) 0 45%,#ead6dd 45% 100%);background-size:220% 100%;animation:loading 1.2s linear infinite}.verdict{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:stretch;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.verdict-label{display:flex;flex-direction:column;justify-content:center;padding:22px;color:white}.verdict.allowed .verdict-label{background:var(--ok)}.verdict.blocked .verdict-label{background:var(--danger)}.verdict-label small{font-size:12px}.verdict-label strong{margin-top:4px;font-size:22px;line-height:1.15}.verdict-copy{padding:20px}.verdict-copy p{margin:0;max-width:900px}.metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px}.metric{padding:16px;border-right:1px solid var(--border)}.metric:last-child{border-right:0}.metric strong{font-size:20px}.status-chip{display:inline-flex;align-items:center;min-height:28px;border-radius:14px;padding:4px 9px;font-size:12px;font-weight:700;white-space:nowrap}.status-chip.ok{background:var(--ok-soft);color:var(--ok)}.status-chip.warning{background:var(--warn-soft);color:var(--warn)}.status-chip.error{background:var(--danger-soft);color:var(--danger)}.status-chip.neutral{background:#e9eeeb;color:#596762}.status-chip.info{background:var(--info-soft);color:var(--info)}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.toolbar .field{display:grid;gap:5px;min-width:180px}.toolbar .grow{flex:1}.field label,.toolbar label{color:var(--muted);font-size:11px;font-weight:700}.table-wrap{max-width:100%;overflow:auto}table{width:100%;min-width:900px;border-collapse:collapse}th,td{padding:11px 13px;border-bottom:1px solid #e8eeeb;text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;background:#f7f9f8;color:var(--muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase}tbody tr:hover{background:#fafcfb}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}.check-table th:first-child,.check-table td:first-child{position:sticky;left:0;z-index:2;background:var(--surface);min-width:215px}.check-table th:first-child{z-index:3;background:#f7f9f8}.yes{color:var(--ok);font-weight:800}.no{color:#9aa59f}.appeal{display:grid;gap:12px;margin-top:16px;padding:20px}.appeal h3{margin:0}.appeal textarea{width:100%;min-height:260px;resize:vertical;border:1px solid var(--border);border-radius:9px;padding:14px;background:#f8faf9;color:var(--fg);font:13px/1.55 "IBM Plex Mono","Consolas",monospace}.archive-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;margin-bottom:14px}.archive-head h2{margin:0}.detail-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;margin-bottom:16px}.shipment-identity{padding:22px;background:var(--nav);color:white}.shipment-identity .eyebrow{color:#f1a5bd}.shipment-identity h2{margin:0;font-size:29px}.shipment-identity p{margin:7px 0 0;color:#c7d5d0}.followup{padding:18px}.followup h3{margin:0 0 12px}.followup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.followup .field{display:grid;gap:5px}.source-files{display:flex;flex-wrap:wrap;gap:8px}.file-link{display:inline-flex;min-height:38px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--surface);color:var(--fg);font-size:12px;text-decoration:none}.search-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:20px}.search-hero input{min-height:50px;border:1px solid var(--border);border-radius:9px;padding:12px 14px;font:15px "IBM Plex Mono","Consolas",monospace}.notice{padding:14px 16px;border-radius:9px;background:var(--info-soft);color:var(--info)}.notice.warning{background:var(--warn-soft);color:#744b00}.dialog{width:min(520px,calc(100vw - 30px));border:0;border-radius:14px;padding:24px;box-shadow:var(--shadow)}.dialog::backdrop{background:rgba(13,31,27,.58);backdrop-filter:blur(2px)}.dialog h2{margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:min(440px,calc(100vw - 32px));padding:13px 16px;border-radius:9px;background:var(--fg);color:white;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.toast.show{opacity:1;transform:none}.toast.error{background:var(--danger)}@keyframes loading{to{background-position:-220% 0}}
@media(max-width:1050px){.document-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.document-step:nth-child(2){border-right:0}.document-step:nth-child(-n+2){border-bottom:1px solid var(--border)}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric:nth-child(3){border-right:0}.metric:nth-child(-n+3){border-bottom:1px solid var(--border)}.dashboard-grid,.detail-head{grid-template-columns:1fr}}
@media(max-width:850px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.logo>div:last-child,.retention-note,.sidebar nav button{font-size:0}.sidebar{padding-inline:10px}.logo{justify-content:center;padding-inline:0}.sidebar nav button{grid-template-columns:1fr;justify-items:center;padding:9px}.sidebar nav button span{font-size:11px}.sidebar nav b{position:absolute;margin:0 0 24px 28px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.topbar,.content{padding-inline:20px}}
@media(max-width:600px){.login-page{display:block}.login-brand{display:none}.login-panel{min-height:100vh;padding:28px 20px}.app-shell{display:block}.sidebar{position:fixed;z-index:20;inset:auto 0 0 0;width:100%;height:70px;padding:8px;background:var(--nav)}.logo,.retention-note{display:none}.sidebar nav{display:flex;justify-content:space-around}.sidebar nav button{flex:1;min-width:0}.sidebar nav button span{font-size:10px}.sidebar nav button.active{background:var(--nav-soft)}.topbar{min-height:72px;padding:13px 16px}.topbar h1{font-size:23px}.account span{display:none}.content{padding:18px 16px 96px}.page-actions,.archive-head{display:flex;align-items:flex-start;flex-direction:column}.document-flow{grid-template-columns:1fr}.document-step{border-right:0;border-bottom:1px solid var(--border)}.document-step:last-child{border-bottom:0}.document-step p{min-height:0}.check-footer{grid-template-columns:1fr}.check-footer .button{width:100%}.verdict{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric:nth-child(3){border-right:1px solid var(--border)}.metric:nth-child(even){border-right:0}.metric:nth-child(-n+4){border-bottom:1px solid var(--border)}.summary-strip strong{font-size:20px}.followup-grid{grid-template-columns:1fr}.search-hero{grid-template-columns:1fr}.search-hero .button{width:100%}.document-equation{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.account-settings{max-width:760px;padding:22px}.account-settings form{display:grid;gap:16px}.account-settings .field{display:grid;gap:6px}.account-passwords{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-settings p{margin:0}.account-settings .button{justify-self:start}
@media(max-width:600px){.account-passwords{grid-template-columns:1fr}.account-settings{padding:18px}}
