*{box-sizing:border-box}:root{--bg:#0b0b0c;--surface:#18181b;--surface-raised:#202024;--border:#2b2b30;--text:#f2f2f0;--text-soft:#9a9aa2;--text-faint:#6b6b73;--accent:#e7e94a;--accent-ink:#14140f;--accent-soft:#3a3a1f;--success:#4fbf7a;--success-soft:#163224;--warning:#e0b23d;--warning-soft:#332a14;--critical:#e0645f;--critical-soft:#331a19;--focus:#7ab8ff}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0;font-weight:700}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:.72rem}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:1.25rem 1rem;display:flex}.brand{align-items:center;gap:.6rem;padding:0 .25rem 1.5rem;display:flex}.brand-badge{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.brand-name{font-size:.95rem;font-weight:800;line-height:1.2}.brand-sub{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.nav a{color:var(--text-soft);border-radius:6px;padding:.55rem .7rem;font-size:.86rem;font-weight:500}.nav a:hover{background:var(--surface-raised);color:var(--text)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.user-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.user-name{font-size:.82rem;font-weight:600}.user-role{color:var(--text-faint);font-size:.7rem}.logout-btn{border:1px solid var(--border);color:var(--text-soft);background:0 0;border-radius:6px;padding:.3rem .6rem;font-size:.75rem}.logout-btn:hover{border-color:var(--critical);color:var(--critical)}.main{max-width:1100px;padding:2rem 2.5rem 4rem}.page-header{margin-bottom:1.75rem}.page-header h1{margin-top:.25rem;font-size:1.5rem}.page-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.btn{border:1px solid #0000;border-radius:7px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.84rem;font-weight:600;transition:filter .1s;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface-raised);color:var(--text);border-color:var(--border)}.btn-danger{background:var(--critical);color:#1a0a0a}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.4rem}.card+.card{margin-top:1rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800}.stat-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-top:.2rem;font-size:.76rem}.table-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);border-bottom:1px solid var(--border);background:var(--surface);padding:.7rem 1rem;font-size:.72rem;font-weight:600}td{border-bottom:1px solid var(--border);padding:.7rem 1rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-raised)}.table-link{color:var(--text);font-weight:600}.table-link:hover{color:var(--accent)}.empty-state{text-align:center;color:var(--text-faint);padding:2.5rem}.pill{letter-spacing:.02em;text-transform:uppercase;background:var(--surface-raised);color:var(--text-soft);border-radius:100px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.pill-success{background:var(--success-soft);color:var(--success)}.pill-warning{background:var(--warning-soft);color:var(--warning)}.pill-critical{background:var(--critical-soft);color:var(--critical)}.pill-accent{background:var(--accent-soft);color:var(--accent)}label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-soft);margin-bottom:.35rem;font-size:.76rem;font-weight:600;display:block}input,select,textarea{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:7px;padding:.55rem .7rem}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.field{max-width:420px;margin-bottom:1rem}.form-row{flex-wrap:wrap;align-items:flex-end;gap:.6rem;display:flex}.help-text{color:var(--text-faint);margin-top:.3rem;font-size:.78rem}.error-text{color:var(--critical);margin-top:.5rem;font-size:.82rem}.notice{border:1px solid;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem}.notice-warning{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}.notice-success{background:var(--success-soft);border-color:var(--success);color:var(--success)}.notice-critical{background:var(--critical-soft);border-color:var(--critical);color:var(--critical)}.login-shell{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:360px;padding:2.2rem 2rem}.login-badge{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);border-radius:10px;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.1rem;font-weight:800;display:flex}.login-title{text-align:center;margin-bottom:.2rem;font-size:1.15rem;font-weight:800}.login-sub{text-align:center;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.6rem;font-size:.72rem}.login-card .field{max-width:none}.spinner{border:2px solid #14140f4d;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.kv{margin-bottom:.85rem}.kv-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:.15rem;font-size:.7rem}.kv-value{font-size:.92rem;font-weight:600}.section-title{margin:0 0 .9rem;font-size:.95rem;font-weight:700}.form-with-preview{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.5rem;display:grid}.preview-sticky{position:sticky;top:2rem}@media (width<=900px){.form-with-preview{grid-template-columns:1fr}.preview-sticky{position:static}}.notif-preview{color:#202124;background:#f1f3f4;border-radius:14px;max-width:340px;padding:.85rem .95rem;box-shadow:0 2px 8px #00000059}.notif-preview-header{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.notif-preview-icon{background:var(--accent);width:16px;height:16px;color:var(--accent-ink);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.55rem;font-weight:800;display:flex}.notif-preview-app{color:#5f6368;font-size:.72rem;font-weight:500}.notif-preview-time{color:#5f6368;margin-left:auto;font-size:.72rem}.notif-preview-title{text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.88rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.notif-preview-body{color:#3c4043;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.15rem;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.notif-preview-image{aspect-ratio:2;background:#e0e0e0;border-radius:8px;margin-top:.6rem;overflow:hidden}.notif-preview-image img{object-fit:cover;width:100%;height:100%;display:block}.notif-preview-cta{border-top:1px solid #dadce0;margin-top:.65rem;padding-top:.5rem}.notif-preview-cta span{letter-spacing:.03em;color:#1a73e8;font-size:.72rem;font-weight:700}
