@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{color:#17201d;font-synthesis:none;--ink:#17201d;--muted:#65716d;--line:#dce3df;--surface:#fff;--green:#0d7250;--green-dark:#09583e;--mint:#dff5e9;--nav:#10251e;--danger:#a43b3b;--warning:#9a6412;background:#f3f6f4;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.app-shell aside{background:var(--nav);color:#ecf6f1;z-index:20;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:11px;padding:0 8px 24px;display:flex}.sidebar-brand>div{flex-direction:column;display:flex}.sidebar-brand strong{font:700 17px Manrope}.sidebar-brand small{color:#93aaa1;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.brand-mark{color:#fff;background:#1a9a6e;border-radius:17px;place-items:center;width:54px;height:54px;font:800 27px Manrope;display:grid;box-shadow:0 12px 40px #0d725055}.brand-mark.small{border-radius:11px;width:37px;height:37px;font-size:18px}.app-shell nav{flex-direction:column;gap:3px;display:flex}.app-shell nav a{color:#afc2ba;border-radius:10px;align-items:center;gap:11px;padding:10px 11px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.app-shell nav a:hover{color:#fff;background:#ffffff0b}.app-shell nav a.active{color:#fff;background:#226046}.nav-arrow{opacity:.4;margin-left:auto}.sidebar-user{border-top:1px solid #ffffff17;flex-direction:column;margin-top:auto;padding:16px 9px 0;display:flex}.sidebar-user span{font-weight:600}.sidebar-user small{color:#93aaa1;margin:4px 0 12px}.sidebar-user button{color:#b9cac3;text-align:left;background:0 0;border:0;gap:8px;padding:6px 0;display:flex}.workspace{min-width:0}.page{max-width:1500px;margin:0 auto;padding:42px 44px 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.page-header h1{letter-spacing:-.035em;margin:4px 0 8px;font:800 clamp(27px,3vw,39px) Manrope}.page-header p:not(.eyebrow){color:var(--muted);max-width:700px;margin:0}.eyebrow{letter-spacing:.15em;color:var(--green)!important;font:700 10px Manrope!important}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.metric{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:22px}.metric span{text-transform:capitalize;color:var(--muted);font-size:13px}.metric strong{margin-top:8px;font:800 32px Manrope;display:block}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:22px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#71807a;text-transform:uppercase;letter-spacing:.065em;background:#f8faf9;font-size:10px}th,td{white-space:nowrap;border-bottom:1px solid #e9eeeb;padding:13px 15px}tr:last-child td{border:0}tr.clickable:hover{cursor:pointer;background:#f2faf6}.status{background:#edf1ef;border-radius:99px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.status.good{color:#126542;background:#dcf4e7}.status.warn{color:#865615;background:#fff1d6}.status.bad{color:#933838;background:#fbe2e2}.empty,.loading{color:var(--muted);text-align:center;background:#fff;border:1px dashed #cbd6d1;border-radius:14px;margin-bottom:20px;padding:28px}.error{color:#8c302d;background:#fce9e7;border:1px solid #f3c7c3;border-radius:9px;padding:10px 12px;font-size:13px}.operation{border:1px solid var(--line);background:#fff;border-radius:14px;margin:14px 0;overflow:hidden}.operation summary{cursor:pointer;padding:16px 18px;font-weight:700}.operation>p{color:var(--muted);padding:0 18px;font-size:13px}.operation textarea{color:#244039;resize:vertical;background:#f8faf9;border:1px solid #d4ddd8;border-radius:10px;width:calc(100% - 36px);min-height:210px;margin:0 18px;padding:13px;font:12px/1.55 ui-monospace,monospace}.operation-footer{align-items:center;gap:15px;padding:14px 18px;display:flex}.operation button,.search button,.primary{background:var(--green);color:#fff;border:0;border-radius:9px;padding:10px 16px;font-weight:700}.operation button:hover,.search button:hover,.primary:hover{background:var(--green-dark)}.operation-footer span{color:var(--muted);font-size:12px}.two-col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.json-view{color:#dcece5;background:#14251f;border-radius:14px;max-height:520px;padding:20px;font:12px/1.55 ui-monospace,monospace;overflow:auto}.page h2{margin:30px 0 12px;font:700 18px Manrope}.search{gap:10px;margin-bottom:18px;display:flex}.search input{background:#fff;border:1px solid #cad5d0;border-radius:9px;flex:1;max-width:600px;padding:11px 13px}.mobile-bar{display:none}.icon{color:inherit;background:0 0;border:0;padding:5px}.mobile{display:none}.login-page{background:#0d211a;grid-template-columns:minmax(360px,1.15fr) minmax(360px,.85fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(circle at 20% 20%,#1d7655 0,#0000 38%),linear-gradient(140deg,#10291f,#091811);flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-brand h1{letter-spacing:-.055em;margin:20px 0;font:800 clamp(38px,5vw,70px)/1.08 Manrope}.login-brand>p:not(.eyebrow){color:#acc5bb;max-width:540px;font-size:17px}.security-note{color:#cfe3da;align-items:center;gap:9px;margin-top:38px;font-size:13px;display:flex}.login-panel{background:#f6f8f7;place-items:center;padding:40px;display:grid}.login-panel form{border:1px solid var(--line);background:#fff;border-radius:20px;width:min(400px,100%);padding:34px;box-shadow:0 25px 80px #07150f2b}.login-panel h2{margin:24px 0 6px;font:800 27px Manrope}.login-panel form>p{color:var(--muted);margin:0 0 24px}.login-panel label{flex-direction:column;gap:7px;margin:15px 0;font-size:13px;font-weight:600;display:flex}.login-panel input{border:1px solid #cbd6d1;border-radius:9px;padding:12px}.login-panel .primary{width:100%;margin:8px 0 14px;padding:12px}.login-panel small{color:var(--muted);text-align:center;display:block}.brand-mobile{display:none}.splash,.forbidden{text-align:center;min-height:100vh;color:var(--muted).forbidden;place-content:center;display:grid}.forbidden svg{color:var(--warning);margin:auto}.forbidden h1{color:var(--ink)}.live-dot{color:var(--green);font-size:11px}.splash,.forbidden{color:var(--muted)}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;padding:16px;display:flex}.filter-bar label{color:var(--muted);flex-direction:column;gap:5px;font-size:11px;font-weight:700;display:flex}.filter-bar input{border:1px solid #cad5d0;border-radius:8px;min-width:160px;padding:9px 10px}.filter-bar button,.export-status button{background:var(--green);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700}.export-status{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;padding:16px;display:flex}.export-status span{color:var(--muted);font-size:13px}.export-status button{margin-left:auto}.action-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=900px){.app-shell{display:block}.app-shell aside{width:260px;transition:left .2s;position:fixed;left:-280px}.app-shell aside.open{left:0}.scrim{z-index:10;background:#05100bb0;border:0;position:fixed;inset:0}.mobile,.mobile-bar{display:flex}.sidebar-brand .mobile{margin-left:auto}.mobile-bar{z-index:8;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:13px;height:58px;padding:0 16px;position:sticky;top:0}.mobile-bar .live-dot{margin-left:auto}.page{padding:28px 18px 60px}.two-col,.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel{min-height:100vh;padding:18px}.brand-mobile{align-items:center;gap:10px;font-weight:700;display:flex}.page-header{flex-direction:column;align-items:flex-start}}@media (width<=520px){.login-panel form{border-radius:15px;padding:24px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:25px}.search{flex-direction:column}.operation textarea{min-height:260px}}
