@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/static/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/static/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/static/fonts/inter-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Fraunces;font-weight:400;font-display:swap;src:url(/static/fonts/fraunces-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Fraunces;font-weight:500;font-display:swap;src:url(/static/fonts/fraunces-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Fraunces;font-weight:600;font-display:swap;src:url(/static/fonts/fraunces-latin-600-normal.woff2) format('woff2')}
:root{--pine:#022B2F;--pine-2:#05393d;--pine-3:#0a4c50;--cream:#F4F3EC;--paper:#F8F7F2;--ink:#1c2b2a;--slate:#55625f;--muted:#7a8683;--silver:#c9cec9;--gold:#b8955a;--gold-soft:rgba(184,149,90,.14);
--line:rgba(2,43,47,.12);--line-2:rgba(2,43,47,.07);--ok:#2f6b4f;--ok-bg:#e6f0ea;--warn:#8a5a12;--warn-bg:#f8eedb;--bad:#9a2f28;--bad-bg:#f7e4e1;--info:#285a6b;--info-bg:#e3eef1;--radius:10px}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font:14px/1.45 Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);display:flex;-webkit-font-smoothing:antialiased}
body.bare{display:block;background:var(--pine)}
a{color:var(--pine-3)}a:hover{color:var(--pine)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:10}.skip:focus{left:8px}
.ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
/* sidebar */
.sidebar{width:200px;flex:0 0 200px;background:var(--pine);color:#dfe6e3;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;gap:10px;align-items:center;padding:16px 14px 18px}
.brand img{width:34px;height:auto;opacity:.95}
.brand-os{font:500 17px/1.1 Fraunces,Georgia,serif;color:#f4f3ec}
.brand-sub{font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:#a9b6b3;margin-top:3px;line-height:1.35}
.sidebar nav{padding:0 6px;flex:1}
.nav-label{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#8ea09c;margin:16px 9px 6px}
.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:#dfe6e3;text-decoration:none;font-size:13px;border:1px solid transparent;margin-bottom:2px}
.nav-item:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-item.active{background:rgba(255,255,255,.07);border-color:var(--gold);color:#fff}
.nav-item.parent{color:#fff;font-weight:500}
.nav-group .nav-item:not(.parent){padding-left:22px;font-size:12.5px}
.side-foot{padding:12px 14px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:12px}
.who-name{color:#f4f3ec}.who-role{color:#8ea09c;text-transform:capitalize;font-size:11px;margin-bottom:6px}
.linkbtn{background:none;border:0;color:#cfd8d5;display:flex;gap:8px;align-items:center;padding:4px 0;cursor:pointer;font:inherit}
.linkbtn:hover{color:#fff}
/* main */
.main-wrap{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{padding:12px 22px 10px;border-bottom:1px solid var(--line);background:var(--paper)}
.page-title{font:500 18px/1.2 Fraunces,Georgia,serif;margin:0;color:var(--ink)}
.page-sub{font-size:11.5px;color:var(--slate);margin-top:2px}
.content{padding:18px 22px 40px}
h2{font:500 24px/1.2 Fraunces,Georgia,serif;margin:0 0 4px}
h3{font:500 16px/1.25 Fraunces,Georgia,serif;margin:0 0 10px}
.sect{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin:18px 0 8px;font-weight:500}
.muted{color:var(--slate)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:0 1px 2px rgba(2,43,47,.03)}
.grid{display:grid;gap:12px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack>*+*{margin-top:12px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}
/* forms */
label{font-size:12px;font-weight:500;color:var(--slate);display:block;margin-bottom:4px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=search],select,textarea{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--silver);border-radius:8px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:64px}
.btn{display:inline-flex;align-items:center;gap:6px;font:500 13px Inter,sans-serif;padding:7px 12px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:rgba(2,43,47,.3)}
.btn.primary{background:var(--pine);color:#fff;border-color:var(--pine)}.btn.primary:hover{background:var(--pine-3)}
.btn.gold{border-color:var(--gold);background:var(--gold-soft)}
.btn.danger{color:var(--bad);border-color:rgba(154,47,40,.35)}
.btn.sm{padding:4px 8px;font-size:12px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.filters{display:grid;grid-template-columns:2fr repeat(5,minmax(0,1fr)) auto;gap:8px;align-items:end}
/* tables */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.tbl th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);font-weight:500;text-align:left;padding:8px 10px;background:#fbfaf6;border-bottom:1px solid var(--line)}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:#fcfbf7}
.tbl a.rowlink{color:var(--ink);text-decoration:none;font-weight:500}.tbl a.rowlink:hover{text-decoration:underline}
/* badges */
.badge,.fbadge{display:inline-block;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
.st-received{background:var(--info-bg);color:var(--info)}.st-processing{background:var(--info-bg);color:var(--info)}
.st-quarantined{background:var(--bad-bg);color:var(--bad)}.st-failed{background:var(--bad-bg);color:var(--bad)}
.st-needs_review{background:var(--warn-bg);color:var(--warn)}.st-reviewed{background:var(--ok-bg);color:var(--ok)}.st-archived{background:#eee;color:#555}
.fs-extracted{background:var(--info-bg);color:var(--info)}.fs-missing{background:#f1f0ea;color:var(--slate);border-color:var(--silver);border-style:dashed}
.fs-unreadable{background:var(--warn-bg);color:var(--warn)}.fs-conflicting{background:var(--bad-bg);color:var(--bad)}
.fs-human-verified{background:var(--ok-bg);color:var(--ok)}.fs-rejected{background:#eee;color:#555}
.flag{display:inline-block;font-size:10.5px;background:#fff6e6;color:var(--warn);border:1px solid #f0dcb4;border-radius:5px;padding:1px 5px;margin:2px 3px 0 0}
.notice{border-left:3px solid var(--gold);background:#fffdf7;padding:10px 12px;border-radius:6px;font-size:13px}
.notice.bad{border-color:var(--bad);background:#fff8f7}.notice.ok{border-color:var(--ok);background:#f7fbf8}
.nc{color:var(--slate);font-style:normal;font-size:12px;border:1px dashed var(--silver);padding:1px 7px;border-radius:6px}
/* tiles (matches Insurance OS home tiles) */
.tile{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-decoration:none;color:var(--ink)}
.tile:hover{border-color:rgba(2,43,47,.25)}
.tile .tic{width:30px;height:30px;border-radius:7px;background:var(--pine);color:#f4f3ec;display:grid;place-items:center}
.tile .tl{font-weight:600;font-size:13.5px}.tile .td{font-size:12px;color:var(--slate)}
/* review workspace */
.review{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:14px;align-items:start}
.viewer{position:sticky;top:12px}
.viewer iframe,.viewer img{width:100%;height:calc(100vh - 210px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;object-fit:contain}
.doc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.doc-tabs a{font-size:12px;padding:4px 9px;border-radius:7px;border:1px solid var(--line);text-decoration:none;color:var(--ink);background:#fff}
.doc-tabs a.on{border-color:var(--gold);background:var(--gold-soft)}
.item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:10px}
.item>summary{list-style:none;cursor:pointer;padding:10px 12px;display:flex;gap:8px;align-items:center;font-weight:500}
.item>summary::-webkit-details-marker{display:none}
.item .ctx{font-size:11px;color:var(--slate);font-weight:400}
.fld{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px;padding:8px 12px;border-top:1px solid var(--line-2);align-items:start}
.fld .fn{font-size:12px;color:var(--slate)}.fld .fv{word-break:break-word}
.fld .src{font-size:11px;color:var(--muted);margin-top:2px}
.fld details.edit summary{font-size:12px;color:var(--pine-3);cursor:pointer}
.fld form.inline{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.fld form.inline input[type=text]{flex:1;min-width:140px}
.child{margin-left:14px}
.blockers{font-size:12.5px}
/* worksheet */
.ws-sec{margin-bottom:12px}.ws-row{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:8px;padding:5px 0;border-bottom:1px dotted var(--line)}
.ws-row:last-child{border-bottom:0}
/* auth pages */
.auth{max-width:400px;margin:8vh auto;background:#fbfaf6;border-radius:16px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.auth h1{font:500 26px Fraunces,Georgia,serif;margin:0 0 2px}.auth .sub{color:var(--slate);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}
.auth .btn{width:100%;justify-content:center;margin-top:12px;padding:10px}
.auth .err{color:var(--bad);font-size:13px;margin-top:10px}
.qr svg{width:180px;height:180px;background:#fff;padding:8px;border-radius:8px}
.empty{padding:28px;text-align:center;color:var(--slate);background:#fff;border:1px dashed var(--silver);border-radius:var(--radius)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* embedded inside the hub iframe: hub already shows the brand sidebar */
body.embedded .sidebar .brand,body.embedded .sidebar .nav-home{display:none}
@media (max-width:1100px){.review{grid-template-columns:1fr}.viewer{position:static}.viewer iframe,.viewer img{height:60vh}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){body{display:block}.sidebar{width:auto;height:auto;min-height:0;position:static;flex-direction:row;flex-wrap:wrap;align-items:center}
.sidebar nav{display:flex;flex-wrap:wrap;gap:4px;padding:6px}.nav-label,.side-foot .who{display:none}.nav-group{display:contents}.side-foot{border:0;padding:6px 12px}
.g2,.g3,.g4,.filters{grid-template-columns:1fr}.fld{grid-template-columns:1fr}.ws-row{grid-template-columns:1fr auto}.content{padding:14px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.emailtext{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;max-height:calc(100vh - 210px);overflow:auto;font:13px/1.5 Inter,system-ui,sans-serif;margin:0}
.pager{margin-bottom:6px;gap:8px}
.viewer img.pageimg{height:auto;max-height:calc(100vh - 230px)}
