:root{--bg:#08111f;--bg-soft:#0f1b2d;--bg-card:#111f33;--border:rgba(148,163,184,.18);--text:#e5edf7;--muted:#8fa4bf;--muted-2:#64748b;--primary:#37d5ff;--primary-2:#6ee7b7;--danger:#fb7185;--warning:#fbbf24;--success:#34d399;--shadow:0 20px 60px rgba(0,0,0,.35);--radius:18px;--sidebar-width:278px;--header-height:68px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:radial-gradient(circle at 20% 0%,rgba(55,213,255,.13),transparent 28%),radial-gradient(circle at 95% 10%,rgba(110,231,183,.10),transparent 24%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.text-muted{color:var(--muted)}.text-small{font-size:.86rem}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:.78rem;color:var(--muted);background:rgba(15,23,42,.55);margin-right:6px}.badge.success{color:var(--success);border-color:rgba(52,211,153,.25);background:rgba(52,211,153,.08)}.badge.warning{color:var(--warning);border-color:rgba(251,191,36,.25);background:rgba(251,191,36,.08)}.badge.danger{color:var(--danger);border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.08)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;background:rgba(8,17,31,.86);border-right:1px solid var(--border);backdrop-filter:blur(14px);overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:4px 4px 22px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 0 35px rgba(55,213,255,.25)}.brand-title{display:block;font-size:1rem;font-weight:800;line-height:1.1}.brand-subtitle{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.nav-section{margin-top:14px}.nav-label{color:var(--muted-2);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin:16px 10px 8px}.nav-link{display:flex;align-items:center;gap:10px;color:var(--muted);padding:11px 12px;border-radius:12px;margin-bottom:4px;transition:.18s}.nav-link:hover,.nav-link.active{background:rgba(55,213,255,.10);color:var(--text)}.nav-icon{width:22px;text-align:center}.main{min-width:0}.topbar{height:var(--header-height);border-bottom:1px solid var(--border);background:rgba(8,17,31,.68);backdrop-filter:blur(14px);display:flex;justify-content:space-between;align-items:center;padding:0 28px;position:sticky;top:0;z-index:10}.topbar-user{display:flex;align-items:center;gap:12px}.page{padding:28px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.page-title{margin:0;font-size:1.8rem;letter-spacing:-.03em}.page-subtitle{color:var(--muted);margin-top:8px;max-width:780px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(180deg,rgba(17,31,51,.95),rgba(12,23,39,.95));border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.card-title{font-weight:750;margin-bottom:6px}.card-kpi{font-size:2rem;font-weight:850;letter-spacing:-.05em;margin-top:8px}.toolbar,.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:6px;min-width:180px}.field label{font-size:.78rem;color:var(--muted)}.input,.select,.textarea{background:rgba(15,23,42,.8);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:11px 12px;outline:none}.textarea{min-height:130px;width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.input:focus,.select:focus,.textarea:focus{border-color:rgba(55,213,255,.55);box-shadow:0 0 0 4px rgba(55,213,255,.08)}.btn{border:0;border-radius:12px;padding:11px 14px;color:var(--text);background:rgba(148,163,184,.12);border:1px solid var(--border);cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);background:rgba(148,163,184,.18)}.btn.primary{color:#03131f;background:linear-gradient(135deg,var(--primary),var(--primary-2));border:0;font-weight:750}.btn.danger{color:var(--danger);border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.08)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:rgba(12,23,39,.72)}table{width:100%;border-collapse:collapse;min-width:860px}th,td{padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left;vertical-align:top}th{color:var(--muted);font-size:.78rem;font-weight:700;background:rgba(15,23,42,.72);position:sticky;top:0}td{color:#dbe7f6;font-size:.9rem}.empty-state,.loading-state{padding:28px;text-align:center;color:var(--muted)}.alert{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(15,23,42,.78);color:var(--muted);margin-bottom:16px}.alert.error{color:var(--danger);border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.08)}.alert.success{color:var(--success);border-color:rgba(52,211,153,.25);background:rgba(52,211,153,.08)}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-hero{padding:56px;display:flex;flex-direction:column;justify-content:center}.login-title{font-size:clamp(2.4rem,5vw,4.8rem);line-height:.94;margin:0 0 20px;letter-spacing:-.07em}.login-copy{color:var(--muted);font-size:1.05rem;max-width:660px;line-height:1.7}.login-panel{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:min(430px,100%);background:rgba(17,31,51,.88);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tab{padding:9px 12px;border-radius:999px;background:rgba(148,163,184,.10);color:var(--muted);border:1px solid var(--border);cursor:pointer}.tab.active{color:#03131f;background:linear-gradient(135deg,var(--primary),var(--primary-2));border:0}pre.json{white-space:pre-wrap;word-break:break-word;background:rgba(2,6,23,.55);border:1px solid var(--border);border-radius:14px;padding:14px;color:#dbeafe;max-height:520px;overflow:auto}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.grid.cols-2,.grid.cols-3,.grid.cols-4,.login-page{grid-template-columns:1fr}.topbar{position:static}}