@font-face{font-family:Montserrat;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/montserrat-latin-wght.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/montserrat-latin-ext-wght.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato-latin-400italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato-latin-ext-400italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-wght.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext-wght.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--color-bg-page: #ffffff;--color-bg-surface: #ffffff;--color-bg-sidebar: #f8f9fb;--color-bg-surface-alt: #f8f9fb;--color-bg-inset: #eef1f4;--color-bg-selected: #e5f2f0;--color-bg-tooltip: #0e2742;--color-text-primary: #0e2742;--color-text-secondary: #44546a;--color-text-muted: #8b94a3;--color-text-faint: #a5a5a5;--color-text-inverse: #ffffff;--color-border-default: #e1e5eb;--color-border-strong: #b9c2ce;--color-border-subtle: #eef1f4;--color-accent: #0e8478;--color-accent-dark: #0b6b64;--color-accent-light: #7fd1c8;--color-accent-lighter: #e5f2f0;--color-navy: #0e2742;--green: #4e7a33;--green-bg: #eef5e8;--green-border: #d4e6c4;--amber: #b5762a;--amber-bg: #faf3e8;--amber-border: #ecdcc0;--red: #b14444;--red-bg: #fbeded;--red-border: #f2cfcf;--blue: #0b6b64;--blue-bg: #e5f2f0;--blue-border: #c4e2de;--purple:#7c3aed;--purple-bg:#f5f3ff;--purple-border:#ddd6fe;--gray: #8b94a3;--gray-bg: #f8f9fb;--gray-border: #e1e5eb;--dot-green: #70ad47;--dot-red: #e36363;--dot-teal: #0e8478;--shadow-card: none;--shadow-hover: 0 2px 10px rgba(14,39,66,.08);--shadow-md: 0 2px 10px rgba(14,39,66,.08);--shadow-lg: 0 4px 16px rgba(14,39,66,.1);--radius-card: 10px;--radius-control: 8px;--radius-badge: 6px;--radius-modal: 12px;--font-family: "Lato", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--color-focus: #5b9bd5}*{box-sizing:border-box}body{margin:0;background:var(--color-bg-page);color:var(--color-text-secondary);font-family:var(--font-family);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text-primary)}h1{font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.01em}h2{font-size:16px;font-weight:700;line-height:1.4;letter-spacing:-.1px}a{color:var(--color-accent);text-decoration:none;font-weight:700}a:hover{color:var(--color-accent-dark)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.muted{color:var(--color-text-muted)}.secondary{color:var(--color-text-secondary)}.center{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--color-bg-sidebar)}.mono{font-family:var(--font-mono);font-size:12px;font-weight:500}.microlabel{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint)}.app{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:20px 20px 18px}.brand-mark{width:34px;height:34px;border-radius:8px;flex-shrink:0;background:var(--color-navy);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:15px;font-weight:800}.brand-name{font-family:var(--font-display);font-size:14px;font-weight:700;line-height:1.2;color:var(--color-navy)}.brand-tag{font-size:11px;color:var(--color-text-muted)}.sidebar-nav{flex:1;padding:6px 12px;display:flex;flex-direction:column;gap:1px;overflow-y:auto}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:400;color:var(--color-text-secondary);transition:background .12s ease-out,color .12s ease-out}.sidebar-nav a svg{width:16px;height:16px;flex-shrink:0;color:var(--color-accent)}.sidebar-nav a:hover{background:var(--color-bg-inset);color:var(--color-navy)}.sidebar-nav a.active{background:var(--color-accent-lighter);color:var(--color-accent-dark);font-weight:700}.sidebar-user{margin-top:auto;border-top:1px solid var(--color-border-default);padding:14px 20px;display:flex;align-items:center;gap:10px}.sidebar-avatar{width:28px;height:28px;border-radius:999px;flex-shrink:0;background:var(--color-accent);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase}.sidebar-user-meta{min-width:0;flex:1}.sidebar-user .who{font-size:12px;font-weight:700;color:var(--color-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .role{font-size:11px;color:var(--color-text-muted);text-transform:capitalize}.signout-btn{display:grid;place-items:center;flex-shrink:0;padding:5px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .12s ease-out,background .12s ease-out}.signout-btn:hover{color:var(--color-navy);background:var(--color-bg-inset)}.signout-btn svg{width:15px;height:15px;display:block}.main{flex:1;min-width:0;display:flex;flex-direction:column}.page-header{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);padding:20px 40px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-header .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:6px}.page-header .eyebrow .microlabel{color:var(--color-accent);letter-spacing:.16em;font-size:11px}.page-header h1{margin:0;color:var(--color-navy)}.page-header .subtitle{margin:4px 0 0;font-size:13px;color:var(--color-text-secondary)}.page-header .header-right{display:flex;gap:20px;align-items:center}.header-badge{display:flex;flex-direction:column;align-items:center;gap:6px}.content{padding:28px 40px 48px;max-width:1160px;width:100%}.card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:22px 24px;margin-bottom:20px}.card-title{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.1px;color:var(--color-navy);margin:0 0 14px}.card-title+.card-subtitle{margin:-10px 0 14px}.card-subtitle{font-size:13px;color:var(--color-text-muted)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{position:relative;overflow:hidden;background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:20px 22px;min-width:170px}.stat-label{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);margin-bottom:8px}.stat-value{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.1;color:var(--color-navy)}.stat-sub{font-size:12px;color:var(--color-text-muted);margin-top:6px}.stat-orb{position:absolute;top:-10px;right:-10px;width:56px;height:56px;border-radius:9999px;background:currentColor;opacity:.07;pointer-events:none}.stat-green .stat-value{color:var(--green)}.stat-amber .stat-value{color:var(--amber)}.stat-red .stat-value{color:var(--red)}.stat-blue .stat-value{color:var(--blue)}.stat-purple .stat-value{color:var(--purple)}.stat-gray .stat-value{color:var(--gray)}button{cursor:pointer;border-radius:var(--radius-control);border:1px solid var(--color-border-default);background:transparent;color:var(--color-text-secondary);padding:10px 16px;font-family:var(--font-family);font-size:13px;font-weight:700;transition:background .12s ease-out,border-color .12s ease-out,color .12s ease-out}button:hover{background:var(--color-bg-surface-alt);border-color:var(--color-border-strong)}button.primary{background:var(--color-accent);border-color:transparent;color:#fff}button.primary:hover{background:var(--color-accent-dark);border-color:transparent}label.primary{display:inline-block;background:var(--color-accent);color:#fff;border-radius:var(--radius-control);font-size:13px;font-weight:700;cursor:pointer;transition:background .12s ease-out}label.primary:hover{background:var(--color-accent-dark)}button.danger{background:var(--red);border-color:transparent;color:#fff}button.danger:hover{background:#963a3a;border-color:transparent}button.link{background:none;border:none;color:var(--color-accent);padding:0;font-size:13px;font-weight:700}button.link:hover{background:none;border:none;color:var(--color-accent-dark);text-decoration:underline}button:disabled{background:var(--color-text-muted);border-color:transparent;color:#fff;cursor:not-allowed}button.link:disabled{background:none;color:var(--color-text-muted);text-decoration:none}input,textarea,select{width:100%;padding:10px 12px;font-size:13px;border:1px solid var(--color-border-default);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-bg-surface);font-family:var(--font-family);outline:none;transition:border-color .12s ease-out,box-shadow .12s ease-out}input:focus,textarea:focus,select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-lighter)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}textarea{font-family:var(--font-mono);font-size:12.5px;font-weight:500;line-height:1.6}.field{margin-bottom:16px}.field label{display:block;margin-bottom:6px;font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint)}.error{color:var(--red);background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-control);padding:10px 12px;font-size:12px;font-weight:700;margin:10px 0}.ok{color:var(--green);font-weight:700}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 12px;font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);border-bottom:1px solid var(--color-border-strong);white-space:nowrap}td{text-align:left;padding:10px 12px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle)}tbody tr{transition:background .12s ease-out}tbody tr:hover{background:var(--color-bg-sidebar)}tbody tr:last-child td{border-bottom:none}td.strong{color:var(--color-navy);font-weight:700}.pill{display:inline-block;white-space:nowrap;border-radius:999px;border:none;padding:3px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pill-approved,.pill-sent{color:var(--green);background:var(--green-bg)}.pill-pending,.pill-review{color:var(--amber);background:var(--amber-bg)}.pill-detecting{color:var(--blue);background:var(--blue-bg)}.pill-anonymized{color:var(--purple);background:var(--purple-bg)}.pill-rejected,.pill-error{color:var(--red);background:var(--red-bg)}.pill-uploaded{color:var(--gray);background:var(--gray-bg)}.conf{display:inline-block;white-space:nowrap;border-radius:999px;border:none;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px}.conf-high{color:var(--green);background:var(--green-bg)}.conf-mid{color:var(--amber);background:var(--amber-bg)}.conf-low{color:var(--red);background:var(--red-bg)}.tag{display:inline-block;white-space:nowrap;border-radius:999px;border:none;color:var(--color-text-secondary);background:var(--color-bg-inset);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px}.callout{display:flex;gap:12px;align-items:flex-start;border-radius:var(--radius-card);padding:14px 20px;margin-bottom:20px;font-size:13px;line-height:1.65;color:var(--color-text-secondary)}.callout .glyph{font-size:18px;line-height:1.3}.callout .callout-title{font-family:var(--font-display);font-size:13px;font-weight:700;margin-bottom:2px}.callout-warn{background:var(--amber-bg);border:1px solid var(--amber-border)}.callout-warn .callout-title,.callout-warn .glyph{color:var(--amber)}.callout-error{background:var(--red-bg);border:1px solid var(--red-border)}.callout-error .callout-title,.callout-error .glyph{color:var(--red)}.callout-info{background:var(--blue-bg);border:1px solid var(--blue-border)}.callout-info .callout-title,.callout-info .glyph{color:var(--blue)}.callout-ok{background:var(--green-bg);border:1px solid var(--green-border)}.callout-ok .callout-title,.callout-ok .glyph{color:var(--green)}.tabs{display:flex;border-bottom:1px solid var(--color-border-default);margin-bottom:20px}.tab{padding:10px 20px;font-size:13px;font-weight:700;color:var(--color-text-muted);background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;margin-bottom:-1px;cursor:pointer;transition:color .12s ease-out}.tab:hover{color:var(--color-text-secondary);background:transparent}.tab.active{color:var(--color-accent-dark);background:var(--color-bg-surface);border-color:var(--color-border-default);border-top:2px solid var(--color-accent);border-bottom:1px solid var(--color-bg-surface)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dropzone{border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);padding:48px;text-align:center;color:var(--color-text-secondary);background:var(--color-bg-surface);transition:border-color .12s ease-out,background .12s ease-out,color .12s ease-out}.dropzone.drag{border-color:var(--color-accent);color:var(--color-accent-dark);background:var(--color-accent-lighter)}.login-card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-card);padding:32px;width:380px;max-width:100%}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.login-brand .brand-mark{width:40px;height:40px;font-size:18px}.login-brand h1{margin:0;font-size:22px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e274252;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-modal);width:min(760px,100%);max-height:86vh;overflow:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--color-border-default)}.modal-header h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.1px;color:var(--color-navy)}.modal-body{padding:24px}.payload{background:var(--color-bg-sidebar);border:1px solid var(--color-border-default);border-radius:var(--radius-control);padding:12px 14px;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--color-text-primary);line-height:1.6}mark.hl{background:var(--color-accent-lighter);color:var(--color-accent-dark);border-radius:3px;padding:0 2px}mark.hl.pending{background:var(--amber-bg);color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber-border)}mark.hl.rejected{background:transparent;text-decoration:line-through;color:var(--color-text-muted)}.unit{padding:14px 0;border-bottom:1px solid var(--color-border-subtle)}.unit:last-child{border-bottom:none}.section-title{font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-faint);margin:0 0 10px}.spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid var(--color-accent-lighter);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}.skeleton{animation:pulse 1.5s ease infinite;background:var(--color-bg-inset);border-radius:var(--radius-control)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 1024px){.stats-row{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.page-header{padding:20px}.content{padding:24px 20px 40px}}@media (max-width: 768px){.app{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--color-border-default)}.sidebar-brand{padding:12px 16px}.brand-tag{display:none}.sidebar-nav{flex-direction:row;padding:8px;overflow-y:visible}.sidebar-nav a span{display:none}.sidebar-user{border-top:none;margin-left:auto;margin-top:0;padding:8px 16px}.sidebar-user .role{display:none}.page-header{padding:16px}.content{padding:20px 16px}}@media (max-width: 480px){.stats-row{grid-template-columns:1fr}.content{padding:16px 12px}.card{padding:16px}}@media print{.sidebar,button,.tabs{display:none!important}body,.card,.stat-card{background:#fff;box-shadow:none}}
