:root{--bg:#f1f5f9;--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--brand:#465fff;--brand-contrast:#fff;--success:#0f9d58;--warning:#b7791f;--danger:#dc2626;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 3px rgba(15,23,42,.08);--shadow-md:0 8px 24px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text-primary)}main{max-width:960px;margin:0 auto;padding:24px}h1,h2,h3,p{margin-top:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.label{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.value{font-weight:700}.status-approved{color:var(--success);font-weight:700}.status-denied{color:var(--danger);font-weight:700}.status-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.status-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--surface-muted)}.status-text{margin:6px 0 0;font-weight:600}.status-ok{color:var(--success)}.status-warn{color:var(--warning)}.status-error{color:var(--danger)}.shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.shortcut-card{display:block;border:1px solid #cbd5ff;border-radius:10px;padding:12px;background:#eef2ff}.shortcut-card p{margin:8px 0 0;color:var(--text-primary)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:24px}.auth-eyebrow{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.auth-description{color:var(--text-secondary);margin-bottom:20px}.auth-form{display:grid;grid-gap:14px;gap:14px}.field-group{display:grid;grid-gap:6px;gap:6px}.field-group label{font-size:14px;font-weight:600}.field-group input{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit}.field-group input:focus{outline:2px solid #c7d2fe;border-color:var(--brand)}.btn-primary{background:var(--brand);color:var(--brand-contrast);border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.btn-primary:disabled{opacity:.7;cursor:progress}.feedback{margin:0;font-size:14px}.feedback-info{color:var(--text-secondary)}.feedback-success{color:var(--success)}.feedback-error{color:var(--danger)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.admin-sidebar{background:#111827;color:#e5e7eb;padding:24px 16px;border-right:1px solid #1f2937}.brand-block{display:flex;align-items:center;gap:10px;margin-bottom:24px}.brand-dot{width:12px;height:12px;border-radius:999px;background:#465fff}.brand-block p{margin:0;color:#9ca3af;font-size:12px}.nav-section-title{font-size:12px;text-transform:uppercase;color:#9ca3af;margin-bottom:8px}.admin-sidebar ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.admin-sidebar a{display:block;color:#d1d5db;padding:8px 10px;border-radius:8px}.admin-sidebar a:hover{text-decoration:none;background:#1f2937;color:#fff}.admin-sidebar a.active{background:#465fff;color:#fff}.admin-content{display:grid;grid-template-rows:auto 1fr}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar-caption{margin:0;font-size:12px;color:var(--text-secondary)}.admin-topbar h1{margin:2px 0 0;font-size:18px}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-user{font-size:13px;color:var(--text-secondary);text-transform:capitalize}.topbar-link{display:inline-flex;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font:inherit;color:var(--text-primary)}.admin-main{padding:24px}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid #1f2937}}