:root{color-scheme:light;--bg: #f4f6f8;--surface: #ffffff;--ink: #1d2329;--muted: #66717d;--line: #d9e0e7;--brand: #c1121f;--brand-dark: #8f0d17;--ok: #0f7b4f;--warn: #9a5b00;--danger: #b42318}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:0}button,input,select{font:inherit}button{min-height:42px;border:0;border-radius:6px;background:var(--brand);color:#fff;cursor:pointer;font-weight:700;padding:0 16px}button:hover{background:var(--brand-dark)}button.secondary{border:1px solid var(--line);background:#fff;color:var(--ink)}button.secondary:hover{background:#eef2f5}input,select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 12px}label{display:grid;gap:8px;color:var(--muted);font-size:14px;font-weight:700}h1,h2,p{margin:0}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel,.panel,.placeholder{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.login-panel{width:min(100%,420px);padding:32px}.stack{display:grid;gap:18px;margin-top:24px}.eyebrow{color:var(--brand);font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.muted{color:var(--muted)}.error{min-height:20px;color:var(--danger);font-weight:700}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{min-height:100vh;display:flex;flex-direction:column;gap:28px;border-right:1px solid var(--line);background:#fff;padding:24px}.sidebar nav{display:grid;gap:8px}.nav-group{display:grid;gap:6px}.nav-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.sidebar a{border-radius:6px;color:var(--ink);font-weight:700;padding:12px;text-decoration:none}.sidebar a.sub-link{padding-left:20px}.sidebar a.active,.sidebar a:hover{background:#eef2f5}.sidebar #logout-button{margin-top:auto}.content{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.placeholder{display:grid;gap:8px;min-height:180px;align-content:center;padding:28px}.split{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:24px;align-items:start}.panel{padding:22px}.form-grid{display:grid;gap:16px;margin-top:18px}.check-row{display:flex;align-items:center;gap:10px;color:var(--ink)}.check-row input{width:18px;min-height:18px}.check-row+label.hidden{display:none!important}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.search-row{display:grid;grid-template-columns:minmax(220px,360px) auto;gap:12px;margin-bottom:16px}.pagination-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:16px}.pagination-summary{display:grid;gap:12px}.pagination-page-size{display:grid;gap:8px;max-width:180px}.pagination-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pagination-pages{display:flex;gap:8px;flex-wrap:wrap}.pagination-active{border-color:var(--brand);background:#fdecef!important;color:var(--brand)!important}.table-wrap{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:middle}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fafb}th{color:var(--muted);font-size:13px}.badge{display:inline-flex;align-items:center;min-height:26px;border-radius:6px;background:#eef2f5;color:var(--ink);font-size:13px;font-weight:800;padding:0 8px}.badge.ok{background:#e4f5ed;color:var(--ok)}.badge.warn{background:#fff3d8;color:var(--warn)}.form-message{min-height:20px;color:var(--ok);font-weight:700}.detail-panel{display:grid;gap:16px;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.detail-meta{display:grid;gap:8px;border:1px solid var(--line);border-radius:6px;background:#fafbfd;padding:12px}.detail-actions{display:flex;gap:12px}button.danger{color:var(--danger);border-color:#efc3bf}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.split{grid-template-columns:1fr}}@media(max-width:560px){.content,.sidebar,.login-panel,.panel,.placeholder{padding:18px}.topbar,.section-head,.search-row,.pagination-bar{align-items:stretch;flex-direction:column}.search-row{grid-template-columns:1fr}}
