:root{--bg: #f7f7f8;--panel: rgba(255, 255, 255, .72);--panel-solid: #ffffff;--text: #0f1115;--muted: #6b7280;--border: rgba(0, 0, 0, .08);--shadow: 0 12px 32px rgba(0, 0, 0, .08);--accent: #22c55e;--danger: #ef4444}:root[data-theme=dark]{--bg: #0b0c0f;--panel: rgba(18, 18, 22, .66);--panel-solid: #121216;--text: #f3f4f6;--muted: #9ca3af;--border: rgba(255, 255, 255, .1);--shadow: 0 14px 36px rgba(0, 0, 0, .5);--accent: #22c55e;--danger: #ef4444}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 0% 0%,rgba(34,197,94,.1),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(59,130,246,.08),transparent 60%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}a{color:inherit;text-decoration:none}.card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.appShell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{padding:18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:16px}.brand{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--panel);border:1px solid var(--border)}.logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--accent),rgba(34,197,94,.35));box-shadow:0 10px 20px #22c55e26}.brandName{font-weight:700;letter-spacing:.2px}.brandSub{font-size:12px;color:var(--muted);margin-top:2px}.nav{display:flex;flex-direction:column;gap:8px}.navItem{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid transparent;color:var(--muted)}.navItem:hover{background:#7f7f7f14;color:var(--text)}.navItem.active{background:#22c55e1f;border-color:#22c55e47;color:var(--text)}.navDot{width:10px;height:10px;border-radius:999px;background:#7f7f7f59}.navItem.active .navDot{background:var(--accent)}.sidebarFooter{margin-top:auto;display:grid;gap:10px}.themeBox{display:flex}.select{width:100%;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text)}.btn{width:100%;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}.btn:hover{background:#7f7f7f14}.main{padding:18px 18px 24px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;background:var(--panel);border:1px solid var(--border)}.topbarTitle{font-weight:700}.chip{font-size:12px;padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:#7f7f7f14;color:var(--text)}.content{margin-top:16px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kpi{padding:16px}.kpiLabel{color:var(--muted);font-size:13px}.kpiValue{font-size:26px;font-weight:800;margin-top:8px}.tableWrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.table th{color:var(--muted);font-weight:600}.rowActions{display:flex;gap:8px}.smallBtn{padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:#7f7f7f14;color:var(--text);cursor:pointer;font-size:12px}.smallBtn:hover{background:#7f7f7f24}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.badge.ok{background:#22c55e1f;border-color:#22c55e47}.badge.warn{background:#eab3081f;border-color:#eab30847}.badge.bad{background:#ef44441f;border-color:#ef444447}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.input{width:100%;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--panel-solid);color:var(--text)}:root[data-theme=dark] .input{background:#0c0c0ecc}.sectionTitle{font-size:16px;font-weight:800;margin:0 0 10px}.help{color:var(--muted);font-size:12px}@media(max-width:980px){.appShell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}}
