:root{color:#0f172a;background:#f7fafc;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{padding:24px;background:linear-gradient(180deg,#eff6ff,#dbeafe);border-right:1px solid rgba(15,23,42,.08)}.main{padding:24px}.stack-lg{display:grid;gap:24px}.stack-md{display:grid;gap:16px}.stack-sm{display:grid;gap:12px}.stack-xs,.page-header{display:grid;gap:8px}.page-header-inline{align-items:start;grid-template-columns:1fr auto}.eyebrow{margin:0;color:#2563eb;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.muted-text{color:#64748b;margin:0}.page-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-grid-wide{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:#fff}.stats-grid,.detail-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card,.detail-card{display:grid;gap:8px}.stat-label{color:#475569;font-size:.85rem}.stat-value{font-size:1.8rem}.stat-value-small{font-size:1rem;word-break:break-all}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:0;border-radius:999px;background:linear-gradient(135deg,#38bdf8,#2563eb);color:#eff6ff;cursor:pointer;font:inherit;text-decoration:none}.button-link:disabled{cursor:not-allowed;opacity:.6}.button-link-secondary{background:#94a3b829}.button-row{display:flex;flex-wrap:wrap;gap:12px}.card input:not([type=checkbox]),.card textarea,.card select{width:100%;padding:12px 14px;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;color:inherit;font:inherit}.card textarea{min-height:120px}.error-text{color:#dc2626}.muted-text{color:#64748b}.notice-card{display:grid;gap:10px}.notice-card h3,.notice-card p{margin:0}.notice-danger{border-color:#dc26262e;background:#fef2f2}.notice-generic{border-color:#94a3b838;background:#f1f5f9}.notice-forbidden{border-color:#f59e0b38;background:#fff7ed}.notice-scaffold{border-color:#0ea5e933;background:#f0f9ff}.notice-session{border-color:#f871713d;background:#fef2f2}.notice-success{border-color:#4ade803d;background:#f0fdf4}.notice-warning{border-color:#d977062e;background:#fffbeb}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 12px;border-bottom:1px solid rgba(15,23,42,.08);text-align:left;vertical-align:top}.data-table th{color:#64748b;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.table-link{color:#2563eb;text-decoration:none}.ordered-list{margin:0;padding-left:20px}.nav-list{display:grid;gap:8px;padding:0;list-style:none}.nav-link{display:block;padding:10px 12px;border-radius:12px;text-decoration:none;background:#ffffff80}.dashboard-list-item{display:flex;justify-content:space-between;gap:16px;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#f8fafc}.dashboard-list-item p{margin:0}@media(max-width:900px){.shell,.page-header-inline{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto}}:root{--app-bg: #f4f7f9;--app-surface: #ffffff;--app-surface-muted: #f8fafc;--app-border: #d9e2ea;--app-border-soft: #e6edf3;--app-text: #172033;--app-text-strong: #0f172a;--app-muted: #64748b;--app-accent: #155e75;--app-accent-strong: #0e7490;--app-accent-soft: #cffafe;--app-warning: #92400e;--app-danger: #be123c;color:var(--app-text);background:var(--app-bg);font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color-scheme:light}body{background:linear-gradient(180deg,#edf7f8 0,#f8fafc 260px,var(--app-bg) 100%);color:var(--app-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.shell.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:var(--app-bg);color:var(--app-text)}.app-sidebar{position:sticky;top:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;height:100vh;padding:18px;overflow-y:auto;border-right:0;background:linear-gradient(180deg,#102a43,#12344d 58%,#172033);color:#dbe7ef}.shell-brand{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-bottom:0}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(207,250,254,.28);border-radius:8px;background:#cffafe1f;color:#a5f3fc;font-size:.82rem;font-weight:850}.sidebar-kicker,.topbar-kicker,.nav-group-label{margin:0;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sidebar-kicker,.nav-group-label{color:#a5f3fc}.shell-brand h1{margin:2px 0 4px;color:#fff;font-size:1.16rem;letter-spacing:0}.shell-brand p:last-child{margin:0;color:#b3c5d5;font-size:.86rem;line-height:1.45}.sidebar-nav{display:grid;align-content:start;gap:16px;min-height:0;overflow-y:auto;padding-right:4px}.nav-group{display:grid;gap:8px}.nav-list{display:grid;gap:4px;padding:0;list-style:none}.nav-link{display:flex;align-items:center;min-height:33px;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#d3dee8;font-size:.9rem;line-height:1.2;text-decoration:none;text-transform:capitalize;transition:background .15s ease,border-color .15s ease,color .15s ease}.nav-link:hover,.nav-link.active{border-color:#a5f3fc3d;background:#cffafe1f;color:#fff}.nav-link.active{box-shadow:inset 3px 0 #22d3ee}.sidebar-footer{padding-top:12px;border-top:1px solid rgba(148,163,184,.16)}.sidebar-footer .button-link{width:100%}.app-main{min-width:0;padding:0;background:var(--app-bg)}.app-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 24px;border-bottom:1px solid rgba(217,226,234,.88);background:#f8fafceb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-topbar strong{display:block;margin-top:3px;color:var(--app-text-strong);font-size:1rem}.topbar-kicker{color:var(--app-accent)}.app-content{width:min(100%,1440px);margin:0 auto;padding:24px}.stack-lg{gap:18px}.stack-md{gap:14px}.page-header{gap:6px;padding-bottom:14px;border-bottom:1px solid var(--app-border-soft)}.page-header h2{margin:0;color:var(--app-text-strong);font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:0}.page-header p:not(.eyebrow){max-width:820px;margin:0;color:var(--app-muted);line-height:1.5}.eyebrow{color:var(--app-accent);font-weight:850;letter-spacing:.08em}.card{border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);color:var(--app-text);box-shadow:0 14px 32px #0f172a12}.card h3,.card h4,.card p,.card ol,.card ul{margin-top:0}.card p:last-child,.card ol:last-child,.card ul:last-child{margin-bottom:0}.card h3,.card h4{color:var(--app-text-strong);letter-spacing:0}.stats-grid,.detail-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat-card,.detail-card{position:relative;min-height:118px;align-content:start;gap:7px;overflow:hidden}.stat-card:before,.detail-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#155e75,#0f766e)}.stat-label{color:var(--app-muted);font-size:.78rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.stat-value{color:var(--app-text-strong);font-size:1.85rem;line-height:1.1}.stat-value-small{font-size:1rem;line-height:1.35}.button-link{gap:8px;min-height:38px;padding:0 13px;border:1px solid transparent;border-radius:8px;background:var(--app-accent);color:#f8fafc;font-weight:800;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.button-link:hover:not(:disabled){background:#164e63}.button-link-secondary{border-color:var(--app-border);background:#fff;color:var(--app-text)}.button-link-secondary:hover:not(:disabled){background:var(--app-surface-muted)}.button-row,.form-actions{gap:10px}.card input:not([type=checkbox]),.card textarea,.card select{border-color:#cbd5e1;border-radius:8px;background:#fff;color:var(--app-text-strong)}.card input:not([type=checkbox]):focus,.card textarea:focus,.card select:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px #155e7524;outline:none}.table-card{overflow:hidden}.data-table{border-collapse:separate;border-spacing:0;color:var(--app-text);font-size:.9rem}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--app-border-soft)}.data-table th{background:var(--app-surface-muted);color:#475569;font-size:.72rem;font-weight:850;letter-spacing:.06em}.data-table tbody tr:hover td{background:#f8fafc}.table-link{color:var(--app-accent);font-weight:800;text-decoration:none}.table-link:hover{text-decoration:underline;text-underline-offset:3px}.status-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:.76rem;font-weight:850;text-transform:none}.dashboard-list-item{align-items:center;padding:12px;border-color:var(--app-border-soft);border-radius:8px;background:var(--app-surface-muted)}.notice-card{border-radius:8px}.notice-generic{border-color:#cbd5e1;background:#f8fafc}.notice-forbidden,.notice-warning{border-color:#fcd34d;background:#fffbeb;color:#78350f}.notice-session,.notice-danger{border-color:#fecdd3;background:#fff1f2;color:#881337}.notice-success{border-color:#86efac;background:#f0fdf4;color:#14532d}.notice-scaffold{border-color:#7dd3fc;background:#f0f9ff;color:#0c4a6e}.muted-text{color:var(--app-muted)}.warning-text{color:var(--app-warning)}.error-text{color:var(--app-danger)}.login-shell{background:linear-gradient(180deg,#edf7f8,#f8fafc 58%,#f4f7f9)}.login-panel{display:grid;gap:16px}@media(max-width:1100px){.shell.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;grid-template-rows:auto}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@media(max-width:760px){.app-topbar{position:static;align-items:stretch;flex-direction:column;padding:14px 16px}.app-content{padding:16px}.app-sidebar{gap:12px;padding:14px}.shell-brand{grid-template-columns:40px minmax(0,1fr)}.sidebar-nav{max-height:285px}.nav-group{gap:6px}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-link{min-height:32px;padding:6px 8px;font-size:.84rem}.page-header-inline,.stats-grid,.detail-grid{grid-template-columns:1fr}.button-row .button-link,.form-actions .button-link{flex:1 1 180px}}
