@tailwind base;@tailwind components;@tailwind utilities;:root{--bg: #000000;--bg2: #050505;--surface: #0a0a0a;--surface2: #111111;--surface3: #1a1a1a;--surface4: #222222;--sidebar-w: 230px;--green: #10b981;--green-bright: #34d399;--green-dim: rgba(16,185,129,.1);--green-border: rgba(16,185,129,.25);--green-glow: rgba(16,185,129,.2);--cyan: #22d3ee;--cyan-dim: rgba(34,211,238,.1);--violet: #a78bfa;--violet-dim: rgba(167,139,250,.1);--amber: #fbbf24;--amber-dim: rgba(251,191,36,.1);--red: #fb7185;--red-dim: rgba(251,113,133,.1);--text: #ffffff;--text-2: #a1a1aa;--text-muted: #52525b;--text-dim: #27272a;--border: rgba(255,255,255,.06);--border2: rgba(255,255,255,.1);--border3: rgba(255,255,255,.16);--shadow-sm: 0 1px 3px rgba(0,0,0,.5);--shadow: 0 4px 20px rgba(0,0,0,.6);--shadow-lg: 0 12px 40px rgba(0,0,0,.7);--shadow-xl: 0 24px 60px rgba(0,0,0,.8)}*{box-sizing:border-box}html{background:#000!important;color-scheme:dark}body{background:#000!important;color:var(--text);font-family:Inter,-apple-system,sans-serif;font-weight:400;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:-30%;left:50%;transform:translate(-50%);width:80vw;height:50vh;background:radial-gradient(ellipse,rgba(16,185,129,.04) 0%,transparent 65%);pointer-events:none;z-index:0}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.app-shell{display:flex;min-height:100vh;background:#000;position:relative;z-index:1}.sidebar{width:var(--sidebar-w);height:100vh;background:#000;border-right:1px solid var(--border2);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:30;overflow:hidden}.sidebar-logo{padding:20px 20px 18px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-nav{flex:1;padding:10px;display:flex;flex-direction:column;gap:1px;overflow-y:auto;overflow-x:hidden;min-height:0}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-2);text-decoration:none;transition:all .15s;border:1px solid transparent;position:relative;letter-spacing:-.01em}.nav-item:hover{background:var(--surface2);color:#fff;border-color:var(--border)}.nav-item.active{background:var(--green-dim);color:#fff;border-color:var(--green-border);font-weight:600}.nav-item.active svg{color:var(--green)}.nav-item.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--green);border-radius:0 3px 3px 0;box-shadow:0 0 16px var(--green-glow)}.nav-item.accent.active{background:var(--green-dim);border-color:var(--green-border)}.nav-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);padding:10px 12px 4px;flex-shrink:0}.sidebar-bottom{padding:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.main-area{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh;background:transparent;position:relative;z-index:1}.topbar{background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border2);padding:0 28px;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.page-content{padding:28px 30px;flex:1}.card{background:var(--surface);border:1px solid var(--border2);border-radius:14px;padding:22px;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.card:hover{border-color:var(--border3);box-shadow:0 0 30px #10b9810a}.card-sm{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.stat-card{background:var(--surface);border:1px solid var(--border2);border-radius:14px;padding:22px;position:relative;overflow:hidden;transition:all .22s;min-height:130px}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.stat-card:hover{transform:translateY(-3px);border-color:var(--border3);box-shadow:var(--shadow-lg)}.stat-card .stripe{position:absolute;top:0;left:0;right:0;height:1.5px}.stat-card.cyan-c .stripe{background:var(--cyan);box-shadow:0 0 12px #22d3ee80}.stat-card.green-c .stripe{background:var(--green);box-shadow:0 0 12px #10b98180}.stat-card.violet-c .stripe{background:var(--violet);box-shadow:0 0 12px #a78bfa80}.stat-card.amber-c .stripe{background:var(--amber);box-shadow:0 0 12px #fbbf2480}.icon-box{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:1px solid}.icon-box.cyan{background:var(--cyan-dim);border-color:#22d3ee33}.icon-box.green{background:var(--green-dim);border-color:var(--green-border)}.icon-box.violet{background:var(--violet-dim);border-color:#a78bfa33}.icon-box.amber{background:var(--amber-dim);border-color:#fbbf2433}.btn-primary{background:var(--green);color:#000;font-weight:700;font-size:13px;padding:9px 18px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .18s;white-space:nowrap;font-family:Inter,sans-serif;letter-spacing:-.01em;box-shadow:0 0 20px var(--green-glow)}.btn-primary:hover{background:var(--green-bright);box-shadow:0 0 30px #10b98159;transform:translateY(-1px)}.btn-secondary{background:var(--surface2);color:var(--text-2);font-weight:500;font-size:13px;padding:9px 18px;border-radius:8px;border:1px solid var(--border2);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .15s;white-space:nowrap;font-family:Inter,sans-serif}.btn-secondary:hover{background:var(--surface3);border-color:var(--border3);color:var(--text)}.btn-danger{background:var(--red-dim);color:var(--red);font-weight:500;font-size:12px;padding:7px 12px;border-radius:7px;border:1px solid rgba(251,113,133,.2);cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s;font-family:Inter,sans-serif}.btn-danger:hover{background:#fb71852e}.btn-ghost{background:transparent;color:var(--text-muted);font-size:12px;padding:6px 10px;border-radius:7px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .13s;font-family:Inter,sans-serif}.btn-ghost:hover{background:var(--surface2);color:var(--text-2);border-color:var(--border)}.btn-green{background:var(--green);color:#000;font-weight:700;font-size:13px;padding:9px 18px;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .18s;font-family:Inter,sans-serif;box-shadow:0 0 20px var(--green-glow)}.btn-green:hover{background:var(--green-bright);box-shadow:0 0 30px #10b98159;transform:translateY(-1px)}.input{background:var(--surface2);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:13.5px;padding:9px 13px;width:100%;font-family:Inter,sans-serif;transition:all .18s;outline:none}.input:focus{border-color:var(--green-border);box-shadow:0 0 0 3px var(--green-dim);background:var(--surface3)}.input::placeholder{color:var(--text-dim)}select.input{cursor:pointer}select.input option{background:var(--surface2);color:var(--text)}.label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:6px}.table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--border2);background:var(--surface);position:relative}.table-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{background:var(--surface2);color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:12px 16px;text-align:left;border-bottom:1px solid var(--border2);position:relative;z-index:1}tbody td{padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text);transition:background .1s;position:relative;z-index:1}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface2)}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.badge-green{background:var(--green-dim);color:var(--green-bright);border:1px solid var(--green-border)}.badge-red{background:var(--red-dim);color:var(--red);border:1px solid rgba(251,113,133,.2)}.badge-amber{background:var(--amber-dim);color:var(--amber);border:1px solid rgba(251,191,36,.2)}.badge-blue{background:var(--cyan-dim);color:var(--cyan);border:1px solid rgba(34,211,238,.2)}.badge-violet{background:var(--violet-dim);color:var(--violet);border:1px solid rgba(167,139,250,.2)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--border2);position:relative}.page-header:after{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:1.5px;background:var(--green);border-radius:2px;box-shadow:0 0 12px var(--green-glow)}.page-title{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.page-subtitle{font-size:13px;color:var(--text-muted);margin-top:4px;font-weight:400}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:28px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl),0 0 60px #10b9810d;position:relative;animation:modalIn .2s ease-out}.modal:before{content:"";position:absolute;top:0;left:15%;right:15%;height:1.5px;background:var(--green);box-shadow:0 0 12px var(--green-glow)}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-lg{max-width:780px}.modal-title{font-size:16px;font-weight:700;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;letter-spacing:-.02em;color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1 / -1}.divider{height:1px;background:var(--border);margin:20px 0}.search-bar{background:var(--surface2);border:1px solid var(--border2);border-radius:8px;padding:8px 13px;display:flex;align-items:center;gap:8px;min-width:220px;transition:border-color .15s}.search-bar:focus-within{border-color:var(--green-border);box-shadow:0 0 0 3px var(--green-dim)}.search-bar input{background:transparent;border:none;outline:none;color:#fff;font-size:13px;width:100%;font-family:Inter,sans-serif}.search-bar input::placeholder{color:var(--text-dim)}.mono{font-family:JetBrains Mono,monospace}.tag{display:inline-flex;align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:20px;font-size:11px;color:var(--text-muted);padding:2px 9px}.empty-state{text-align:center;padding:52px 20px;color:var(--text-muted)}.dot-live{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green-glow);display:inline-block;animation:pulse 2.5s infinite}.dot-warn{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 5px #fbbf2480;display:inline-block}.dot-dead{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 5px #fb718580;display:inline-block}.pulse{animation:pulse 2.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.shimmer{background:linear-gradient(90deg,var(--surface) 25%,var(--surface2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeUp .35s ease-out both}.fade-in-1{animation:fadeUp .35s ease-out .05s both}.fade-in-2{animation:fadeUp .35s ease-out .1s both}.fade-in-3{animation:fadeUp .35s ease-out .15s both}.fade-in-4{animation:fadeUp .35s ease-out .2s both}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:25;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:30}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay.active{display:block}.main-area{margin-left:0!important}.topbar{padding:0 14px;height:52px}.page-content{padding:16px 14px}.page-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:16px}.page-header>div:last-child{width:100%}.page-title{font-size:18px}.search-bar{min-width:unset;width:100%}.stat-card{padding:16px 14px;min-height:130px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px}.overlay{padding:0;align-items:flex-end}.modal{max-width:100%;width:100%;border-radius:20px 20px 0 0;max-height:92vh;padding:20px 16px}.modal-lg{max-width:100%}.form-grid{grid-template-columns:1fr!important}.form-grid .full{grid-column:1}.page-header .btn-primary,.page-header .btn-secondary{width:100%;justify-content:center}.topbar .search-bar{display:none}.card{padding:14px}.card-sm{padding:10px 12px}}
