:root{--bg:#fafafa;--surface:#fff;--subtle:#f4f4f5;--text:#18181b;--muted:#52525b;--quiet:#71717a;--border:#e4e4e7;--accent:#2563eb;--accent-soft:#dbeafe;--success:#15803d;--success-soft:#dcfce7;--warning:#a16207;--warning-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono","Cascadia Mono",monospace;color-scheme:light}
@media(prefers-color-scheme:dark){:root{--bg:#09090b;--surface:#18181b;--subtle:#27272a;--text:#fafafa;--muted:#a1a1aa;--quiet:#a1a1aa;--border:#3f3f46;--accent:#60a5fa;--accent-soft:#172554;--success:#4ade80;--success-soft:#052e16;--warning:#facc15;--warning-soft:#422006;--danger:#f87171;--danger-soft:#450a0a;color-scheme:dark}}
*{box-sizing:border-box}html{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:16px}body{margin:0;min-height:100vh}button,input,select{font:inherit;color:inherit}button,select,input{border:1px solid var(--border);background:var(--surface);border-radius:6px}button{cursor:pointer;padding:.62rem .85rem;font-weight:550}button:hover{background:var(--subtle)}button:disabled{opacity:.55;cursor:not-allowed}.primary,.button-link{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover,.button-link:hover{filter:brightness(.94);background:var(--accent)}input,select{width:100%;padding:.72rem .8rem}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--text);color:var(--bg);padding:.7rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.eyebrow{margin:0 0 .55rem;text-transform:uppercase;letter-spacing:.12em;font:600 .7rem var(--mono);color:var(--quiet)}h1,h2,p{margin-top:0}h1{font-size:clamp(1.75rem,4vw,2.6rem);letter-spacing:-.045em;line-height:1.05}h2{font-size:1.25rem;letter-spacing:-.025em}.brand{font:700 1.05rem var(--mono);letter-spacing:-.04em;color:var(--text);text-decoration:none}.brand span{color:var(--quiet);font-weight:450}
.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.login-context{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;border-right:1px solid var(--border);background:linear-gradient(90deg,var(--bg) calc(100% - 3px),var(--accent) calc(100% - 3px));position:relative}.context-copy{max-width:670px;margin:auto 0}.context-copy h1{font-size:clamp(2.8rem,6.5vw,6.2rem);max-width:850px}.context-copy>p:last-child{max-width:580px;color:var(--muted);font-size:1.05rem;line-height:1.65}.security-sequence{list-style:none;padding:0;margin:3rem 0 0;display:flex;gap:2rem;color:var(--muted);font-size:.82rem}.security-sequence li{display:flex;align-items:center;gap:.6rem}.security-sequence span{font:600 .68rem var(--mono);color:var(--accent)}.login-panel{display:grid;place-items:center;padding:2rem;background:var(--surface)}.auth-form{width:min(100%,380px);display:grid;gap:.8rem}.auth-form h2{font-size:2rem;margin-bottom:1.2rem}.auth-form label:not(.check-row),dialog label{font-size:.8rem;font-weight:600}.check-row{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--muted)}.check-row input{width:auto}.text-button{border:0;background:transparent}.form-message{min-height:1.25rem;margin:0;color:var(--danger);font-size:.8rem}
.topbar{height:60px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);display:flex;align-items:center;padding:0 clamp(1rem,3vw,2.5rem);gap:2.2rem;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.topbar nav{display:flex;align-self:stretch;gap:.25rem}.topbar nav a{display:flex;align-items:center;padding:0 .75rem;color:var(--muted);text-decoration:none;font-size:.86rem;border-bottom:2px solid transparent}.topbar nav a:hover,.topbar nav a.active{color:var(--text)}.topbar nav a.active{border-bottom-color:var(--accent)}.account-area{margin-left:auto;display:flex;align-items:center;gap:.65rem;position:relative}.role-badge,.status{font:600 .66rem var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.28rem .5rem}.role-badge{background:var(--subtle);color:var(--muted)}.account-button{border:0;background:transparent;padding:.4rem}.account-menu{position:absolute;right:0;top:44px;width:190px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.35rem;z-index:40}.account-menu button{width:100%;border:0;text-align:left;background:transparent}.workspace{max-width:1440px;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-header h1{margin:0}.header-actions{display:flex;gap:.65rem}.header-actions select{width:auto;min-width:145px}.ledger{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;position:relative}.ledger:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.84rem}th{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--quiet);font-family:var(--mono);background:var(--subtle)}tbody tr{cursor:pointer}tbody tr:hover{background:var(--subtle)}tbody tr:last-child td{border-bottom:0}.file-name{font-weight:600}.mono{font-family:var(--mono);font-size:.78rem;color:var(--muted)}.status.clean{color:var(--success);background:var(--success-soft)}.status.scanning{color:var(--warning);background:var(--warning-soft)}.status.rejected{color:var(--danger);background:var(--danger-soft)}.row-action{padding:.32rem .5rem}.ledger-footer{display:flex;justify-content:space-between;color:var(--quiet);font:500 .72rem var(--mono);padding:.9rem .25rem}.empty-state{padding:5rem 2rem;text-align:center}.empty-state h2{font-size:1.6rem}.empty-state p{color:var(--muted);max-width:480px;margin-left:auto;margin-right:auto}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);background:var(--surface)}.stat{padding:2rem;border-right:1px solid var(--border)}.stat:last-child{border-right:0}.stat strong{display:block;font:600 2rem var(--mono)}.stat span{color:var(--muted);font-size:.8rem}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:49}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(500px,100%);background:var(--surface);border-left:1px solid var(--border);z-index:50;overflow:auto}.drawer>header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border)}.drawer>header .icon-button{float:right}.drawer-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 1rem}.drawer-tabs button{border:0;border-radius:0;background:transparent;border-bottom:2px solid transparent;font-size:.78rem}.drawer-tabs button.active{border-color:var(--accent);color:var(--accent)}.drawer-content{padding:1.5rem}.definition-list{display:grid;grid-template-columns:120px 1fr;gap:.8rem;font-size:.83rem}.definition-list dt{color:var(--quiet)}.definition-list dd{margin:0;font-family:var(--mono)}.action-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.link-output{word-break:break-all;font-family:var(--mono);font-size:.78rem;background:var(--subtle);padding:.8rem;border:1px solid var(--border)}
dialog{width:min(520px,calc(100% - 2rem));border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(0,0,0,.45)}dialog form,dialog>section{padding:1.4rem;display:grid;gap:.85rem}dialog header,dialog footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}dialog header h2{margin:0}dialog footer{margin-top:.7rem}.icon-button{font-size:.75rem}.drop-zone{min-height:190px;border:1px dashed var(--quiet);display:grid;place-content:center;text-align:center;gap:.4rem;background:var(--subtle);cursor:pointer}.drop-zone:hover,.drop-zone.drag{border-color:var(--accent);background:var(--accent-soft)}.drop-zone input{position:absolute;opacity:0;pointer-events:none}.drop-zone span{color:var(--muted);font-size:.75rem}.selection{background:var(--subtle);border:1px solid var(--border);padding:.75rem;font:500 .78rem var(--mono)}progress{width:100%;accent-color:var(--accent)}label span{font-weight:400;color:var(--quiet)}.secret-output{display:block;padding:.75rem;background:var(--subtle);font:600 .8rem var(--mono);word-break:break-all}.qr-box{display:grid;place-items:center;min-height:180px}.qr-box img{image-rendering:pixelated;max-width:180px}.wide-dialog{width:min(820px,calc(100% - 2rem))}.inline-form{display:flex!important;grid-template-columns:1fr auto!important;align-items:end}.inline-form label{flex:1}.user-list{border:1px solid var(--border)}.user-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.8rem;border-bottom:1px solid var(--border);font-size:.82rem}.user-row:last-child{border:0}.user-row small{display:block;color:var(--quiet)}.toast{position:fixed;right:1rem;bottom:1rem;z-index:100;background:var(--text);color:var(--bg);padding:.8rem 1rem;border-radius:6px;font-size:.82rem}.public-page{display:grid;place-items:center;padding:2rem;min-height:100vh}.public-shell{width:min(100%,600px)}.public-brand{display:block;margin-bottom:1.5rem}.download-sheet{border:1px solid var(--border);border-top:3px solid var(--accent);padding:clamp(1.5rem,5vw,3rem);background:var(--surface)}.download-sheet h1{font-size:clamp(1.6rem,5vw,2.4rem);word-break:break-word}.file-mark{float:right;border:1px solid var(--border);padding:.5rem;font:700 .7rem var(--mono);color:var(--accent)}.public-meta,.remaining{color:var(--muted);font-size:.85rem}.download-sheet button,.button-link{display:inline-block;text-align:center;text-decoration:none;width:100%;margin-top:1rem}.public-shell footer{text-align:center;color:var(--quiet);font-size:.7rem;margin-top:1rem}.mobile-only{display:none}
@media(max-width:800px){.login-layout{grid-template-columns:1fr}.login-context{min-height:42vh;border-right:0;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg) calc(100% - 3px),var(--accent) calc(100% - 3px));padding:2rem}.context-copy{margin:3rem 0 1rem}.context-copy h1{font-size:clamp(2.3rem,11vw,4.5rem)}.security-sequence{display:none}.login-panel{padding:3rem 1.25rem}.mobile-only{display:block}.topbar{gap:.8rem}.topbar nav{display:none;position:absolute;left:0;right:0;top:60px;background:var(--surface);border-bottom:1px solid var(--border);height:auto;padding:.5rem;flex-direction:column}.topbar nav.open{display:flex}.topbar nav a{padding:.75rem}.accountEmail{display:none}.role-badge{display:none}.page-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions>*{flex:1}.ledger{border:0;background:transparent;overflow:visible}.ledger:before,thead{display:none}table,tbody,tr,td{display:block;width:100%}tbody{display:grid;gap:.75rem}tbody tr{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);border-radius:7px;padding:.8rem}td{border:0;padding:.25rem .35rem}td:before{content:attr(data-label);display:inline-block;width:105px;color:var(--quiet);font:600 .65rem var(--mono);text-transform:uppercase}.stat-strip{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--border)}.stat:last-child{border-bottom:0}.workspace{padding:1.25rem}.inline-form{display:grid!important}.user-row{grid-template-columns:1fr}.account-menu{position:fixed;right:1rem;top:55px}}
@media(prefers-reduced-motion:no-preference){.drawer{animation:slide-in .16s ease-out}.toast{animation:toast-in .16s ease-out}@keyframes slide-in{from{transform:translateX(24px);opacity:.5}}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}}
