:root{--cream:#f1efe4;--cream-dark:#e7e4d4;--surface:#fffefa;--ink:#1f1f1a;--ink-soft:#5d5c52;--ink-faint:#8f8d7e;--line:#e3e0d0;--yellow:#ffe450;--yellow-soft:#fff4b8;--green:#58b75e;--green-soft:#dff2df;--red:#d9483f;--red-soft:#fbe0dd;--orange:#e8913a;--orange-soft:#fcebd5;--blue:#4f86c6;--blue-soft:#dfeaf7;--sidebar-w:248px;--header-h:64px;--radius:16px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,p{margin:0}.login-wrap{grid-template-columns:1.1fr 1fr;min-height:100%;display:grid}.login-hero{background:var(--yellow);flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.login-hero .big-logo{opacity:.12;width:420px;position:absolute;bottom:-40px;right:-60px}.login-hero h1{letter-spacing:-.5px;max-width:460px;font-size:44px;font-weight:900;line-height:1.08}.login-hero p{color:#3b3a2e;max-width:420px;margin-top:16px;font-size:17px;font-weight:600}.login-hero .stats{gap:36px;display:flex}.login-hero .stats b{font-size:26px;font-weight:900;display:block}.login-hero .stats span{color:#4b4a3a;text-transform:uppercase;letter-spacing:.6px;font-size:12px;font-weight:700}.login-panel{place-items:center;padding:32px;display:grid}.login-card{width:100%;max-width:400px}.login-card h2{margin-bottom:6px;font-size:28px;font-weight:900}.login-card .sub{color:var(--ink-soft);margin-bottom:26px;font-weight:600}.brand{align-items:center;gap:12px;display:flex}.brand img{height:34px}.brand .word{letter-spacing:-.3px;font-size:22px;font-weight:900}.brand .tag{letter-spacing:.8px;text-transform:uppercase;background:var(--ink);color:var(--yellow);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.field{margin-bottom:16px}.field label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.input{border:1.5px solid var(--line);background:var(--surface);width:100%;height:46px;color:var(--ink);border-radius:12px;outline:none;padding:0 14px;font-weight:600;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--yellow)}.code-row{gap:10px;display:flex}.code-row input{text-align:center;letter-spacing:6px;font-size:22px;font-weight:800}.divider{color:var(--ink-faint);align-items:center;gap:12px;margin:20px 0;font-size:12px;font-weight:700;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.login-foot{color:var(--ink-faint);text-align:center;margin-top:28px;font-size:12px;font-weight:600}.btn{border:1.5px solid var(--ink);background:var(--surface);height:38px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:800;transition:transform 80ms,background .15s;display:inline-flex}.btn:hover{background:var(--cream)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--ink);color:var(--yellow)}.btn.primary:hover{background:#33332a}.btn.yellow{background:var(--yellow)}.btn.yellow:hover{background:#ffdc2e}.btn.danger{border-color:var(--red);color:var(--red);background:var(--surface)}.btn.danger:hover{background:var(--red-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--cream-dark)}.btn.sm{height:30px;padding:0 12px;font-size:12px}.btn.block{width:100%;height:46px;font-size:15px}.icon-btn{width:40px;height:40px;color:var(--ink);background:0 0;border:none;border-radius:12px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--cream-dark)}.dot{background:var(--red);border:2px solid var(--surface);border-radius:50%;width:9px;height:9px;position:absolute;top:9px;right:10px}.shell{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--header-h) 1fr;height:100%;display:grid}.shell.collapsed{--sidebar-w:76px}.sidebar{background:var(--ink);color:#e9e7d6;flex-direction:column;grid-row:1/3;padding:0 12px 16px;transition:width .2s;display:flex;overflow-y:auto}.sidebar .brand{height:var(--header-h);flex-shrink:0;padding:0 8px}.sidebar .brand .word{color:var(--cream);font-size:19px}.sidebar .brand .tag{background:var(--yellow);color:var(--ink)}.nav-group{margin-top:18px}.nav-title{letter-spacing:1px;text-transform:uppercase;color:#8d8b78;padding:0 12px 8px;font-size:10.5px;font-weight:800}.nav-link{color:#cfcdb8;white-space:nowrap;border-radius:12px;align-items:center;gap:12px;margin-bottom:2px;padding:10px 12px;font-weight:700;display:flex}.nav-link:hover{color:#fff;background:#2c2c25}.nav-link.active{background:var(--yellow);color:var(--ink)}.nav-link .badge-count{background:var(--red);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:800}.nav-link.active .badge-count{background:var(--ink);color:var(--yellow)}.nav-link .new{background:var(--green);color:#0d2a10;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:900}.shell.collapsed .nav-link span,.shell.collapsed .nav-title,.shell.collapsed .brand .word,.shell.collapsed .brand .tag,.shell.collapsed .nav-link .badge-count,.shell.collapsed .nav-link .new,.shell.collapsed .side-foot{display:none}.shell.collapsed .nav-link{justify-content:center}.side-foot{color:#bdbba6;background:#2a2a23;border-radius:14px;margin-top:auto;padding:14px;font-size:12px;font-weight:600}.side-foot b{color:var(--yellow);margin-bottom:4px;display:block}.header{background:var(--surface);border-bottom:1.5px solid var(--line);z-index:20;align-items:center;gap:14px;padding:0 24px;display:flex;position:relative}.hdr-search{flex:1;max-width:520px;position:relative}.hdr-search input{background:var(--cream);border-color:#0000;border-radius:999px;height:42px;padding-left:42px}.hdr-search svg{color:var(--ink-faint);position:absolute;top:12px;left:15px}.hdr-search kbd{background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);border-radius:6px;padding:2px 7px;font-family:inherit;font-size:11px;font-weight:800;position:absolute;top:10px;right:12px}.env-pill{background:var(--green-soft);color:#1f6a26;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.env-pill i{background:var(--green);border-radius:50%;width:8px;height:8px}.spacer{flex:1}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:900;display:grid}.avatar.lg{width:56px;height:56px;font-size:20px}.avatar.sm{width:28px;height:28px;font-size:11px}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.me-btn{background:0 0;border:none;border-radius:999px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.me-btn:hover{background:var(--cream-dark)}.me-btn .who{text-align:left;line-height:1.15}.me-btn .who b{font-size:13px;font-weight:800;display:block}.me-btn .who span{color:var(--ink-faint);font-size:11px;font-weight:700}.menu{background:var(--surface);border:1.5px solid var(--line);z-index:50;border-radius:16px;min-width:240px;padding:8px;position:absolute;top:56px;right:24px;box-shadow:0 14px 40px #1f1f1a29}.menu .item{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:700;display:flex}.menu .item:hover{background:var(--cream)}.menu hr{border:none;border-top:1px solid var(--line);margin:6px 0}.menu .head{padding:10px 12px 6px}.menu .head b{font-weight:800;display:block}.menu .head span{color:var(--ink-faint);font-size:12px;font-weight:600}.notif{width:360px;padding:6px;right:90px}.notif .n{border-radius:12px;gap:10px;padding:12px;display:flex}.notif .n:hover{background:var(--cream)}.notif .n b{font-size:13px;font-weight:800;display:block}.notif .n p{color:var(--ink-soft);margin-top:2px;font-size:12.5px;font-weight:600}.notif .n .t{color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:11px;font-weight:700}.notif .u{background:var(--red);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.main{padding:28px 32px 56px;overflow-y:auto}.banner{background:var(--yellow-soft);border:1.5px solid #f2dc73;border-radius:14px;align-items:center;gap:10px;margin-bottom:22px;padding:10px 16px;font-size:13px;font-weight:700;display:flex}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{letter-spacing:-.5px;font-size:30px;font-weight:900}.page-head p{color:var(--ink-soft);margin-top:4px;font-weight:600}.page-head .actions{gap:10px;margin-left:auto;display:flex}.grid{gap:18px;display:grid}.g-6{grid-template-columns:repeat(6,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-2{grid-template-columns:repeat(2,1fr)}.g-21{grid-template-columns:2fr 1fr}@media (width<=1400px){.g-6{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.g-4,.g-3,.g-21{grid-template-columns:1fr 1fr}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}}.card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:20px}.card.flush{padding:0;overflow:hidden}.card-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-head h3{font-size:16px;font-weight:800}.card-head .sub{color:var(--ink-faint);font-size:12px;font-weight:700}.card-head .right{align-items:center;gap:8px;margin-left:auto;display:flex}.card.flush .card-head{padding:18px 20px 0}.kpi{padding:16px 18px}.kpi .label{color:var(--ink-soft);font-size:12px;font-weight:800}.kpi .value{letter-spacing:-.5px;margin:6px 0 4px;font-size:26px;font-weight:900}.kpi .foot{justify-content:space-between;align-items:center;display:flex}.delta{align-items:center;gap:2px;font-size:12px;font-weight:800;display:inline-flex}.delta.up{color:#1f8a2a}.delta.down{color:var(--red)}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:800;display:inline-flex}.b-green{background:var(--green-soft);color:#1f6a26}.b-red{background:var(--red-soft);color:#a52a22}.b-orange{background:var(--orange-soft);color:#9a5410}.b-blue{background:var(--blue-soft);color:#2c5b92}.b-yellow{background:var(--yellow-soft);color:#7a6200}.b-gray{background:var(--cream-dark);color:var(--ink-soft)}.b-dark{background:var(--ink);color:var(--yellow)}.tabs{background:var(--cream-dark);border-radius:999px;gap:2px;margin-bottom:18px;padding:4px;display:inline-flex}.tabs button{color:var(--ink-soft);background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:800}.tabs button.on{background:var(--ink);color:var(--yellow)}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%}table.t th{text-align:left;text-transform:uppercase;letter-spacing:.7px;color:var(--ink-faint);border-bottom:1.5px solid var(--line);background:var(--surface);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:800}table.t td{border-bottom:1px solid var(--line);vertical-align:middle;padding:13px 16px;font-weight:600}table.t tbody tr:hover{background:#faf8ee}table.t tbody tr.click{cursor:pointer}table.t tbody tr.sel{background:var(--yellow-soft)}table.t tr:last-child td{border-bottom:none}.user-cell{align-items:center;gap:12px;display:flex}.user-cell b{font-weight:800;display:block}.user-cell span{color:var(--ink-faint);font-size:12px;font-weight:700}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.muted{color:var(--ink-faint)}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.toggle{background:#cfccba;border:none;border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .15s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.toggle.on{background:var(--green)}.toggle.on:after{transform:translate(18px)}.bar{background:var(--cream-dark);border-radius:999px;height:8px;overflow:hidden}.bar>i{background:var(--ink);border-radius:999px;height:100%;display:block}.bar.green>i{background:var(--green)}.bar.yellow>i{background:#f0c800}input[type=range]{accent-color:var(--ink)}.chart text{fill:var(--ink-faint);font-family:Nunito,sans-serif;font-size:11px;font-weight:700}.legend{flex-direction:column;gap:10px;display:flex}.legend .li{align-items:center;gap:10px;font-weight:700;display:flex}.legend .li i{border-radius:4px;width:11px;height:11px}.legend .li span:last-child{margin-left:auto;font-weight:800}.search-hero{background:var(--ink);color:var(--cream);border-radius:20px;margin-bottom:20px;padding:26px;position:relative;overflow:hidden}.search-hero h2{margin-bottom:4px;font-size:20px;font-weight:900}.search-hero p{color:#b9b7a3;margin-bottom:16px;font-weight:600}.search-hero .big-logo{opacity:.9;height:130px;position:absolute;top:-14px;right:24px}.search-hero form{gap:10px;max-width:640px;display:flex;position:relative}.search-hero .input{background:var(--cream);border-color:#0000;border-radius:999px;height:50px;padding-left:20px}.search-hero .btn{height:50px;padding:0 26px}.field-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.field-chips span{color:#d9d7c3;background:#34342b;border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:800}.split{grid-template-columns:minmax(0,1fr) 460px;align-items:start;gap:18px;display:grid}@media (width<=1250px){.split{grid-template-columns:1fr}}.detail{max-height:calc(100vh - var(--header-h) - 56px);position:sticky;top:0;overflow-y:auto}.detail-top{border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-bottom:14px;padding-bottom:16px;display:flex}.detail-top .avatar{width:72px;height:72px;font-size:26px}.detail-top h3{font-size:20px;font-weight:900}.kv{grid-template-columns:120px 1fr;gap:10px 14px;padding:4px 0 8px;font-weight:600;display:grid}.kv dt{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.5px;padding-top:2px;font-size:12px;font-weight:800}.kv dd{word-break:break-word;margin:0}.sec-title{text-transform:uppercase;letter-spacing:.8px;color:var(--ink-soft);align-items:center;gap:8px;margin:18px 0 10px;font-size:12px;font-weight:900;display:flex}.sec-title .badge{text-transform:none;letter-spacing:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:700}.chip.cur{background:var(--yellow);border-color:#e6c800}.bio{background:var(--cream);white-space:pre-wrap;border-radius:12px;margin-bottom:8px;padding:10px 12px;font-size:13px;font-weight:600}.bio.cur{background:var(--yellow-soft)}.photos{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.photos a{aspect-ratio:1;border:1.5px solid var(--line);background:var(--cream-dark);border-radius:12px;display:block;overflow:hidden}.photos img{object-fit:cover;width:100%;height:100%}.note{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 12px}.note .meta{color:var(--ink-faint);justify-content:space-between;margin-bottom:4px;font-size:11.5px;font-weight:800;display:flex}pre.json{background:var(--ink);color:#e8e6d3;border-radius:12px;max-height:420px;margin:0;padding:14px;font-size:12px;overflow:auto}.empty{text-align:center;color:var(--ink-faint);padding:56px 20px;font-weight:700}.empty h3{color:var(--ink);margin:12px 0 4px;font-size:18px;font-weight:900}.error{background:var(--red-soft);color:#8c2019;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-weight:700}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}mark{background:var(--yellow);color:var(--ink);border-radius:4px;padding:0 2px}.toast{background:var(--ink);color:var(--cream);z-index:100;border-radius:14px;align-items:center;gap:10px;padding:13px 18px;font-weight:700;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #00000040}.toast svg{color:var(--green)}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.sd-Operational{background:var(--green)}.sd-Degraded{background:var(--orange)}.sd-Maintenance{background:var(--blue)}.uptime-bars{gap:2px;display:flex}.uptime-bars i{background:var(--green);border-radius:2px;width:4px;height:22px}.uptime-bars i.w{background:var(--orange)}.var-row{margin-bottom:12px}.var-row .top{justify-content:space-between;margin-bottom:5px;font-weight:800;display:flex}.pass{color:#1f8a2a;font-weight:800}.fail{color:var(--red);font-weight:800}.composer{grid-template-columns:1fr 1fr;gap:14px;display:grid}
