:root{color:#1f2937;background:#f3f4f6;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(135deg,#eef2ff,#f8fafc);min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.7rem 1rem}button:hover{opacity:.95}button.danger{background:#dc2626}input,select{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;margin:.3rem 0 .8rem;padding:.7rem .8rem}.auth-shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card{background:#fff;border-radius:16px;width:min(100%,420px);padding:2rem;box-shadow:0 18px 40px #0f172a14}.auth-card h1{margin-top:0}.stack{flex-direction:column;gap:.6rem;display:flex}.app-shell{min-height:100vh;display:flex}.sidebar{color:#fff;background:#111827;width:260px;padding:1.5rem 1rem}.brand{margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.nav-item{text-align:left;color:#fff;background:0 0;border:1px solid #ffffff26;width:100%;margin-bottom:.5rem;display:block}.nav-item.active{background:#2563eb59}.main-panel{flex:1;padding:2rem}section{max-width:1100px}.stats-grid,.card-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.stat-card,.card,.panel{background:#fffffff2;border:1px solid #94a3b840;border-radius:14px;padding:1rem;box-shadow:0 10px 20px #0f172a0a}.card h3,.panel h3{margin-top:0}.section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.8rem;display:flex}button a,a{color:#2563eb;text-decoration:none}.error-text,.error-banner{color:#b91c1c}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.8rem 1rem}.muted{color:#6b7280}.list{flex-direction:column;gap:.8rem;display:flex}.list-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 0;display:flex}@media (width<=840px){.app-shell{flex-direction:column}.sidebar{width:100%}}
