:root{--green:#009b77;--dark:#101827;--bg:#f7f9fa;--border:#e5e7eb;--muted:#64748b;--danger:#b42318}*{box-sizing:border-box}body{margin:0;font:14px/1.45 system-ui,Segoe UI,Arial;color:#0f172a;background:var(--bg)}a{color:var(--green);text-decoration:none}.center{min-height:100vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);background:white;border:1px solid var(--border);border-radius:14px;padding:30px;box-shadow:0 16px 40px #0f172a12}.brand{font-size:24px;font-weight:800;margin-bottom:24px}.brand span{color:var(--green)}h1{font-size:22px}label{display:block;font-weight:600;margin:14px 0 6px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:#fff;font:inherit}textarea{min-height:90px}button,.button{display:inline-block;border:0;border-radius:8px;padding:10px 15px;background:var(--green);color:#fff;font-weight:700;cursor:pointer}.layout{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:var(--dark);color:#e2e8f0;padding:22px 16px}.sidebar .brand{color:#fff}.nav a{display:block;color:#cbd5e1;padding:10px 12px;border-radius:7px;margin:3px 0}.nav a:hover,.nav a.active{background:#ffffff18;color:#fff}.main{padding:26px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}.card,.panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px}.metric{font-size:27px;font-weight:800}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--border)}th{font-size:12px;color:var(--muted);text-transform:uppercase}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.actions{display:flex;gap:8px;align-items:center}.button.secondary,button.secondary{background:#fff;color:#334155;border:1px solid #cbd5e1}.button.danger{background:var(--danger)}.alert{padding:10px 12px;border-radius:8px;background:#ecfdf5;color:#067647;margin:12px 0}.alert.error{background:#fef3f2;color:var(--danger)}.badge{display:inline-block;padding:3px 8px;border-radius:99px;background:#ecfdf5;color:#067647;font-size:12px}.badge.gray{background:#f1f5f9;color:#475569}.panel{margin-bottom:18px}.logout{color:#fff}@media(max-width:800px){.layout{display:block}.sidebar{padding:14px}.nav{display:flex;overflow:auto}.nav a{white-space:nowrap}.main{padding:15px}.cards{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:1fr}table{font-size:12px}}
