*,:after,:before{box-sizing:border-box}:root{--text:#1d1d1f;--muted:#5f6368;--bg:#f6f6f4;--surface:#ffffff;--border:#dedcd6;--accent:#b4401d;--accent-dark:#8f3114;--accent-soft:#fbeae3;--error:#b3261e;--success:#1e7a3a;--radius:8px;--sidebar:220px;font-family:system-ui,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg)}body{margin:0}h1{font-size:1.6rem}h1,h2{margin:0 0 .75rem}h2{font-size:1.15rem}a{color:var(--accent-dark)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.875rem}.error{color:var(--error)}.success{color:var(--success)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:1rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar-top{justify-content:space-between}.logo,.sidebar-top{display:flex;align-items:center}.logo{gap:.5rem;font-weight:700;color:var(--text);text-decoration:none}.logo.large{font-size:1.25rem;justify-content:center;margin-bottom:1.25rem}.logo-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.8rem;letter-spacing:.02em}.menu-button{display:none}.nav{display:flex;flex-direction:column;gap:.15rem;margin-top:1.5rem;flex:1 1}.nav-link{display:block;padding:.5rem .75rem;border-radius:var(--radius);color:var(--text);text-decoration:none}.nav-link:hover{background:var(--bg)}.nav-link.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.nav-heading{margin:1rem .75rem .25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.nav-footer{margin-top:auto;padding:.75rem;border-top:1px solid var(--border)}.main{flex:1 1;min-width:0}.content{padding:1.5rem;max-width:1100px}.view-as-banner{flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.6rem 1.5rem;background:#fff4c2;border-bottom:1px solid #e8d36b}.center-page,.view-as-banner{display:flex;align-items:center}.center-page{min-height:100vh;flex-direction:column;justify-content:center;gap:1rem;padding:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.card.narrow{max-width:28rem}.login-card{width:100%;max-width:22rem;margin:0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0}.stat{margin:0}.stat-value{font-size:2rem;font-weight:700}.stat-label{color:var(--muted)}.prose{max-width:42rem;margin:0 auto;padding:2rem 1rem 4rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field>span{font-weight:600;font-size:.9rem}input,select{padding:.55rem .7rem;border:1px solid var(--border)}.button,input,select{font:inherit;border-radius:var(--radius);background:var(--surface);color:var(--text)}.button{padding:.55rem 1rem;border:1px solid var(--border);cursor:pointer}.button:hover:not(:disabled){border-color:var(--muted)}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.small{padding:.3rem .7rem;font-size:.875rem}.button.full{width:100%}.button:disabled{opacity:.6;cursor:default}.link-button{font:inherit;background:none;border:none;padding:0;color:var(--accent-dark);text-decoration:underline;cursor:pointer}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}td.actions{text-align:right}@media (max-width:760px){.shell{flex-direction:column}.sidebar{width:auto;height:auto;position:static;border-right:none;border-bottom:1px solid var(--border);padding:.75rem 1rem}.menu-button{display:inline-block;font:inherit;padding:.4rem .8rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.nav{display:none;margin-top:.75rem}.sidebar.open .nav{display:flex}.content{padding:1rem}.view-as-banner{padding:.6rem 1rem}}