:root{--bg:#14161a;--bg-alt:#1c1f26;--card:#20242c;--card-2:#252a33;--border:#2e333d;--orange:#ff7a1a;--orange-soft:#ffb26b;--orange-dim:#ff7a1a1f;--text:#eceef1;--text-dim:#9aa1ad;--green:#4caf7d;--red:#ff5d5d;--yellow:#e8c547;--blue:#5b9bd5;--font:"Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0}a{color:inherit}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:20px 14px;display:flex}.sidebar .brand{align-items:center;gap:10px;padding:6px 10px 22px;display:flex}.sidebar .brand .dot{background:var(--orange);width:12px;height:12px;box-shadow:0 0 12px var(--orange);border-radius:50%}.sidebar .brand span{letter-spacing:.4px;font-weight:700}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar a.nav-link{color:var(--text-dim);border-radius:8px;padding:9px 12px;font-size:14px;text-decoration:none;display:block}.sidebar a.nav-link:hover{background:var(--card);color:var(--text)}.sidebar a.nav-link.active{background:var(--orange-dim);color:var(--orange-soft);font-weight:600}.main{padding:28px 34px;overflow-y:auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.topbar h1{margin:0;font-size:20px}.topbar .user-chip{background:var(--card);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;align-items:center;gap:10px;padding:6px 12px;font-size:13px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px}.grid{gap:16px;display:grid}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media (width<=1100px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}.kpi-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:12px}.kpi-value{font-size:28px;font-weight:700}.kpi-value.orange{color:var(--orange-soft)}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);padding:12px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--card-2)}.pill{border:1px solid;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.pill-green{color:var(--green);background:#4caf7d1a;border-color:#4caf7d66}.pill-red{color:var(--red);background:#ff5d5d1a;border-color:#ff5d5d66}.pill-yellow{color:var(--yellow);background:#e8c5471a;border-color:#e8c54766}.pill-blue{color:var(--blue);background:#5b9bd51a;border-color:#5b9bd566}.pill-dim{color:var(--text-dim);border-color:var(--border);background:var(--card-2)}button.btn{background:var(--orange);color:#1a1002;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700}button.btn:hover{background:var(--orange-soft)}button.btn:disabled{opacity:.5;cursor:not-allowed}button.btn-ghost{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:9px 16px}input,select,textarea{background:var(--bg-alt);border:1px solid var(--border);color:var(--text);font-family:var(--font);border-radius:8px;width:100%;padding:10px 12px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--orange);outline:none}label{color:var(--text-dim);margin-bottom:6px;font-size:13px;display:block}.login-page{background:radial-gradient(circle at 20% 20%, var(--orange-dim), transparent 40%), radial-gradient(circle at 80% 80%, #ff7a1a14, transparent 40%), var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:380px}.error-text{color:var(--red);margin-top:8px;font-size:13px}.empty-state{color:var(--text-dim);text-align:center;padding:40px 0}.section-title{margin:0 0 14px;font-size:15px;font-weight:600}
