@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:#050c17;--bg-2:#07111f;--surface:#0c1a2b;--surface-2:#10223a;--surface-3:#152b47;--border:#1a304c;--border-strong:#26446b;--text:#e7f0fa;--text-2:#a9bbd0;--muted:#7389a3;--brand-cyan:#29c6f7;--brand-blue:#1565d8;--brand-navy:#0a2a8a;--brand-lime:#a6e22e;--brand-green:#4cbb17;--accent:#38bdf8;--grad-primary:linear-gradient(135deg, #29c6f7 0%, #1565d8 100%);--grad-brand:linear-gradient(90deg, #29c6f7 0%, #1565d8 55%, #8fd400 100%);--glow:0 0 0 1px #29c6f740, 0 8px 30px #1565d840;--ok:#6fd04a;--ok-bg:#6fd04a1f;--warn:#f5b54a;--warn-bg:#f5b54a1f;--bad:#ff6b7a;--bad-bg:#ff6b7a1f;--info:#4fb6f5;--info-bg:#4fb6f51f;--neutral-bg:#a9bbd01a;--series-email:#1f9fe0;--series-push:#5f9a1c;--radius:12px;--radius-sm:8px;--sidebar-w:248px;--font:"Inter Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}code,.mono{font-family:var(--mono);font-size:12.5px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100%;display:grid}.sidebar{border-right:1px solid var(--border);background:linear-gradient(#071324 0%,#050c17 100%);flex-direction:column;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:var(--text);align-items:center;gap:10px;padding:4px 8px 18px;display:flex}.brand:hover{text-decoration:none}.brand img{width:34px;height:34px}.brand-name{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand-name span{background:var(--grad-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.nav{flex-direction:column;gap:2px;display:flex}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 10px 6px;font-size:11px;font-weight:600}.nav a{border-radius:var(--radius-sm);color:var(--text-2);align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex;position:relative}.nav a:hover{background:var(--surface);color:var(--text);text-decoration:none}.nav a.active{color:var(--text);background:linear-gradient(90deg,#29c6f724,#1565d80f)}.nav a.active:before{content:"";background:var(--grad-primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-14px}.nav svg{flex:none}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:14px 8px 0;display:flex}.avatar{background:var(--grad-primary);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.sidebar-footer .who{flex:1;min-width:0}.sidebar-footer .who div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main{background:radial-gradient(900px 400px at 85% -10%, #1565d81f, transparent 60%), radial-gradient(600px 300px at 10% 110%, #8fd4000d, transparent 60%), var(--bg);min-width:0;padding:28px 32px 48px}.page{max-width:1280px;margin:0 auto}.topbar{display:none}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-header p{color:var(--text-2);margin:4px 0 0}.page-header .actions{flex-wrap:wrap;gap:8px;display:flex}.crumbs{color:var(--muted);margin-bottom:6px;font-size:13px}.card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#10223a8c,#0c1a2be6);padding:18px 20px}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card-header p{color:var(--muted);margin:2px 0 0;font-size:13px}.card.flush{padding:0;overflow:hidden}.card.flush .card-header{padding:16px 20px 0}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-main-side{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.stack{flex-direction:column;gap:16px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.tile{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#10223a8c,#0c1a2be6);padding:14px 16px}.tile-label{color:var(--text-2);font-size:12.5px;font-weight:500}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:28px;font-weight:700}.tile-sub{color:var(--muted);margin-top:2px;font-size:12px}.tile-sub.bad{color:var(--bad)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);height:36px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3);border-color:#33578a;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--grad-primary);color:#fff;border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--grad-primary);box-shadow:var(--glow)}.btn-danger{background:var(--bad-bg);color:var(--bad);border-color:#ff6b7a66}.btn-danger:hover:not(:disabled){border-color:var(--bad);background:#ff6b7a33}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text);border-color:#0000}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-block{width:100%}.icon-btn{width:36px;padding:0}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{color:var(--text-2);font-size:13px;font-weight:600}.field .hint{color:var(--muted);font-size:12px}.field .error{color:var(--bad);font-size:12px}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);width:100%;height:38px;color:var(--text);font:inherit;background:#050c1799;padding:0 12px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #38bdf82e}.input.invalid,.textarea.invalid{border-color:var(--bad)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a9bbd0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .span-2{grid-column:span 2}.form-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text);align-items:center;gap:10px;font-weight:500;display:inline-flex}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle .track{background:var(--surface-3);border:1px solid var(--border-strong);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.toggle .track:after{content:"";background:var(--text-2);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.track{background:var(--brand-blue);border-color:var(--brand-cyan)}.toggle input:checked+.track:after{background:#fff;transform:translate(16px)}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.radio{cursor:pointer;align-items:center;gap:8px;font-weight:500;display:inline-flex}.radio input{width:16px;height:16px;accent-color:var(--brand-cyan);margin:0}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}.table td{vertical-align:middle;border-bottom:1px solid #1a304c99;padding:11px 14px}.table tr:last-child td{border-bottom:none}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover td{background:#29c6f70a}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.muted{color:var(--muted)}.text-2{color:var(--text-2)}.small{font-size:12.5px}.pagination{border-top:1px solid var(--border);color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}.filters .field{min-width:150px}.filters .field.grow{flex:1;min-width:220px}.badge{white-space:nowrap;background:var(--neutral-bg);height:22px;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}.chip{border:1px solid var(--border-strong);height:22px;color:var(--text-2);border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.chip.off{opacity:.45;text-decoration:line-through}.alert{border-radius:var(--radius-sm);border:1px solid;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.alert svg{flex:none;margin-top:1px}.alert.bad{background:var(--bad-bg);color:#ffc2c8;border-color:#ff6b7a59}.alert.warn{background:var(--warn-bg);color:#ffe0ad;border-color:#f5b54a59}.alert.ok{background:var(--ok-bg);color:#c9f2b6;border-color:#6fd04a59}.alert.info{background:var(--info-bg);color:#c4e6fb;border-color:#4fb6f559}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#02060cb8;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;width:100%;max-width:560px;box-shadow:0 30px 80px #0000008c}.modal.wide{max-width:720px}.modal-header{justify-content:space-between;align-items:center;padding:18px 20px 0;display:flex}.modal-body{padding:16px 20px 20px}.secret{border-radius:var(--radius-sm);border:1px dashed var(--brand-cyan);font-family:var(--mono);word-break:break-all;background:#29c6f70f;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.secret code{flex:1}.dl{grid-template-columns:160px 1fr;gap:8px 16px;margin:0;display:grid}.dl dt{color:var(--muted);font-size:13px}.dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:18px;display:flex;overflow-x:auto}.tabs button{color:var(--text-2);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:600}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);border-image:var(--grad-primary) 1;border-bottom:2px solid}.chart{position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .grid-line{stroke:var(--border);stroke-width:1px}.chart .axis-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart .hover-band{fill:#a9bbd00f}.legend{color:var(--text-2);gap:16px;font-size:12.5px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.tooltip{pointer-events:none;z-index:5;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:#0a1626;min-width:150px;padding:10px 12px;font-size:12.5px;position:absolute;box-shadow:0 10px 30px #00000073}.tooltip .t-title{margin-bottom:6px;font-weight:600}.tooltip .t-row{color:var(--text-2);align-items:center;gap:8px;display:flex}.tooltip .t-row b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.tooltip i{border-radius:2px;width:8px;height:8px;display:inline-block}.empty{text-align:center;color:var(--muted);padding:36px 16px}.spinner{border:2px solid #a9bbd040;border-top-color:var(--brand-cyan);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.loading{justify-content:center;padding:48px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.email-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:100%;height:520px}pre.code{border-radius:var(--radius-sm);border:1px solid var(--border);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;background:#050c17;margin:0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.bar-list{flex-direction:column;gap:10px;display:flex}.bar-list .bl-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;font-size:13px;display:grid}.bar-list .bl-track{background:var(--surface-3);border-radius:3px;grid-column:span 2;height:6px;overflow:hidden}.bar-list .bl-fill{background:var(--warn);border-radius:3px;height:100%}.login{background-color:#02060d;background-image:-webkit-image-set(url(/assets/login-bg-1920-BowzV7kH.jpg) 1x,url(/assets/login-bg-2560-DKhg1BvW.jpg) 2x);background-image:image-set("/assets/login-bg-1920-BowzV7kH.jpg" 1x,"/assets/login-bg-2560-DKhg1BvW.jpg" 2x);background-position:70%;background-size:cover;align-items:center;min-height:100%;padding:32px 6vw;display:flex}@media (width>=2200px){.login{background-image:url(/assets/login-bg-2560-DKhg1BvW.jpg)}}.login-card{-webkit-backdrop-filter:blur(14px);background:#060e1ab8;border:1px solid #29c6f738;border-radius:18px;width:100%;max-width:400px;padding:34px 32px 28px;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0a}.login-card .brand{padding:0 0 6px}.login-card .brand img{width:44px;height:44px}.login-card .brand-name{font-size:24px}.login-card .tagline{color:var(--text-2);margin:0 0 26px}.login-card form{flex-direction:column;gap:16px;display:flex}.login-card .btn-primary{height:42px;margin-top:6px}.login-foot{color:var(--muted);text-align:center;margin-top:22px;font-size:12px}.login-accent{background:var(--grad-brand);border-radius:18px 18px 0 0;height:3px;margin:-34px -32px 30px}.docs{max-width:900px;font-size:14.5px;line-height:1.65}.docs h1{margin:0 0 12px;font-size:26px}.docs h2{border-top:1px solid var(--border);margin:36px 0 12px;padding-top:18px;font-size:19px}.docs h3{margin:24px 0 8px;font-size:15.5px}.docs p,.docs ul,.docs ol{color:var(--text-2)}.docs strong{color:var(--text)}.docs code{background:var(--surface-2);color:#cfe9fb;border-radius:5px;padding:1px 6px}.docs pre{border-radius:var(--radius-sm);border:1px solid var(--border);background:#050c17;padding:14px 16px;overflow-x:auto}.docs pre code{background:0 0;padding:0;font-size:12.5px;line-height:1.6}.docs table{border-collapse:collapse;width:100%;margin:12px 0 18px;font-size:13.5px;display:block;overflow-x:auto}.docs th,.docs td{text-align:left;border:1px solid var(--border);vertical-align:top;padding:8px 12px}.docs th{background:var(--surface);color:var(--text)}.docs td{color:var(--text-2)}.docs blockquote{border-left:3px solid var(--brand-cyan);background:var(--info-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:14px 0;padding:10px 16px}.docs blockquote p{margin:4px 0}@media (width<=1100px){.grid-main-side,.grid-3{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:min(280px,85vw);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:20px 0 60px #0009}.sidebar-scrim{z-index:30;background:#02060c99;position:fixed;inset:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#050c17eb;align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.topbar .brand{padding:0}.topbar .brand img{width:28px;height:28px}.main{padding:20px 16px 40px}.grid-2,.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.dl{grid-template-columns:minmax(0,1fr);gap:2px}.dl dd{margin-bottom:8px}.login{background-position:62%;justify-content:center;padding:24px 16px}.login-card{padding:28px 22px 22px}.login-accent{margin:-28px -22px 26px}}.print-only{display:none}@media print{@page{size:A4;margin:16mm 14mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root,.main{color:#1a2433!important;background:#fff!important}.sidebar,.sidebar-scrim,.topbar,.no-print{display:none!important}.shell{display:block}.main{padding:0!important}.page{max-width:none}.print-only{display:block}.print-header{border-bottom:3px solid #1565d8;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:12px;display:flex}.print-header img{width:44px;height:44px}.print-title{color:#0d3f9e;font-size:22px;font-weight:700}.print-meta{color:#5b6b80;font-size:11px}.docs-card{background:0 0!important;border:none!important;padding:0!important}.docs{max-width:none;font-size:11pt;line-height:1.5}.docs>h1:first-child{display:none}.docs h1,.docs h2,.docs h3,.docs strong,.docs th{color:#0b1b2b!important}.docs h2{break-after:avoid;border-top-color:#d5deea}.docs h3{break-after:avoid}.docs p,.docs ul,.docs ol,.docs td{color:#2c3a4d!important}.docs a{color:#1565d8!important}.docs code{color:#0d3f9e!important;background:#eef3f9!important}.docs pre{white-space:pre-wrap;word-break:break-word;break-inside:avoid;background:#f5f8fc!important;border-color:#d5deea!important}.docs pre code{color:#1a2433!important;background:0 0!important}.docs table{break-inside:avoid;display:table}.docs th{background:#eef3f9!important}.docs th,.docs td{border-color:#d5deea!important}.docs blockquote{break-inside:avoid;background:#eef6fd!important;border-left-color:#1ea7ff!important}}
