@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f8fafc;--card:#fff;--border:#e5e7eb;--border-soft:#eef2f7;--text:#0f172a;--muted:#64748b;--faint:#94a3b8;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-tint:#eff4ff;--accent:#7c3aed;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--side-bg:#0f172a;--side-hover:#1e293b;--side-text:#cbd5e1;--side-sel-bg:#eef2ff;--side-sel-text:#0f172a;--navy:#0f172a;--navy-2:#1e293b;--lime:#2563eb;--teal:#5fd6c7;--orange:#f0803c;--green:#10b981;--red:#ef4444;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 3px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--radius:12px;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}#root{min-height:100vh;display:flex}.sidebar{background:var(--side-bg);width:232px;min-width:232px;color:var(--side-text);border-right:1px solid #ffffff0a;flex-direction:column;gap:2px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.sidebar .logo{color:#fff;letter-spacing:-.2px;margin-bottom:4px;padding:6px 10px 16px;font-size:17px;font-weight:700}.sidebar .logo small{color:var(--faint);letter-spacing:0;margin-top:2px;font-size:11px;font-weight:400;display:block}.nav-sec{letter-spacing:.8px;text-transform:uppercase;color:#64748b;margin:16px 12px 6px;font-size:10.5px;font-weight:600}.nav-item{width:100%;color:var(--side-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:13.5px;transition:background .15s,color .15s;display:block}.nav-item:hover{background:var(--side-hover);color:#fff}.nav-item.active{background:var(--side-sel-bg);color:var(--side-sel-text);font-weight:600}.nav-item.soon{opacity:.4;cursor:default;font-size:13px;font-style:italic}.nav-item.soon:hover{color:var(--side-text);background:0 0}.sidebar .foot{color:var(--faint);margin-top:auto;padding:10px;font-size:11px}.content{flex:1;max-width:1480px;padding:28px 32px}h1{color:var(--text);letter-spacing:-.4px;margin:0 0 6px;font-size:26px;font-weight:700;line-height:1.2}h2{color:var(--text);letter-spacing:-.2px;margin:22px 0 12px;font-size:18px;font-weight:650}.sub{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.5}.tip{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.55}.tip b{color:var(--text)}.dateslider{flex-direction:column;gap:2px;margin-top:4px;display:flex}.dateslider input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px 20px}.card h3{letter-spacing:-.1px;margin:0 0 12px;font-size:15px;font-weight:600}.row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=1100px){.grid-2{grid-template-columns:1fr}}.tbl-wrap{border-radius:10px;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th{color:var(--muted);text-align:right;white-space:nowrap;letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid var(--border);background:#f8fafc;padding:9px 12px;font-size:11.5px;font-weight:600;position:sticky;top:0}table.data th:first-child,table.data td:first-child{text-align:left}table.data td{border-bottom:1px solid var(--border-soft);text-align:right;padding:8px 12px}table.data tbody tr:nth-child(2n) td{background:#fbfcfe}table.data tr.total td{background:var(--primary-tint);color:var(--text);font-weight:700}table.data tbody tr:hover td{background:#f1f5f9}label.fld{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:500;display:flex}input,select,textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;padding:8px 11px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1f}button.btn,a.btn{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:8px 15px;font-size:13px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-block}button.btn:hover,a.btn:hover{background:#f8fafc;border-color:#cbd5e1}button.btn.lime,a.btn.lime{background:var(--primary);color:#fff;border-color:var(--primary)}button.btn.lime:hover,a.btn.lime:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.btn:disabled{opacity:.45;cursor:default}.chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;margin:0 6px 6px 0;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-block}.chip:hover{border-color:#cbd5e1}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.followups{border-top:1px dashed var(--border);margin-top:10px;padding-top:8px}.followups .chip{background:#f8fafc}.followups .chip:hover{background:#eff6ff;border-color:#93c5fd}.status{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.status.succeeded{color:#047857;background:#ecfdf5}.status.failed{color:#b91c1c;background:#fef2f2}.status.running,.status.queued{color:#b45309;background:#fffbeb}.status.behind{color:#b91c1c;background:#fef2f2}.status.on-track{color:#047857;background:#ecfdf5}.chat-box{flex-direction:column;gap:12px;display:flex}.msg{border-radius:14px;max-width:850px;padding:12px 16px;font-size:14px;line-height:1.55}.msg.user{background:var(--primary);color:#fff;align-self:flex-end}.msg.bot{background:var(--card);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-sm);align-self:flex-start}.msg.bot table{border-collapse:collapse;margin:8px 0}.msg.bot th,.msg.bot td{border:1px solid var(--border);padding:4px 10px;font-size:13px}.msg.bot th{background:#f8fafc}.chat-input{gap:10px;margin-top:14px;display:flex}.chat-input textarea{resize:none;flex:1;height:60px}details.trace{color:var(--muted);margin-top:10px;font-size:12px}details.trace pre{color:#cde3ff;background:#0f172a;border-radius:8px;padding:10px;font-size:12px;overflow-x:auto}.metric-cards{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.metric{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:160px;box-shadow:var(--shadow-sm);padding:16px 18px}.metric .v{letter-spacing:-.6px;font-size:26px;font-weight:700}.metric .l{color:var(--muted);margin-top:2px;font-size:12.5px}.metric .d{margin-top:6px;font-size:12px;font-weight:600}.metric .d.up{color:var(--success)}.metric .d.down{color:var(--danger)}pre.log{color:#cde3ff;background:#0f172a;border-radius:8px;max-height:320px;padding:12px;font-size:12px;overflow:auto}.err{color:var(--danger);font-size:13px}img.artifact{border:1px solid var(--border);border-radius:10px;max-width:100%;margin-bottom:12px}iframe.flash{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;height:1200px}.spiro-mark{vertical-align:middle;display:inline-block}.spiro-mark.glow{filter:drop-shadow(0 0 7px)}.spiro-mark.spin{transform-origin:50%;animation:1.05s linear infinite spiro-spin}@keyframes spiro-spin{to{transform:rotate(360deg)}}.spiro-mark.draw .spiro-ring{stroke-dasharray:158;stroke-dashoffset:158px;animation:.9s cubic-bezier(.65,0,.35,1) .1s forwards spiro-draw}.spiro-mark.draw .spiro-bar{transform-box:fill-box;transform-origin:top;animation:.4s .6s forwards spiro-bar;transform:scaleY(0)}@keyframes spiro-draw{to{stroke-dashoffset:0}}@keyframes spiro-bar{to{transform:scaleY(1)}}.spiro-loader{align-items:center;gap:10px;display:inline-flex}.boot{background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.brand-intro{z-index:9999;cursor:pointer;background:radial-gradient(circle at 50% 42%,#12294d 0%,#0a1e3d 72%);place-items:center;animation:.3s bi-fade-in;display:grid;position:fixed;inset:0}.brand-intro.leaving{opacity:0;transition:opacity .35s}.brand-intro-inner{text-align:center;padding:24px}.brand-wordmark{color:#fff;letter-spacing:-.5px;opacity:0;margin-top:22px;font-size:30px;font-weight:700;animation:.5s .75s forwards bi-rise}.brand-tagline{color:#8fa0b5;letter-spacing:.2px;opacity:0;margin-top:8px;font-size:14px;animation:.5s 1s forwards bi-rise}@keyframes bi-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bi-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.content.enter>*{animation:.45s cubic-bezier(.22,1,.36,1) both fade-in-up}.content.enter>:first-child{animation-delay:20ms}.content.enter>:nth-child(2){animation-delay:60ms}.content.enter>:nth-child(3){animation-delay:.1s}.content.enter>:nth-child(4){animation-delay:.14s}.content.enter>:nth-child(5){animation-delay:.18s}.content.enter>:nth-child(6){animation-delay:.22s}.content.enter>:nth-child(n+7){animation-delay:.26s}@media (prefers-reduced-motion:reduce){.spiro-mark.spin,.spiro-mark.draw .spiro-ring,.spiro-mark.draw .spiro-bar,.brand-wordmark,.brand-tagline,.content.enter>*{animation:none}.spiro-mark.draw .spiro-ring{stroke-dashoffset:0}.spiro-mark.draw .spiro-bar{transform:scaleY(1)}.brand-wordmark,.brand-tagline{opacity:1}.brand-intro{display:none}}.recharts-cartesian-grid line{stroke:var(--border-soft)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--border)}.recharts-text.recharts-cartesian-axis-tick-value{fill:var(--faint)}.recharts-default-tooltip{box-shadow:var(--shadow-md);font-size:12.5px;border:1px solid var(--border)!important;border-radius:10px!important}
