@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/saira-vietnamese-500-normal-DnkVjnpC.woff2)format("woff2"),url(/assets/saira-vietnamese-500-normal-CGZ3WEl0.woff)format("woff");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:Saira;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/saira-latin-ext-500-normal-C-BKQ_B5.woff2)format("woff2"),url(/assets/saira-latin-ext-500-normal-DNhYPXNS.woff)format("woff");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:Saira;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/saira-latin-500-normal-BUkaYXVh.woff2)format("woff2"),url(/assets/saira-latin-500-normal-DeI90g98.woff)format("woff");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}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-vietnamese-600-normal-D5gszP3k.woff2)format("woff2"),url(/assets/saira-vietnamese-600-normal-BXtbQ9YO.woff)format("woff");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:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-latin-ext-600-normal-BDLPjVgT.woff2)format("woff2"),url(/assets/saira-latin-ext-600-normal-DVm3eXEL.woff)format("woff");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:Saira;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/saira-latin-600-normal-DYxBFP1f.woff2)format("woff2"),url(/assets/saira-latin-600-normal-DF-o6wW3.woff)format("woff");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}@font-face{font-family:Saira;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-vietnamese-700-normal-ChF51jJ6.woff2)format("woff2"),url(/assets/saira-vietnamese-700-normal-rQjWTXlX.woff)format("woff");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:Saira;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-latin-ext-700-normal-kJsnFdG-.woff2)format("woff2"),url(/assets/saira-latin-ext-700-normal-CrEf6OXZ.woff)format("woff");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:Saira;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/saira-latin-700-normal-CObqxJsW.woff2)format("woff2"),url(/assets/saira-latin-700-normal-CWqLIJDh.woff)format("woff");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}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff)format("woff");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}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-vietnamese-500-normal-DjztbcKe.woff2)format("woff2"),url(/assets/public-sans-vietnamese-500-normal-CXYe29CY.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-ext-500-normal-DC-z7ASZ.woff2)format("woff2"),url(/assets/public-sans-latin-ext-500-normal-BHCCp-na.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2)format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff)format("woff");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}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2)format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2)format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2)format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff)format("woff");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}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2)format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2)format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff)format("woff");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:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2)format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff)format("woff");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{--brand-ink:#302f49;--brand-ink-2:#423f63;--brand-signal:#a700bf;--brand-signal-soft:#f5e3f8;--bg:#eef1f7;--bg-grad-a:#e6ebf5;--bg-grad-b:#f5f6fa;--surface:#ffffffa3;--surface-strong:#ffffffdb;--surface-solid:#fff;--surface-sunken:#302f490a;--surface-hover:#302f490e;--surface-active:#302f4917;--glass-border:#ffffffbf;--glass-blur:18px;--text:#1e1d36;--text-2:#4c4a6b;--text-3:#7e7c98;--text-inverse:#fff;--line:#302f491a;--line-strong:#302f492e;--ok:#12946a;--ok-soft:#e1f5ee;--warn:#c98a12;--warn-soft:#fbf1dc;--danger:#e0262c;--danger-soft:#fde8e8;--info:#2f6fd6;--info-soft:#e4edfb;--neutral:#7c809f;--neutral-soft:#eceef4;--sync:#6b4fd8;--sync-soft:#ece8fb;--focus:0 0 0 3px #2f6fd659;--font-display:"Saira", "Segoe UI", system-ui, sans-serif;--font-body:"Public Sans", "Segoe UI", system-ui, sans-serif;--fs-xs:.75rem;--fs-sm:.8125rem;--fs-md:.875rem;--fs-lg:1rem;--fs-xl:1.25rem;--fs-2xl:1.625rem;--fs-3xl:2.25rem;--r-xs:6px;--r-sm:9px;--r-md:13px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--shadow-1:0 1px 2px #1a1e450d;--shadow-2:0 6px 24px -10px #1a1e452e;--shadow-3:0 24px 60px -20px #1a1e4552;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sidebar-w:248px;--sidebar-w-collapsed:72px;--topbar-h:64px;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.18s}:root[data-theme=dark]{--bg:#0f1230;--bg-grad-a:#13173b;--bg-grad-b:#0c0f28;--surface:#1e23508c;--surface-strong:#222758d9;--surface-solid:#1a1e45;--surface-sunken:#ffffff0a;--surface-hover:#ffffff0f;--surface-active:#ffffff1a;--glass-border:#ffffff14;--text:#eef0fb;--text-2:#b6b9d6;--text-3:#8286ab;--line:#ffffff17;--line-strong:#ffffff29;--brand-ink:#c9b8ff;--brand-ink-2:#d9ccff;--ok-soft:#12946a2e;--warn-soft:#c98a122e;--danger-soft:#e0262c2e;--info-soft:#2f6fd633;--neutral-soft:#ffffff14;--sync-soft:#6b4fd838}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:var(--fs-md);color:var(--text);background:radial-gradient(1200px 600px at 85% -10%, #a700bf12, transparent 60%), radial-gradient(900px 700px at -10% 110%, #302f491a, transparent 60%), linear-gradient(160deg, var(--bg-grad-a), var(--bg-grad-b));-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;background-attachment:fixed;margin:0;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin:0}h1{font-size:var(--fs-2xl);font-weight:650;line-height:1.15}h2{font-size:var(--fs-xl);font-weight:620;line-height:1.25}h3{font-size:var(--fs-lg);font-weight:600;line-height:1.3}h4{font-size:var(--fs-md);font-weight:600}p{margin:0}a{color:var(--brand-ink);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus);border-radius:var(--r-xs);outline:none}::selection{background:#302f4929}code,.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.92em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.strong{font-weight:600}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row{align-items:center;gap:var(--sp-2);display:flex}.row-3{align-items:center;gap:var(--sp-3);display:flex}.col{gap:var(--sp-2);flex-direction:column;display:flex}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.stack-lg{gap:var(--sp-6);flex-direction:column;display:flex}.spacer{flex:1}.wrap{flex-wrap:wrap}.grid-2{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.glass{background:var(--surface);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);border:1px solid var(--glass-border);box-shadow:var(--shadow-1), var(--shadow-2)}.card{background:var(--surface);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:var(--shadow-1), var(--shadow-2);min-width:0}.card--flat{box-shadow:none;background:var(--surface-sunken);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:#0000}.card__head{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) 0;min-height:52px;display:flex}.card__title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600}.card__sub{color:var(--text-3);font-size:var(--fs-sm)}.card__body{padding:var(--sp-4) var(--sp-5) var(--sp-5)}.card__body--flush{padding:var(--sp-2) 0 var(--sp-2)}.btn{--btn-bg:var(--surface-strong);--btn-fg:var(--text);--btn-bd:var(--line-strong);border-radius:var(--r-sm);border:1px solid var(--btn-bd);background:var(--btn-bg);height:36px;color:var(--btn-fg);font-weight:560;font-size:var(--fs-md);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), transform 80ms;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.btn:hover{background:var(--surface-solid);border-color:var(--brand-ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn svg{flex:none;width:16px;height:16px}.btn--primary{--btn-bg:var(--brand-ink);--btn-fg:#fff;--btn-bd:var(--brand-ink)}.btn--primary:hover{background:var(--brand-ink-2);border-color:var(--brand-ink-2)}.btn--danger{--btn-bg:var(--danger);--btn-fg:#fff;--btn-bd:var(--danger)}.btn--danger:hover{background:#c81e24;border-color:#c81e24}.btn--ghost{--btn-bg:transparent;--btn-bd:transparent}.btn--ghost:hover{background:var(--surface-hover);border-color:#0000}.btn--sm{height:30px;font-size:var(--fs-sm);border-radius:var(--r-xs);padding:0 10px}.btn--lg{height:44px;font-size:var(--fs-lg);border-radius:var(--r-md);padding:0 20px}.btn--block{width:100%}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-2);cursor:pointer;transition:background var(--dur) var(--ease);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn--sm{width:28px;height:28px}.icon-btn svg{width:18px;height:18px}.icon-btn--sm svg{width:15px;height:15px}.icon-btn__dot{background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--surface-solid);border-radius:50%;position:absolute;top:7px;right:7px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{font-size:var(--fs-sm);color:var(--text-2);font-weight:560}.field__hint{font-size:var(--fs-xs);color:var(--text-3)}.field__error{font-size:var(--fs-xs);color:var(--danger)}.input,.select,.textarea{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-strong);width:100%;height:38px;transition:border-color var(--dur), box-shadow var(--dur);min-width:0;padding:0 12px}.textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--info);box-shadow:var(--focus);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.select{appearance:none;cursor:pointer;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='%237c809f' 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 11px center;background-repeat:no-repeat;padding-right:32px}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>svg{width:16px;height:16px;color:var(--text-3);pointer-events:none;position:absolute;left:11px}.input-wrap>.input{padding-left:34px}.input-wrap__kbd{position:absolute;right:8px}.kbd{border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--text-3);font-size:11px;font-family:var(--font-body);border-radius:5px;align-items:center;padding:1px 6px;display:inline-flex}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--brand-ink);cursor:pointer}.switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex;position:relative}.switch input{opacity:0;width:1px;height:1px;position:absolute}.switch__track{background:var(--line-strong);width:36px;height:20px;transition:background var(--dur);border-radius:999px;flex:none;position:relative}.switch__track:after{content:"";width:16px;height:16px;transition:transform var(--dur) var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.switch input:checked+.switch__track{background:var(--brand-ink)}.switch input:checked+.switch__track:after{transform:translate(16px)}.switch input:focus-visible+.switch__track{box-shadow:var(--focus)}.segmented{border-radius:var(--r-sm);background:var(--surface-sunken);border:1px solid var(--line);gap:2px;padding:3px;display:inline-flex}.segmented button{height:28px;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 12px;font-weight:560}.segmented button[aria-pressed=true]{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-1), 0 1px 4px #1a1e4514}.badge{--b-fg:var(--text-2);--b-bg:var(--neutral-soft);border-radius:var(--r-pill);background:var(--b-bg);height:22px;color:var(--b-fg);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:5px;padding:0 8px;font-weight:600;line-height:1;display:inline-flex}.badge svg{width:12px;height:12px}.badge--ok{--b-fg:var(--ok);--b-bg:var(--ok-soft)}.badge--warn{--b-fg:#9a6700;--b-bg:var(--warn-soft)}.badge--danger{--b-fg:var(--danger);--b-bg:var(--danger-soft)}.badge--info{--b-fg:var(--info);--b-bg:var(--info-soft)}.badge--sync{--b-fg:var(--sync);--b-bg:var(--sync-soft)}.badge--ink{--b-fg:#fff;--b-bg:var(--brand-ink)}.badge--outline{box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.dot{background:var(--neutral);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot--ok{background:var(--ok)}.dot--warn{background:var(--warn)}.dot--danger{background:var(--danger)}.dot--info{background:var(--info)}.dot--sync{background:var(--sync)}.dot--live{position:relative}.dot--live:after{content:"";color:inherit;opacity:0;animation:ping 1.8s var(--ease) infinite;border:2px solid;border-radius:50%;position:absolute;inset:-3px}.dot--ok.dot--live:after{color:var(--ok)}.dot--danger.dot--live:after{color:var(--danger)}@keyframes ping{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.avatar{--av:32px;width:var(--av);height:var(--av);font-family:var(--font-display);font-weight:600;font-size:calc(var(--av) * .38);color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--sm{--av:26px}.avatar--lg{--av:48px}.avatar--xl{--av:72px}.table-wrap{overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;font-weight:560;font-size:var(--fs-xs);color:var(--text-3);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1;padding:10px 14px;position:sticky;top:0}.table th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.table th button:focus-visible{box-shadow:var(--focus);border-radius:4px}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--dur)}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr.is-clickable{cursor:pointer}.table tbody tr.is-selected{background:var(--info-soft)}.table td.num,.table th.num{text-align:right}.table--compact td{padding:8px 14px}.pager{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);color:var(--text-3);font-size:var(--fs-sm);display:flex}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:10px 14px;font-weight:560;display:inline-flex;position:relative}.tabs button:hover,.tabs button[aria-selected=true]{color:var(--text)}.tabs button[aria-selected=true]:after{content:"";background:var(--brand-ink);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.tabs__count{background:var(--surface-active);color:var(--text-2);border-radius:999px;padding:1px 6px;font-size:11px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;animation:fade-in .16s var(--ease);background:#14173747;position:fixed;inset:0}.modal{z-index:101;border-radius:var(--r-xl);background:var(--surface-strong);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);border:1px solid var(--glass-border);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-3);animation:pop-in .2s var(--ease);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal--lg{width:min(820px,100vw - 32px)}.modal__head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-6) var(--sp-6) var(--sp-2);display:flex}.modal__body{padding:var(--sp-4) var(--sp-6);overflow-y:auto}.modal__foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6) var(--sp-6);display:flex}.drawer{z-index:101;border-radius:var(--r-xl);background:var(--surface-strong);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);border:1px solid var(--glass-border);width:min(520px,100vw - 24px);box-shadow:var(--shadow-3);animation:slide-in .24s var(--ease);flex-direction:column;display:flex;position:fixed;top:12px;bottom:12px;right:12px}.drawer--wide{width:min(760px,100vw - 24px)}.drawer__head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line);display:flex}.drawer__body{padding:var(--sp-5) var(--sp-6);flex:1;overflow-y:auto}.drawer__foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line);display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.98)}}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}.dropdown{display:inline-flex;position:relative}.menu{z-index:60;border-radius:var(--r-md);background:var(--surface-strong);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5);border:1px solid var(--glass-border);min-width:200px;box-shadow:var(--shadow-3);padding:6px;animation:.12s fade-in;position:absolute;top:calc(100% + 6px);right:0}.menu--left{left:0;right:auto}.menu__item{text-align:left;cursor:pointer;width:100%;color:var(--text);font-size:var(--fs-md);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.menu__item:hover,.menu__item:focus-visible{background:var(--surface-hover);box-shadow:none}.menu__item svg{width:16px;height:16px;color:var(--text-3)}.menu__item--danger,.menu__item--danger svg{color:var(--danger)}.menu__sep{background:var(--line);height:1px;margin:6px 4px}.menu__label{font-size:var(--fs-xs);color:var(--text-3);padding:6px 10px 4px}.tip{display:inline-flex;position:relative}.tip__bubble{background:var(--text);color:#fff;font-size:var(--fs-xs);white-space:nowrap;pointer-events:none;opacity:0;z-index:80;border-radius:7px;padding:5px 9px;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tip:hover .tip__bubble,.tip:focus-within .tip__bubble{opacity:1}.tip--right .tip__bubble{top:50%;bottom:auto;left:calc(100% + 10px);transform:translateY(-50%)}.toasts{z-index:200;flex-direction:column;gap:8px;width:min(380px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--r-md);background:var(--surface-strong);-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);border:1px solid var(--glass-border);box-shadow:var(--shadow-3);animation:toast-in .24s var(--ease);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.toast svg{flex:none;width:18px;height:18px;margin-top:1px}.toast--ok svg{color:var(--ok)}.toast--danger svg{color:var(--danger)}.toast--warn svg{color:var(--warn)}.toast--info svg{color:var(--info)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.state{text-align:center;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.state__icon{background:var(--surface-sunken);width:52px;height:52px;color:var(--text-3);border-radius:16px;place-items:center;display:grid}.state__icon svg{width:24px;height:24px}.state--error .state__icon{background:var(--danger-soft);color:var(--danger)}.state h3{color:var(--text)}.state p{max-width:44ch;font-size:var(--fs-sm)}.skeleton{background:linear-gradient(90deg, var(--surface-sunken) 0%, var(--surface-active) 50%, var(--surface-sunken) 100%);background-size:200% 100%;border-radius:8px;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.spinner{border:2px solid var(--line-strong);border-top-color:var(--brand-ink);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stat{padding:var(--sp-4) var(--sp-5);flex-direction:column;gap:4px;min-width:0;display:flex}.stat__label{color:var(--text-2);font-size:var(--fs-sm);align-items:center;gap:8px;display:flex}.stat__label svg{width:16px;height:16px;color:var(--text-3)}.stat__value{font-family:var(--font-display);font-size:var(--fs-3xl);letter-spacing:-.02em;font-weight:600;line-height:1.1}.stat__meta{font-size:var(--fs-xs);color:var(--text-3)}.meter{background:var(--surface-active);border-radius:999px;height:6px;overflow:hidden}.meter>span{border-radius:inherit;background:var(--brand-ink);height:100%;transition:width .4s var(--ease);display:block}.meter--ok>span{background:var(--ok)}.meter--warn>span{background:var(--warn)}.meter--danger>span{background:var(--danger)}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline li{gap:12px;padding:0 0 16px;display:flex;position:relative}.timeline li:before{content:"";background:var(--line);width:2px;position:absolute;top:28px;bottom:0;left:13px}.timeline li:last-child:before{display:none}.timeline__icon{background:var(--neutral-soft);width:28px;height:28px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;display:grid}.timeline__icon svg{width:14px;height:14px}.timeline__icon--ok{background:var(--ok-soft);color:var(--ok)}.timeline__icon--danger{background:var(--danger-soft);color:var(--danger)}.timeline__icon--warn{background:var(--warn-soft);color:var(--warn)}.timeline__icon--info{background:var(--info-soft);color:var(--info)}.timeline__icon--sync{background:var(--sync-soft);color:var(--sync)}.kv{grid-template-columns:minmax(120px,max-content) 1fr;gap:10px 20px;margin:0;display:grid}.kv dt{color:var(--text-3);font-size:var(--fs-sm)}.kv dd{min-width:0;margin:0}.section-title{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.section-title h3{font-size:var(--fs-md)}.filters{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.filters .input-wrap{flex:240px;max-width:360px}.filters .select{width:auto;min-width:140px}.chip{border:1px solid var(--line-strong);background:var(--surface-strong);height:28px;font-size:var(--fs-sm);cursor:pointer;color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip[aria-pressed=true]{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}.chip svg{width:14px;height:14px}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal__dow{font-size:var(--fs-xs);color:var(--text-3);text-align:center;padding:4px 0}.cal__day{aspect-ratio:1;background:var(--surface-sunken);min-height:34px;font-size:var(--fs-sm);cursor:pointer;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;display:flex;position:relative}.cal__day:hover{border-color:var(--line-strong)}.cal__day.is-out{opacity:.35}.cal__day.is-today{border-color:var(--brand-ink);font-weight:700}.cal__day.is-selected{background:var(--brand-ink);color:#fff}.cal__mark{border-radius:2px;width:70%;height:3px}.tip__bubble{display:none}.tip:hover .tip__bubble,.tip:focus-within .tip__bubble{animation:tip-in .12s var(--ease);display:block}@keyframes tip-in{0%{opacity:0}}.stat__value{white-space:nowrap;font-size:clamp(1.5rem, 2.1vw, var(--fs-3xl))}.stat{min-width:0}.shell{min-height:100vh;display:flex}.sidebar{height:100vh;width:var(--sidebar-w);z-index:40;transition:width .22s var(--ease);-webkit-backdrop-filter:blur(22px)saturate(1.5);border-right:1px solid var(--glass-border);background:#ffffff80;flex-direction:column;flex:none;gap:6px;padding:14px 12px;display:flex;position:sticky;top:0}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed)}.sidebar__brand{align-items:center;height:56px;margin-bottom:6px;padding:0 4px;display:flex}.sidebar__logo{object-fit:contain;object-position:left center;width:auto;max-width:100%;height:52px;display:block}.sidebar__emblem{width:38px;height:44px;margin:0 auto;display:block;overflow:hidden}.sidebar__emblem img{width:auto;max-width:none;height:44px;display:block}.sidebar__nav{scrollbar-width:thin;flex-direction:column;flex:1;gap:2px;padding-right:2px;display:flex;overflow:hidden auto}.sidebar__group{font-size:var(--fs-xs);color:var(--text-3);white-space:nowrap;padding:14px 12px 4px;font-weight:560}.is-collapsed .sidebar__group{background:var(--line);color:#0000;height:1px;margin:10px 14px;padding:0;overflow:hidden}.nav-link{border-radius:var(--r-sm);height:38px;color:var(--text-2);white-space:nowrap;transition:background var(--dur), color var(--dur);align-items:center;gap:12px;padding:0 12px;font-weight:540;text-decoration:none;display:flex;position:relative}.nav-link:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav-link svg{flex:none;width:18px;height:18px}.nav-link.active{background:var(--surface-solid);color:var(--brand-ink);box-shadow:var(--shadow-1), 0 2px 10px -4px #1a1e4533}.nav-link.active:before{content:"";background:var(--brand-signal);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px}.nav-link__count{background:var(--danger);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:18px;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:grid}.is-collapsed .nav-link{justify-content:center;padding:0}.is-collapsed .nav-link__label,.is-collapsed .nav-link__count{display:none}.sidebar__foot{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:8px;display:flex}.cc-tag{color:#fff;background:var(--brand-signal);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:30;height:var(--topbar-h);align-items:center;gap:var(--sp-4);padding:0 var(--sp-6);-webkit-backdrop-filter:blur(18px)saturate(1.4);border-bottom:1px solid var(--line);background:#eef1f7b8;grid-template-columns:minmax(0,1fr) minmax(0,520px) minmax(0,1fr);display:grid;position:sticky;top:0}.topbar__start,.topbar__end{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.topbar__end{justify-content:flex-end}.lang-btn svg{width:16px;height:16px}.topbar__search{border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface-strong);width:100%;height:38px;color:var(--text-3);cursor:text;text-align:left;align-items:center;gap:10px;padding:0 10px 0 12px;display:flex}.topbar__search svg{width:16px;height:16px}.topbar__search:hover{border-color:var(--text-3)}.topbar__search svg{flex:none}.topbar__search-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.topbar__search .kbd{flex:none}.topbar__scope{align-items:center;gap:8px;display:flex}.topbar__user{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:4px 8px 4px 4px;display:flex}.topbar__user:hover{background:var(--surface-hover)}.topbar__user-name{font-weight:600;font-size:var(--fs-sm);text-align:left;line-height:1.2}.topbar__user-role{font-size:var(--fs-xs);color:var(--text-3);text-align:left;line-height:1.2}.conn{font-size:var(--fs-xs);color:var(--text-2);background:var(--surface-strong);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;display:inline-flex}.support-banner{padding:8px var(--sp-6);background:var(--warn-soft);color:#7a5200;font-size:var(--fs-sm);border-bottom:1px solid #c98a124d;align-items:center;gap:10px;display:flex}.support-banner svg{width:16px;height:16px}.page{padding:var(--sp-6) var(--sp-6) var(--sp-10);gap:var(--sp-5);flex-direction:column;width:100%;max-width:1480px;margin:0 auto;display:flex}.page-head{align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-head__text{flex:320px;min-width:0}.page-head__text p{color:var(--text-2);max-width:72ch;margin-top:4px}.page-head__actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.crumbs{font-size:var(--fs-sm);color:var(--text-3);align-items:center;gap:6px;margin-bottom:6px;display:flex}.crumbs a{color:var(--text-3)}.crumbs svg{width:13px;height:13px}.palette{z-index:150;border-radius:var(--r-xl);background:var(--surface-strong);-webkit-backdrop-filter:blur(28px)saturate(1.6);backdrop-filter:blur(28px)saturate(1.6);border:1px solid var(--glass-border);width:min(640px,100vw - 32px);box-shadow:var(--shadow-3);animation:.14s fade-in;position:fixed;top:12vh;left:50%;overflow:hidden;transform:translate(-50%)}.palette__input{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.palette__input input{font-size:var(--fs-lg);background:0 0;border:0;outline:none;flex:1}.palette__input svg{width:20px;height:20px;color:var(--text-3)}.palette__list{max-height:52vh;padding:8px;overflow-y:auto}.palette__group{font-size:var(--fs-xs);color:var(--text-3);padding:8px 12px 4px}.palette__item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:9px 12px;display:flex}.palette__item.is-active{background:var(--surface-active)}.palette__item svg{width:16px;height:16px;color:var(--text-3);flex:none}.mobile-nav-btn{display:none}@media (width<=960px){.sidebar{transition:transform .24s var(--ease);background:var(--surface-strong);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:var(--sidebar-w)!important}.sidebar.is-open{box-shadow:var(--shadow-3);transform:none}.sidebar.is-collapsed .nav-link__label,.sidebar.is-collapsed .nav-link__count{display:inline}.mobile-nav-btn{display:inline-grid}.sidebar__collapse{display:none!important}.topbar{padding:0 var(--sp-4)}.page{padding:var(--sp-4) var(--sp-4) var(--sp-8)}.topbar__search .kbd,.topbar__user-text,.conn__label{display:none}.topbar{gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr) auto}}:root[dir=rtl]{--font-body:"Segoe UI", "Noto Sans Arabic", Tahoma, system-ui, sans-serif;--font-display:"Segoe UI", "Noto Sans Arabic", Tahoma, system-ui, sans-serif}[dir=rtl] .sidebar{border-right:0;border-left:1px solid var(--glass-border)}[dir=rtl] .nav-link.active:before{border-radius:3px 0 0 3px;left:auto;right:-12px}[dir=rtl] .nav-link__count{margin-left:0;margin-right:auto}[dir=rtl] .drawer{left:12px;right:auto}[dir=rtl] .toasts{left:20px;right:auto}[dir=rtl] .menu{left:0;right:auto}[dir=rtl] .menu--left{left:auto;right:0}[dir=rtl] .menu__item,[dir=rtl] .palette__item,[dir=rtl] .table th,[dir=rtl] .topbar__user-name,[dir=rtl] .topbar__user-role{text-align:right}[dir=rtl] .input-wrap>svg{left:auto;right:11px}[dir=rtl] .input-wrap>.input{padding-left:12px;padding-right:34px}[dir=rtl] .input-wrap__kbd{left:8px;right:auto}[dir=rtl] .select{background-position:11px;padding-left:32px;padding-right:12px}[dir=rtl] .crumbs svg,[dir=rtl] .sidebar__collapse svg{transform:scaleX(-1)}@media (width<=960px){[dir=rtl] .sidebar{left:auto;right:0;transform:translate(100%)}[dir=rtl] .sidebar.is-open{transform:none}}.topbar__user-text{min-width:0;max-width:180px}.topbar__user-name,.topbar__user-role{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar{grid-template-columns:minmax(0,1fr) minmax(200px,520px) minmax(max-content,1fr)}@media (width<=960px){.topbar{grid-template-columns:auto minmax(0,1fr) auto}}.nav-link__label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.support-banner--viewas{background:color-mix(in srgb, var(--info) 12%, var(--surface-solid));border-color:color-mix(in srgb, var(--info) 35%, transparent);color:var(--text)}
