:root{color:#0f172a;background:#f8fafc;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{color:#0f172a;background:#f8fafc;margin:0}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#e2e8f0;background:#0f172a;flex-direction:column;gap:10px;padding:20px 14px;display:flex}.brand{color:#fff;margin-bottom:12px;font-size:1.1rem;font-weight:700}.nav-link{color:#cbd5e1;border-radius:8px;padding:10px 12px;display:block}.nav-link.active,.nav-link:hover{color:#fff;background:#1e293b}.logout-btn{color:#fff;cursor:pointer;background:#334155;border:none;border-radius:8px;margin-top:auto;padding:10px 12px}.content{padding:24px}.page-title{margin:0 0 16px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0f172a0d}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.input,.button{border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;font-size:14px}.input{min-width:180px}.button{color:#fff;cursor:pointer;background:#0f172a}.button.secondary{background:#334155}.button:disabled{opacity:.6;cursor:not-allowed}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:10px}.muted{color:#64748b}.login-shell{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{width:100%;max-width:420px}.error{color:#b91c1c}
