@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap";:root{font-family:Poppins,system-ui,sans-serif;line-height:1.5;font-weight:400}body{margin:0}#root{min-height:100vh}svg{display:block}:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Poppins,system-ui,sans-serif;background:radial-gradient(circle at top left,#12fff7,#0ea5e9 35%,#0b1020);color:#e7f9ff}.page-shell{min-height:100vh;padding:32px 6vw 72px;display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}.login-shell{align-items:center;justify-content:center}.dashboard-shell{padding-top:24px}.glow{position:absolute;width:520px;height:520px;background:radial-gradient(circle,#12fff773,#12fff700);top:-180px;right:-140px;filter:blur(12px);opacity:.9}.grid-glow{position:absolute;inset:-30% 0 0;background:linear-gradient(130deg,#12fff72e,#09142633);mix-blend-mode:screen;pointer-events:none;animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.7}50%{opacity:.35}}.glass{background:#0814269e;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 40px #02081759;border-radius:20px}.loading{padding:18px 28px}.topbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:18px 24px;gap:16px}.brand{display:flex;align-items:center;gap:16px}.logo{width:52px;height:52px;border-radius:16px;background:linear-gradient(120deg,#12fff7,#38bdf8);display:grid;place-items:center;color:#0b1020;font-weight:700;font-size:18px}.eyebrow{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#e2f7ffb3}.topbar h2{margin:6px 0 0;font-size:26px}.topbar-actions{display:flex;align-items:center;gap:12px}.nav-tabs{display:flex;gap:10px;flex-wrap:wrap}.tab-btn{border:none;border-radius:999px;padding:8px 16px;font-weight:600;font-family:inherit;cursor:pointer;background:#ffffff14;color:#e2f7ff;display:inline-flex;align-items:center;gap:8px;transition:background .2s ease,transform .2s ease}.tab-btn svg{width:16px;height:16px;fill:currentColor}.tab-btn.active{background:linear-gradient(120deg,#12fff799,#38bdf873);color:#0b1020}.tab-btn:hover{transform:translateY(-1px)}.user-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#ffffff1f;font-size:13px}.user-pill svg{width:16px;height:16px;fill:currentColor}.user-pill .role{opacity:.7;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.content-grid{display:flex;flex-direction:column;gap:20px}.section-card{padding:20px;display:flex;flex-direction:column;gap:18px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-header h3{margin:0;font-size:20px}.section-header p{margin:6px 0 0;opacity:.7;font-size:13px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.stat-card{padding:16px 18px;display:flex;gap:12px;align-items:center}.stat-card strong{font-size:24px}.stat-card p{margin:0;opacity:.7}.stat-card.accent{background:linear-gradient(120deg,#12fff74d,#0f172aa6)}.stat-icon{width:38px;height:38px;border-radius:12px;background:#ffffff2e;display:grid;place-items:center}.stat-icon svg{width:18px;height:18px;fill:currentColor}.filters{padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;background:#ffffff0d;border-radius:16px}.field{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff14;border-radius:14px}.field input,.field select{width:100%;background:transparent;border:none;outline:none;color:#e2f7ff;font-size:13px;font-family:inherit}.field input::placeholder{color:#e2f7ff99}.field .icon svg{width:16px;height:16px;fill:#e2f7ffb3}.table-card{padding:0}.table-wrapper{overflow:auto;max-height:520px}table{width:100%;border-collapse:collapse;min-width:860px;color:#e2f7ff}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px}th{position:sticky;top:0;background:#0a192de6}.status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.status.online{background:#00ffbe33;color:#00ffd1}.status.offline{background:#ff727233;color:#ff8c8c}.toggle{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#e2f7ff;border-radius:999px;padding:6px 12px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.toggle.on{background:#12fff733;color:#0bf2e5}.toggle.off{background:#ff7e7e33;color:#ff9c9c}.row-actions{display:flex;gap:8px}button{border:none;border-radius:999px;padding:10px 18px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button.primary{background:linear-gradient(120deg,#12fff7,#38bdf8);color:#0b1020}button.primary.btn-sm{padding:8px 14px;font-size:12px}button.primary.danger{background:linear-gradient(120deg,#ff7a7a,#f97316);color:#1f2937}button.ghost{background:#ffffff1a;color:#e2f7ff;border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;gap:8px;font-size:12px}button.ghost svg{width:14px;height:14px;fill:currentColor}button.ghost.danger{color:#ff9c9c;border-color:#ff9c9c66}.login-card{width:min(420px,90vw);padding:28px;display:flex;flex-direction:column;gap:22px}.login-title{display:flex;align-items:center;gap:16px}.login-title h1{margin:0}.login-title p{margin:4px 0 0;opacity:.7}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label{display:flex;flex-direction:column;gap:8px;font-size:13px}.input-wrap{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#ffffff14}.input-wrap input{border:none;background:transparent;outline:none;color:#e2f7ff;width:100%}.input-wrap .icon svg{width:16px;height:16px;fill:#e2f7ffb3}.error{background:#ff4c4c33;border:1px solid rgba(255,76,76,.4);color:#ff9c9c;padding:10px 12px;border-radius:12px;font-size:13px}.login-note{display:flex;align-items:center;gap:8px;font-size:12px;opacity:.7}.login-note svg{width:14px;height:14px;fill:currentColor}.health-card{display:flex;flex-direction:column;gap:4px}.health-card h3{margin:0;font-size:13px}.health{font-weight:600;font-size:12px}.health.ok{color:#00ffd1}.health.degraded{color:#ffe48a}.health.error{color:#ff8c8c}.health.loading{color:#ffe48a}.empty{text-align:center;padding:20px 0;opacity:.7}.action-trail{padding:18px;display:flex;flex-direction:column;gap:14px;height:fit-content}.action-trail.inline{padding:14px;margin-top:16px}.section-title{display:flex;align-items:center;gap:12px}.section-title h4{margin:0}.section-title p{margin:4px 0 0;opacity:.6;font-size:12px}.icon-box{width:36px;height:36px;border-radius:12px;background:#ffffff1f;display:grid;place-items:center}.icon-box svg{width:18px;height:18px;fill:currentColor}.trail-list{display:flex;flex-direction:column;gap:10px}.trail-item{padding:10px 12px;border-radius:12px;background:#ffffff0f;display:flex;flex-direction:column;gap:4px;font-size:12px}.trail-item.success{border:1px solid rgba(18,255,247,.2)}.trail-item.error{border:1px solid rgba(255,156,156,.3)}.trail-message{font-weight:600}.trail-time{opacity:.6;font-size:11px}.modal-backdrop{position:fixed;inset:0;background:#060c1899;display:grid;place-items:center;z-index:50;padding:24px}.modal{width:min(520px,94vw);padding:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3{margin:0}.modal-body{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px}.form-grid input,.form-grid select{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#e2f7ff;font-family:inherit}.form-grid input:disabled{opacity:.6}.checkbox{align-items:center;flex-direction:row;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.confirm-body{align-items:center;text-align:center}.diff-box{width:100%;margin-top:12px;display:grid;gap:8px;text-align:left}.diff-row{display:grid;grid-template-columns:120px 1fr 24px 1fr;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffff0f;font-size:12px}.diff-key{font-weight:600;color:#b8f4ff}.diff-before{color:#fbbf24}.diff-after{color:#12fff7}.diff-arrow{text-align:center;opacity:.7}.confirm-icon{width:52px;height:52px;border-radius:16px;background:#ff9c9c33;display:grid;place-items:center;margin:0 auto}.confirm-icon svg{width:24px;height:24px;fill:#ff9c9c}@media(max-width:1024px){.content-grid{flex-direction:column}}@media(max-width:900px){.page-shell{padding:20px 5vw 48px;gap:18px}.topbar{flex-direction:column;align-items:flex-start;padding:16px 18px}.nav-tabs{width:100%}.tab-btn{padding:8px 12px;font-size:12px}.section-card{padding:16px}.stats-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}table{min-width:680px}.modal{padding:16px}}@media(max-width:640px){.page-shell{padding:16px 4vw 40px;gap:16px}.topbar{padding:14px}.logo{width:44px;height:44px;border-radius:14px;font-size:16px}.topbar h2{font-size:22px}.user-pill{padding:6px 10px;font-size:12px}.section-header{flex-direction:column;align-items:flex-start}.filters{padding:10px;grid-template-columns:1fr}.field{padding:8px 10px}.stats-row{grid-template-columns:1fr 1fr}.stat-card{padding:12px 14px}.table-wrapper{max-height:420px}.table-wrapper{overflow:visible}table{min-width:100%}table thead{display:none}table tbody{display:grid;gap:12px}table tr{display:grid;gap:6px;padding:12px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}table td{border:none;padding:6px 0;display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;font-size:12px}table td:before{content:attr(data-label);font-weight:600;color:#b8f4ff}.row-actions{flex-wrap:wrap}.toggle{justify-content:flex-start}.modal{padding:14px}.form-grid{grid-template-columns:1fr}.diff-row{grid-template-columns:90px 1fr;grid-template-areas:"key key" "before after"}.diff-key{grid-area:key}.diff-before{grid-area:before}.diff-after{grid-area:after}.diff-arrow{display:none}}
