:root{--bg:#090a0c;--panel:#121419;--panel-strong:#191d24;--line:#282e38;--text:#f4f1e8;--muted:#9ca3af;--green:#4ade80;--signal-yellow:#f4c430;--signal-red:#ff5c5c;--signal-blue:#60a5fa;--accent:#6ee7f9;--shadow:0 22px 60px rgba(0,0,0,0.38)}*{box-sizing:border-box}html{background:var(--bg)}body{min-height:100vh;margin:0;background:radial-gradient(circle at 18% 0,rgba(110,231,249,.09),transparent 28rem),linear-gradient(135deg,#090a0c,#101114 48%,#08090b);color:var(--text);font-family:Manrope,IBM Plex Sans,Segoe UI,sans-serif}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:1.5rem}.auth-card{display:grid;grid-gap:1rem;gap:1rem;width:min(100%,30rem);border:1px solid var(--line);border-radius:.75rem;background:rgba(18,20,25,.92);box-shadow:var(--shadow);padding:1.5rem}.auth-copy{margin:0;color:var(--muted);line-height:1.5}.auth-form{display:grid;grid-gap:.75rem;gap:.75rem}.auth-form label{display:grid;grid-gap:.35rem;gap:.35rem}.auth-form span{color:var(--muted);font-size:.78rem;font-weight:800}.auth-error{border:1px solid rgba(255,92,92,.26);border-radius:.45rem;background:rgba(255,92,92,.1);color:#ffb4b4;font-size:.88rem;padding:.75rem}.auth-role-list{display:grid;grid-gap:.6rem;gap:.6rem}.auth-role-card{display:grid;grid-gap:.15rem;gap:.15rem;border:1px solid rgba(244,241,232,.1);border-radius:.5rem;background:rgba(244,241,232,.04);padding:.75rem .85rem}.auth-role-card span{color:var(--muted);font-size:.85rem}a,button{font:inherit}a{color:inherit;text-decoration:none}button{min-height:2.5rem;border:1px solid rgba(110,231,249,.38);border-radius:.5rem;background:rgba(110,231,249,.12);color:var(--text);cursor:pointer;padding:0 1rem}input,select{min-height:2.45rem;border:1px solid var(--line);border-radius:.45rem;background:#0d0f13;color:var(--text);padding:0 .75rem}input:focus,select:focus{outline:2px solid rgba(110,231,249,.28);outline-offset:2px}.app-shell{display:grid;grid-template-columns:17rem minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--line);background:rgba(9,10,12,.84);padding:1.25rem}.brand{display:flex;gap:.75rem;align-items:center;min-height:3rem;margin-bottom:2rem}.brand-mark{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:.5rem;background:#f4f1e8;color:#101114;font-weight:900}.brand span,.brand strong{display:block}.brand span{color:var(--muted);font-size:.82rem}.nav-list{display:grid;grid-gap:.45rem;gap:.45rem}.nav-item{width:100%;border:0;background:transparent;text-align:left;border-radius:.45rem;color:var(--muted);padding:.75rem .85rem}.nav-item-button{min-height:auto}.nav-item-active,.nav-item:hover{background:var(--panel-strong);color:var(--text)}.workspace{min-width:0;padding:1.5rem}.workspace-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;align-items:center}.session-chip{display:inline-flex;align-items:center;min-height:2.2rem;border:1px solid rgba(110,231,249,.24);border-radius:999px;background:rgba(110,231,249,.08);color:var(--text);font-size:.84rem;font-weight:800;padding:0 .8rem}.session-chip-muted{border-color:rgba(244,241,232,.12);background:rgba(244,241,232,.06);color:var(--muted)}.content-grid,.metrics-grid,.panel-heading,.workspace-header{width:min(100%,1200px)}.workspace-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin:0 auto 1rem}.eyebrow{margin:0 0 .35rem;color:var(--accent);font-size:.72rem;font-weight:800;text-transform:uppercase}.eyebrow,h1,h2{letter-spacing:0}h1,h2{margin:0}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1}h2{font-size:1.15rem}.status-badge{border-radius:999px;font-size:.78rem;font-weight:800;padding:.35rem .65rem}.status-badge-yellow{background:rgba(244,196,48,.16);color:#ffe08a}.status-badge-red{background:rgba(255,92,92,.17);color:#ffb4b4}.status-badge-green{background:rgba(74,222,128,.15);color:#a7f3c1}.status-badge-blue{background:rgba(96,165,250,.16);color:#bfdbfe}.status-badge-neutral{background:rgba(156,163,175,.14);color:#d1d5db}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:0 auto 1rem}.metric-card,.registry-panel{border:1px solid var(--line);border-radius:.5rem;background:rgba(18,20,25,.86);box-shadow:var(--shadow)}.metric-card{display:grid;align-content:start;min-height:6rem;padding:1rem}.metric-card-active{border-color:rgba(110,231,249,.48)}.metric-card span{display:block;color:var(--muted)}.metric-count{justify-self:start;min-height:auto;margin:.5rem 0;border:0;background:transparent;font-size:2rem;font-weight:900;line-height:1;padding:0}.metric-count:focus-visible,.metric-count:hover{outline:2px solid rgba(110,231,249,.34);outline-offset:.18rem}.metric-count-all{color:var(--text)}.metric-count-active{color:var(--green)}.metric-count-expiring{color:var(--signal-yellow)}.metric-count-expired{color:var(--signal-red)}.metric-count-without-file{color:var(--signal-blue)}.content-grid{display:grid;grid-template-columns:1fr;margin:0 auto}.registry-panel{min-width:0;padding:1rem}.section-note{color:var(--muted);font-size:.9rem;font-weight:700}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1rem}.add-document-form{display:grid;grid-gap:1rem;gap:1rem;margin-bottom:1rem;border:1px solid rgba(110,231,249,.2);border-radius:.5rem;background:rgba(110,231,249,.05);padding:1rem}.add-document-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.add-document-form label,.add-document-form-field{display:grid;grid-gap:.35rem;gap:.35rem}.add-document-form span{color:var(--muted);font-size:.78rem;font-weight:800}.date-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.5rem;gap:.5rem;align-items:center}.date-field input{width:100%}.date-picker-button{min-height:2.45rem;border-color:rgba(244,241,232,.16);background:rgba(244,241,232,.06);color:var(--text);white-space:nowrap}.file-upload-field{display:grid;grid-gap:.6rem;gap:.6rem}.file-upload-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.file-upload-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.45rem;width:-moz-fit-content;width:fit-content;border:1px solid rgba(244,241,232,.16);border-radius:.45rem;background:rgba(244,241,232,.06);color:var(--text);cursor:pointer;padding:0 .9rem}.file-upload-summary{color:var(--muted);font-size:.88rem}.file-upload-list{display:grid;grid-gap:.35rem;gap:.35rem;margin:0;padding-left:1.1rem;color:var(--text);font-size:.85rem}.add-document-form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.ghost-button{border-color:rgba(244,241,232,.16);background:rgba(244,241,232,.06);color:var(--muted)}.ghost-button:hover{color:var(--text)}.registry-controls{display:grid;grid-template-columns:minmax(16rem,1fr) repeat(2,minmax(0,13rem));grid-gap:.75rem;gap:.75rem;align-items:start;margin-bottom:1rem}.registry-controls label,.search-control{display:grid;grid-gap:.35rem;gap:.35rem}.registry-controls span{color:var(--muted);font-size:.78rem;font-weight:800}.search-suggestions{display:flex;flex-wrap:wrap;gap:.35rem}.suggestion-button{min-height:2rem;border-color:rgba(244,241,232,.15);background:rgba(244,241,232,.06);color:var(--muted);font-size:.78rem;padding:0 .7rem}.suggestion-button:hover{border-color:rgba(110,231,249,.55);color:var(--text)}.registry-table{display:grid;grid-gap:.4rem;gap:.4rem}.registry-empty-state{border:1px dashed rgba(244,241,232,.16);border-radius:.45rem;color:var(--muted);padding:1rem}.pagination-bar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-top:.9rem;border-top:1px solid rgba(40,46,56,.8);padding-top:.9rem}.pagination-size{display:inline-flex;align-items:center;gap:.6rem}.pagination-size span{color:var(--muted);font-size:.82rem;font-weight:800}.pagination-size select{min-width:5.5rem}.pagination-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;align-items:center;color:var(--muted);font-size:.88rem}.pagination-actions{display:flex;gap:.5rem}button:disabled{cursor:not-allowed;opacity:.45}.registry-row{display:grid;grid-template-columns:minmax(13rem,1.7fr) minmax(7rem,.75fr) minmax(8rem,1fr) minmax(5rem,.55fr) minmax(7rem,.7fr) minmax(8rem,.8fr) minmax(8rem,.8fr);grid-gap:.75rem;gap:.75rem;align-items:center;min-height:4.25rem;border:1px solid rgba(40,46,56,.8);border-radius:.45rem;background:rgba(25,29,36,.72);padding:.75rem}.registry-row-head{min-height:2.5rem;background:transparent;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.registry-row-yellow{border-color:rgba(244,196,48,.38)}.registry-row-red{border-color:rgba(255,92,92,.46)}.registry-row small,.registry-row strong{display:block}.registry-row-no-files{grid-template-columns:minmax(13rem,1.7fr) minmax(7rem,.9fr) minmax(8rem,1fr) minmax(7rem,.75fr) minmax(8rem,.85fr) minmax(8rem,.85fr)}.registry-row-with-action{grid-template-columns:minmax(13rem,1.7fr) minmax(7rem,.75fr) minmax(8rem,1fr) minmax(5rem,.55fr) minmax(7rem,.7fr) minmax(8rem,.8fr) minmax(8rem,.8fr) minmax(8rem,.7fr)}.registry-row-no-files.registry-row-with-action{grid-template-columns:minmax(13rem,1.7fr) minmax(7rem,.9fr) minmax(8rem,1fr) minmax(7rem,.75fr) minmax(8rem,.85fr) minmax(8rem,.85fr) minmax(8rem,.75fr)}.registry-row-compact{min-height:3.4rem;padding-block:.55rem}.registry-row small{margin-top:.25rem;color:var(--muted)}.relation-button{min-height:2rem;border-color:rgba(110,231,249,.32);background:rgba(110,231,249,.08);color:var(--accent);font-size:.82rem;font-weight:800;padding:0 .7rem}.relation-empty{color:var(--muted)}.relation-filter{display:flex;margin-bottom:.85rem}.relation-filter-chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(110,231,249,.28);border-radius:999px;background:rgba(110,231,249,.08);color:var(--text);font-size:.84rem;font-weight:700;padding:.25rem .3rem .25rem .75rem}.relation-filter-reset{min-height:1.8rem;min-width:1.8rem;border:1px solid rgba(244,241,232,.12);border-radius:999px;background:rgba(9,10,12,.4);color:var(--text);padding:0}.row-action-button{min-height:2rem;border-color:rgba(244,241,232,.14);background:rgba(244,241,232,.06);color:var(--text);font-size:.82rem;font-weight:800;padding:0 .8rem}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:rgba(9,10,12,.68);padding:1.5rem}.dialog-card{display:grid;grid-gap:.9rem;gap:.9rem;width:min(100%,26rem);border:1px solid var(--line);border-radius:.75rem;background:rgba(18,20,25,.96);box-shadow:var(--shadow);padding:1.2rem}.dialog-card p{margin:0;color:var(--muted);line-height:1.5}.dialog-highlight{color:var(--text);font-weight:800}.dialog-actions{display:flex;justify-content:flex-end;gap:.65rem}mark{color:inherit}.settings-panel{display:grid;grid-gap:.85rem;gap:.85rem}.settings-row{display:flex;gap:.85rem;align-items:flex-start;border:1px solid rgba(40,46,56,.8);border-radius:.45rem;background:rgba(25,29,36,.56);padding:.9rem 1rem}.settings-row input{margin-top:.15rem}.settings-row span,.settings-row strong{display:block}.settings-row span{margin-top:.25rem;color:var(--muted)}.settings-subsection{display:grid;grid-gap:.85rem;gap:.85rem;border:1px solid rgba(40,46,56,.8);border-radius:.45rem;background:rgba(25,29,36,.56);padding:1rem}.settings-subsection-copy span,.settings-subsection-copy strong{display:block}.settings-subsection-copy span{margin-top:.25rem;color:var(--muted)}.settings-subsection-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem}.type-pill-list{display:flex;flex-wrap:wrap;gap:.5rem}.type-pill{display:inline-flex;align-items:center;min-height:2rem;border:1px solid rgba(244,241,232,.14);border-radius:999px;background:rgba(244,241,232,.06);color:var(--text);padding:0 .8rem}@media (max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;border-right:0;border-bottom:1px solid var(--line)}.nav-list{grid-template-columns:repeat(5,minmax(0,1fr))}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.sidebar,.workspace{padding:1rem}.workspace-header{align-items:flex-start;flex-direction:column}.workspace-header-actions{justify-content:flex-start}.metrics-grid,.nav-list{grid-template-columns:1fr 1fr}.add-document-form-grid,.date-field,.settings-subsection-form{grid-template-columns:1fr}.pagination-bar,.pagination-meta{align-items:flex-start;flex-direction:column}.registry-controls,.registry-row,.registry-row-head{grid-template-columns:1fr}.registry-row-head{display:none}}