:root{--bg:#0b1220;--bg-elevated:#111827;--bg-soft:#0f172a;--panel:#111827e0;--text:#e5e7eb;--text-soft:#cbd5e1;--text-muted:#94a3b8;--border:#1f2937;--border-soft:#94a3b81f;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#2563eb24;--success:#4ade80;--success-soft:#22c55e26;--warning:#facc15;--warning-soft:#facc1526;--danger:#f87171;--danger-soft:#ef444426;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--shadow-sm:0 8px 20px #0000002e;--shadow-md:0 14px 30px #00000038;--shadow-lg:0 18px 40px #00000042;--space-1:6px;--space-2:10px;--space-3:14px;--space-4:18px;--space-5:24px;--space-6:32px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top left, #2563eb14, transparent 30%), radial-gradient(circle at top right, #3b82f60f, transparent 22%), var(--bg);min-width:320px;color:var(--text);margin:0;font-family:Inter,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}strong{color:var(--text)}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);padding:var(--space-5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ae6}.brand{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.brand-title{letter-spacing:.2px;font-size:24px;font-weight:800}.brand-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px}.nav{flex-direction:column;gap:10px;display:flex}.nav-link{color:var(--text-soft);border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;transition:background .2s,border-color .2s,transform .15s;display:flex}.nav-link:hover{border-color:var(--border-soft);background:#94a3b814;transform:translateY(-1px)}.nav-link.active{background:var(--accent-soft);color:#fff;border-color:#2563eb47}.content{padding:28px}.page{gap:22px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-title{margin:0;font-size:32px;font-weight:800}.page-subtitle{color:var(--text-muted);margin:8px 0 0}.page-actions{align-items:center;gap:10px;display:flex}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.content{padding:20px}.page-header{flex-direction:column}}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:18px}.card-hover{transition:transform .16s,border-color .2s,box-shadow .2s}.card-hover:hover{box-shadow:var(--shadow-md);border-color:#2563eb3d;transform:translateY(-2px)}.card-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card h2{margin:0;font-size:20px}.meta{color:var(--text-soft);gap:8px;display:grid}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;gap:8px;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-dot{border-radius:999px;width:8px;height:8px;display:inline-block}.status-online,.status-resolved{background:var(--success-soft);color:var(--success)}.status-online .status-dot,.status-resolved .status-dot{background:var(--success)}.status-offline,.status-open{background:var(--danger-soft);color:var(--danger)}.status-offline .status-dot,.status-open .status-dot{background:var(--danger)}.status-unknown,.status-already_open{background:var(--warning-soft);color:var(--warning)}.status-unknown .status-dot,.status-already_open .status-dot{background:var(--warning)}.stat-label{color:var(--text-muted);margin-bottom:8px;font-size:14px}.stat-value{font-size:30px;font-weight:800;line-height:1}.state-box{gap:8px;display:grid}.state-title{margin:0;font-size:18px;font-weight:700}.state-text{color:var(--text-soft);margin:0}.error{color:#fecaca;border-color:#ef444459}.button{border:1px solid var(--border);color:var(--text);background:#94a3b80f;border-radius:12px;padding:10px 14px;transition:background .2s,border-color .2s}.button:hover{background:#94a3b81f}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.section-stack{gap:16px;display:grid}.muted{color:var(--text-muted)}
