:root{--bg:#f3f6fb;--surface:#fff;--surface2:#f8fafc;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#2563eb;--primary2:#1d4ed8;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--violet:#7c3aed;--shadow:0 14px 38px rgba(15,23,42,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;color:var(--text);background:var(--bg)}a{color:var(--primary)}.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}aside{background:linear-gradient(180deg,#0f172a,#111827);color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px}.brand b{font-size:16px}.brand small{display:block;color:#94a3b8;margin-top:4px}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#60a5fa);display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(37,99,235,.35)}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#64748b;margin:14px 12px 7px}nav{display:flex;flex-direction:column;gap:5px}nav a,.navbtn{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:12px;color:#cbd5e1;text-decoration:none;background:none;border:0;text-align:left;width:100%;font:inherit;cursor:pointer;font-weight:600}nav a:hover,nav a.active,.navbtn:hover{background:rgba(255,255,255,.08);color:#fff}.side-profile{margin-top:auto;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.06);padding:12px;border-radius:14px}.side-profile b{display:block;font-size:12px}.side-profile small{color:#94a3b8}.avatar{width:38px;height:38px;border-radius:50%;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:800}.smallav{width:32px;height:32px;font-size:10px;flex:0 0 32px}main{min-width:0}header{height:78px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:5}header h2{margin:0;font-size:21px}header p{margin:4px 0 0;color:var(--muted);font-size:12px}.userchip{background:#eff6ff;color:#1d4ed8;padding:10px 13px;border-radius:13px;font-size:12px;font-weight:700}.content{padding:28px 30px 44px}.hero{background:radial-gradient(circle at 100% 0,rgba(255,255,255,.18),transparent 34%),linear-gradient(135deg,#1e3a8a,#2563eb 58%,#60a5fa);color:#fff;padding:30px;border-radius:24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 20px 48px rgba(37,99,235,.23);margin-bottom:20px}.hero h1{margin:6px 0 8px;font-size:30px}.hero p{margin:0;color:#dbeafe}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:#bfdbfe}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.stat{padding:18px;display:flex;gap:14px;align-items:center}.stat b{font-size:27px;display:block}.stat span{font-size:12px;color:var(--muted)}.stat-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:20px}.blue{background:#eff6ff}.green{background:#ecfdf5}.amber{background:#fffbeb}.violet{background:#f5f3ff}.pad{padding:21px}.grid2{display:grid;grid-template-columns:1.35fr .9fr;gap:18px}.grid2.lower{margin-top:18px;grid-template-columns:1.25fr .75fr}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.section-head h3{margin:0;font-size:16px}.section-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.statusgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.statusgrid>div{background:var(--surface2);border:1px solid var(--line);padding:14px;border-radius:14px}.statusgrid small{color:var(--muted);display:block}.statusgrid b{display:block;margin-top:5px}.chartbox{height:235px}.empty{text-align:center;padding:42px 20px}.empty-icon{width:54px;height:54px;border-radius:18px;background:#eff6ff;color:#2563eb;display:grid;place-items:center;margin:0 auto 12px;font-size:24px}.empty h4{margin:0 0 7px}.empty p{margin:0;color:var(--muted)}.quickgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.quickgrid a{text-decoration:none;color:var(--text);background:var(--surface2);border:1px solid var(--line);padding:15px;border-radius:14px;display:flex;flex-direction:column;gap:5px}.quickgrid a:hover{border-color:#93c5fd;box-shadow:0 8px 20px rgba(37,99,235,.08)}.quickgrid span{font-size:20px}.quickgrid b{font-size:12px}.quickgrid small{color:var(--muted)}.page-grid{display:grid;grid-template-columns:360px 1fr;gap:18px}.sticky-card{position:sticky;top:102px;align-self:start}.formgrid{display:grid;gap:13px}.formgrid label{font-size:12px;font-weight:700}.formgrid input,.formgrid textarea,.formgrid select,.reviewform input,.reviewform select,.login-card input{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:11px 12px;font:inherit;background:#fff}.formgrid input:focus,.formgrid textarea:focus,.formgrid select:focus{outline:3px solid #dbeafe;border-color:#60a5fa}.formgrid textarea{min-height:100px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto;margin:0}.btn{border:0;border-radius:11px;padding:11px 15px;font-weight:800;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--primary);color:#fff}.success{background:var(--success);color:#fff}.warning{background:var(--warning);color:#fff}.light{background:#fff;color:var(--primary)}.small{padding:8px 10px;font-size:11px}.full{width:100%;margin-top:6px}.inline{display:inline-block;text-decoration:none;margin-top:14px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #eef2f7;font-size:12px;vertical-align:middle}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.person{display:flex;align-items:center;gap:9px}.person b{display:block}.person small,td small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-flex;background:#eff6ff;color:#1d4ed8;padding:6px 9px;border-radius:999px;font-weight:700;font-size:10px}.statusdot{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.statusdot:before{content:"";width:8px;height:8px;border-radius:50%}.statusdot.on{color:#15803d}.statusdot.on:before{background:#22c55e}.statusdot.off{color:#b91c1c}.statusdot.off:before{background:#ef4444}.actions{display:flex;gap:10px;align-items:center}.iconlink,.textbtn{font-size:11px;background:none;border:0;color:var(--primary);cursor:pointer;text-decoration:none;padding:0}.textbtn.danger{color:var(--danger)}.reviewform{display:grid;grid-template-columns:135px 1fr auto auto;gap:7px}.reviewform input,.reviewform select{margin:0}.table-scroll{overflow:auto}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.alert.success{background:#ecfdf5;color:#166534}.alert.danger{background:#fef2f2;color:#991b1b}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#1d4ed8,transparent 40%),linear-gradient(135deg,#0f172a,#1e293b)}.login-card{width:min(430px,92vw);background:#fff;border-radius:24px;padding:31px;box-shadow:0 28px 70px rgba(0,0,0,.28)}.login-card .logo{margin:auto}.login-card h1{text-align:center;margin:15px 0 5px}.login-card p{text-align:center;color:var(--muted);margin:0 0 18px}.login-card label{display:block;font-size:12px;font-weight:700;margin-top:14px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid2,.grid2.lower,.page-grid{grid-template-columns:1fr}.sticky-card{position:static}.reviewform{grid-template-columns:1fr}.quickgrid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.app{grid-template-columns:1fr}aside{position:relative;height:auto}.content{padding:18px 14px 34px}header{padding:0 16px}.hero{flex-direction:column;align-items:flex-start;gap:18px}.statusgrid{grid-template-columns:repeat(2,1fr)}.quickgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.stats{grid-template-columns:1fr}.two{grid-template-columns:1fr}.quickgrid{grid-template-columns:1fr}}