:root{--brand:#01b5d2;--neon-2:#3dffc8;--hero-from:#06404e;--hero-mid:#0a6f84;--hero-to:#0fa3bd;--hero-btn:#9ff0ff;--hero-btn-fg:#053844;--side-bg:#020d11;--side-fg:#a9cdd6;--side-strong:#fff;--side-muted:#5f8791;--side-line:#01b5d224;--side-hover:#01b5d214;--side-accent:#01b5d2;--font:"Inter", "Noto Sans Lao", "Noto Sans Thai", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", sans-serif;--radius:10px;--radius-sm:6px;--radius-lg:14px;--ease:cubic-bezier(.2, .7, .2, 1);--sidebar-w:256px;--topbar-h:64px;--tabbar-h:64px;--control-h:40px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}:root,:root[data-mode=dark]{--primary:#01b5d2;--primary-strong:#3dd6ee;--primary-contrast:#021116;--primary-soft:#01b5d224;--primary-tint:#01b5d212;--btn-grad:linear-gradient(90deg, #01b5d2, #3dffc8);--success:#2fd38a;--success-soft:#2fd38a24;--warning:#f5b342;--warning-soft:#f5b34224;--danger:#ff5c6c;--danger-soft:#ff5c6c24;--info:#6c9bff;--info-soft:#6c9bff24;--violet:#a98bff;--violet-soft:#a98bff24;--bg:#030f14;--grid:#01b5d20d;--surface:#071a21;--surface-2:#0a222b;--surface-3:#0e2c36;--line:#01b5d226;--line-strong:#01b5d24d;--text:#dcf6fc;--text-2:#9fc3cc;--muted:#6b8f99;--overlay:#01080bb3;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 4px 14px -4px #00000080;--shadow-md:0 14px 34px -12px #0009;--shadow-lg:0 30px 80px -20px #000000bf;--glow:0 0 22px #01b5d238;--ring:0 0 0 3px #01b5d24d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-mode=light]{--primary:#0a7f96;--primary-strong:#076a7e;--primary-contrast:#fff;--primary-soft:#e0f4f8;--primary-tint:#f0fafc;--btn-grad:linear-gradient(90deg, #0a7f96, #0c9c8a);--success:#16a36a;--success-soft:#e4f7ee;--warning:#c27c0e;--warning-soft:#fdf3e1;--danger:#d43c3c;--danger-soft:#fdeaea;--info:#3b6fd8;--info-soft:#e8effc;--violet:#7b5cd6;--violet-soft:#efeafd;--bg:#eef5f7;--grid:#0a7f960f;--surface:#fff;--surface-2:#f4f9fa;--surface-3:#e8f1f4;--line:#d7e6ea;--line-strong:#bcd3d9;--text:#06222b;--text-2:#33545e;--muted:#6a858d;--overlay:#061e2673;--shadow-xs:0 1px 2px #09323e0d;--shadow-sm:0 2px 10px -2px #09323e14;--shadow-md:0 12px 30px -12px #09323e38;--shadow-lg:0 30px 70px -20px #06283259;--glow:0 0 0 transparent;--ring:0 0 0 3px #0a7f9638;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}h1,h2,h3,h4,p{margin:0}img{display:block}::selection{background:color-mix(in oklab, var(--brand) 35%, transparent)}.muted{color:var(--muted)}.xs{font-size:12px}.num{font-variant-numeric:tabular-nums}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.nowrap{white-space:nowrap}.pos{color:var(--success)}.neg{color:var(--danger)}.warn{color:var(--warning)}.r{text-align:right!important}.center{text-align:center}.with-logo{align-items:center;gap:8px;display:inline-flex}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100dvh;transition:grid-template-columns .25s var(--ease);display:grid}.shell[data-collapsed]{grid-template-columns:64px minmax(0,1fr)}.shell__main{flex-direction:column;min-width:0;min-height:0;display:flex}.shell__content{scrollbar-width:none;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:40px 40px;background-attachment:local;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.shell__content::-webkit-scrollbar{display:none}.shell__content>:first-child{flex:1 0 auto}.shell__mask{display:none}.sidebar{min-height:0;color:var(--side-fg);border-right:1px solid var(--side-line);background:radial-gradient(400px 260px at 0% 0%, #01b5d224, transparent 70%), var(--side-bg);flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar:after{content:"";pointer-events:none;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 3px);position:absolute;inset:0}.sidebar__brand{color:inherit;border-bottom:1px dashed var(--side-line);align-items:center;gap:10px;padding:16px;display:flex}.sidebar__mark{clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);background:#01b5d214;border:1px solid #01b5d273;flex:none;place-items:center;width:42px;height:42px;display:grid}.sidebar__brand-text{flex-direction:column;min-width:0;display:flex}.sidebar__brand-text b{letter-spacing:.03em;color:var(--side-strong);white-space:nowrap;font-size:16px;font-weight:800}.sidebar__brand-text b span{color:var(--brand)}.sidebar__brand-text small{font:600 10.5px/1.6 var(--font);letter-spacing:.14em;color:var(--neon-2);white-space:nowrap}.sidebar__nav{scrollbar-width:none;flex:1;padding:12px 12px 10px;overflow-y:auto}.sidebar__nav::-webkit-scrollbar{display:none}.sidebar__group+.sidebar__group{border-top:1px dashed var(--side-line);margin-top:10px;padding-top:10px}.sidebar__group-label{color:var(--side-muted);white-space:nowrap;align-items:center;gap:8px;padding:2px 10px 6px;font-size:11.5px;font-weight:700;display:flex}.sidebar__group-label i{font:700 10px/1 var(--font);color:var(--brand);opacity:.8;font-style:normal}.sidebar__item{border-radius:var(--radius-sm);height:42px;color:var(--side-fg);white-space:nowrap;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);border:1px solid #0000;align-items:center;gap:12px;margin:2px 0;padding:0 12px;font-size:14px;font-weight:500;display:flex;position:relative}.sidebar__item svg{color:var(--side-muted);transition:color .15s var(--ease);flex:none;font-size:19px}.sidebar__item span{text-overflow:ellipsis;overflow:hidden}.sidebar__item:hover{background:var(--side-hover);color:var(--side-strong)}.sidebar__item:hover svg{color:var(--side-accent)}.sidebar__item.active{color:var(--side-strong);background:linear-gradient(90deg,#01b5d238,#01b5d20a);border-color:#01b5d259;font-weight:600;box-shadow:inset 0 0 18px #01b5d21f}.sidebar__item.active svg{color:var(--brand);filter:drop-shadow(0 0 6px #01b5d2b3)}.sidebar__item.active:before{content:"";background:var(--brand);width:3px;box-shadow:0 0 12px var(--brand);position:absolute;top:8px;bottom:8px;left:-1px}.sidebar__badge{min-width:22px;height:20px;font:700 11px/1 var(--font);color:#fff;background:#ff4d5e;place-items:center;margin-left:auto;padding:0 6px;font-style:normal;display:inline-grid;box-shadow:0 0 10px #ff4d5e99}.sidebar__slogan{border-top:1px dashed var(--side-line);flex:none;min-height:128px;padding:16px 20px 0;position:relative}.sidebar__slogan p{z-index:1;white-space:nowrap;letter-spacing:-.01em;color:var(--side-strong);flex-direction:row;gap:6px;font-size:18px;font-weight:800;line-height:1.2;display:flex;position:relative}.sidebar__slogan span:last-child{color:var(--brand);text-shadow:0 0 14px #01b5d299}.sidebar__circuit{width:100%;height:64px;position:absolute;inset:auto 0 0}.sidebar__trace{fill:none;stroke:#01b5d259;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sidebar__node{fill:var(--neon-2);filter:drop-shadow(0 0 4px var(--neon-2))}.shell[data-collapsed] .sidebar__brand-text,.shell[data-collapsed] .sidebar__group-label,.shell[data-collapsed] .sidebar__item span,.shell[data-collapsed] .sidebar__slogan{display:none}.shell[data-collapsed] .sidebar__brand{justify-content:center;padding-inline:0}.shell[data-collapsed] .sidebar__nav{padding-inline:10px}.shell[data-collapsed] .sidebar__item{justify-content:center;width:44px;margin-inline:auto;padding:0}.shell[data-collapsed] .sidebar__badge{min-width:16px;height:16px;padding:0 3px;font-size:9.5px;position:absolute;top:2px;right:0}.shell[data-collapsed] .topbar__collapse svg{rotate:180deg}.topbar{z-index:5;height:calc(var(--topbar-h) + var(--safe-top));padding:var(--safe-top) calc(20px + var(--safe-right)) 0 calc(12px + var(--safe-left));background:color-mix(in oklab, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;display:flex;position:relative}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--primary) 30%, var(--neon-2) 70%, transparent);opacity:.45;height:1px;position:absolute;bottom:-1px;left:0;right:0}.topbar__spacer{flex:1}.topbar__collapse svg{transition:rotate .25s var(--ease)}.topbar__tool[aria-pressed=true]{color:var(--primary);background:var(--primary-soft)}.topbar__bell{position:relative}.topbar__bell em{min-width:17px;height:17px;font:700 10px/1 var(--font);color:#fff;background:var(--danger);box-shadow:0 0 0 2px var(--bg), 0 0 10px var(--danger);border-radius:999px;place-items:center;padding:0 4px;font-style:normal;display:grid;position:absolute;top:1px;right:-1px}.top-search{min-width:0;height:var(--control-h);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);flex:0 420px;align-items:center;display:flex;position:relative}.top-search:focus-within{border-color:var(--primary);box-shadow:var(--ring), var(--glow)}.top-search input{border-radius:inherit;flex:1;min-width:0;height:100%!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0 16px 0 40px!important}.top-search__icon{color:var(--muted);pointer-events:none;font-size:17px;position:absolute;left:13px}.top-search__key{border:1px solid var(--line-strong);background:var(--surface-2);min-width:22px;height:22px;font:600 12px/1 var(--font);color:var(--muted);pointer-events:none;border-radius:4px;flex:none;place-items:center;margin-right:8px;padding:0 6px;display:grid}.top-search:focus-within .top-search__key{display:none}.top-search__list{z-index:30;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);min-width:min(360px,100vw - 24px);max-height:60vh;box-shadow:var(--shadow-lg), var(--glow);animation:pop-in .18s var(--ease);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.top-search__list li{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:8px 10px;display:flex}.top-search__list li:hover,.top-search__list li[aria-selected=true]{background:var(--surface-3)}.top-search__list li>span:last-child{flex-direction:column;min-width:0;display:flex}.top-search__list b{font-size:13.5px;font-weight:600}.top-search__list small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.top-search__item-icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--primary);background:var(--primary-soft);flex:none;place-items:center;font-size:17px;display:grid}.top-search__list .top-search__empty{cursor:default;color:var(--muted);text-align:center;flex-direction:column;gap:6px;padding:20px 12px}.top-search__list .top-search__empty:hover{background:0 0}.top-search__list .top-search__empty svg{font-size:22px}@keyframes pop-in{0%{opacity:0;translate:0 -6px}}.user-chip{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);height:44px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);flex:none;align-items:center;gap:10px;margin-left:4px;padding:0 10px 0 4px;display:inline-flex}.user-chip:hover{border-color:var(--line-strong)}.user-chip:focus-visible{box-shadow:var(--ring);outline:none}.topbar:has(.menu-pop:popover-open) .user-chip{border-color:var(--primary);box-shadow:var(--ring)}.user-chip__avatar{width:34px;height:34px;color:var(--primary-contrast);background:var(--btn-grad);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);flex:none;place-items:center;font-weight:800;display:grid}.user-chip__text{text-align:start;flex-direction:column;min-width:0;line-height:1.2;display:flex}.user-chip__text b{white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:13.5px;font-weight:600;overflow:hidden}.user-chip__text small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:11.5px;overflow:hidden}.user-chip__caret{color:var(--muted)}.menu-pop{inset:calc(var(--topbar-h) + var(--safe-top) + 6px) calc(12px + var(--safe-right)) auto auto;min-width:240px;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg), var(--glow);margin:0;padding:6px;position:fixed}.menu-pop:popover-open{animation:pop-in .18s var(--ease);flex-direction:column;display:flex}.menu-pop:not(:popover-open){display:none}.menu-pop hr{border:0;border-top:1px dashed var(--line);width:100%;margin:6px 0}.menu-pop>button{border-radius:var(--radius-sm);text-align:start;background:0 0;border:0;align-items:center;gap:10px;min-height:38px;padding:0 10px;font-weight:500;display:flex}.menu-pop>button svg{color:var(--muted);font-size:17px}.menu-pop>button:hover{background:var(--surface-3)}.menu-pop>button[aria-checked=true]{color:var(--primary);background:var(--primary-soft);font-weight:600}.menu-pop>button[aria-checked=true] svg{color:var(--primary)}.menu-pop>button[data-tone=danger],.menu-pop>button[data-tone=danger] svg{color:var(--danger)}.menu-pop>button[data-tone=danger]:hover{background:var(--danger-soft)}.menu-pop__head{flex-direction:column;padding:8px 10px 4px;display:flex}.menu-pop__head b{font-size:14px}.menu-pop__head small{color:var(--muted);font-size:12px}.menu-pop__label{font:600 10.5px/1.6 var(--font);letter-spacing:.14em;color:var(--muted);padding:4px 10px}.app-footer{border-top:1px dashed var(--line);width:100%;max-width:1400px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto;padding:14px 28px 18px;font-size:12.5px;display:flex}.app-footer>b{letter-spacing:.03em;color:var(--text);font-size:13px;font-weight:800}.app-footer>b span{color:var(--primary)}.app-footer__status{font-family:var(--font);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.app-footer__status i{background:var(--success);width:7px;height:7px;box-shadow:0 0 8px var(--success);border-radius:50%}.app-footer__status[data-offline]{color:var(--danger)}.app-footer__status[data-offline] i{background:var(--danger);box-shadow:0 0 8px var(--danger)}.app-footer__meta{border-left:1px solid var(--line);font-family:var(--font);padding-left:10px;font-size:11.5px}.tabbar{display:none}@media (width<=1024px){.shell,.shell[data-collapsed]{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:60;width:calc(min(280px, 86vw) + var(--safe-left));padding:var(--safe-top) 0 var(--safe-bottom) var(--safe-left);transition:translate .28s var(--ease);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;translate:-102%}.sidebar[data-open]{translate:0}.shell[data-collapsed] .sidebar__brand-text,.shell[data-collapsed] .sidebar__group-label{display:flex}.shell[data-collapsed] .sidebar__item span{display:inline}.shell[data-collapsed] .sidebar__slogan{display:block}.shell[data-collapsed] .sidebar__brand{justify-content:flex-start;padding-inline:16px}.shell[data-collapsed] .sidebar__nav{padding-inline:12px}.shell[data-collapsed] .sidebar__item{justify-content:flex-start;width:auto;margin-inline:0;padding:0 12px}.shell[data-collapsed] .sidebar__badge{min-width:22px;height:20px;padding:0 6px;font-size:11px;position:static}.shell__mask{z-index:55;background:var(--overlay);animation:fade .2s var(--ease);display:block;position:fixed;inset:0}}@media (height<=720px){.sidebar__slogan{display:none!important}}@media (width<=640px){.shell{--topbar-h:56px}.topbar{padding-right:calc(10px + var(--safe-right));gap:4px}.user-chip__text,.user-chip__caret,.app-footer__tag,.app-footer__meta{display:none}.user-chip{background:0 0;border:0;height:40px;margin-left:2px;padding:0}.top-search{flex:0 0 var(--control-h);width:var(--control-h)}.top-search input{cursor:pointer;color:#0000!important;padding:0!important}.top-search input::placeholder{color:#0000!important}.top-search:focus-within{z-index:4;left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));width:auto;position:absolute}.top-search:focus-within input{cursor:text;color:var(--text)!important;padding:0 14px 0 40px!important}.top-search:focus-within input::placeholder{color:var(--muted)!important}.top-search:focus-within .top-search__icon{left:13px;translate:none}.top-search__key{display:none}.top-search__icon{left:50%;translate:-50%}.top-search__list{min-width:0}.topbar .topbar__tool{display:none}.app-footer{padding-inline:16px}.tabbar{z-index:40;height:calc(var(--tabbar-h) + var(--safe-bottom));padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);background:color-mix(in oklab, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.4);border-top:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.tabbar__tab{min-width:0;color:var(--muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;line-height:1.2;display:flex;position:relative}.tabbar__tab.active{color:var(--primary)}.tabbar__tab.active .tabbar__icon{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--line-strong)}.tabbar__icon{border-radius:var(--radius-sm);place-items:center;width:54px;height:30px;font-size:21px;display:grid;position:relative}.tabbar__icon em{min-width:18px;height:18px;font:700 10px/1 var(--font);color:#fff;background:var(--danger);box-shadow:0 0 0 2px var(--surface);border-radius:999px;place-items:center;padding:0 5px;font-style:normal;display:grid;position:absolute;top:-4px;left:calc(50% + 6px)}.tabbar__label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding-inline:2px;overflow:hidden}.shell:has(.tabbar) .shell__content{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom))}html:has(:is(input:not([type=checkbox],[type=radio]),textarea,select):focus) .tabbar{display:none}}.page{width:100%;max-width:1400px;animation:in .25s var(--ease);flex-direction:column;gap:18px;margin-inline:auto;padding:24px 28px 32px;display:flex}@media (width<=700px){.page{padding:16px}}@keyframes in{0%{opacity:0;transform:translateY(4px)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:24px;font-weight:800}.page-head p{margin-top:2px}.page-head p a{align-items:center;gap:4px;display:inline-flex}.page-head__code{font:600 11px/1 var(--font);letter-spacing:.16em;color:var(--primary);align-items:center;gap:6px;margin-bottom:4px;display:inline-flex}.page-head__code:before{content:"";background:var(--neon-2);width:7px;height:7px;box-shadow:0 0 8px var(--neon-2)}.page-head__actions{flex-wrap:wrap;gap:8px;display:flex}.btn{min-height:var(--control-h);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.btn svg{font-size:17px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn--block{width:100%}.btn--sm{min-height:32px;padding:0 12px;font-size:13px}.btn--primary{background:var(--btn-grad);color:var(--primary-contrast);box-shadow:0 6px 18px -8px color-mix(in oklab, var(--primary) 80%, transparent)}.btn--primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 8px 22px -6px color-mix(in oklab, var(--primary) 90%, transparent)}.btn--outline{border-color:var(--primary);color:var(--primary);background:0 0}.btn--outline:hover:not(:disabled){background:var(--primary-tint)}.btn--ghost{color:var(--text-2);background:0 0}.btn--ghost:hover{background:var(--surface-3)}.btn--soft{background:var(--primary-soft);color:var(--primary-strong);border-color:color-mix(in oklab, var(--primary) 25%, transparent)}.btn--soft:hover:not(:disabled){border-color:var(--primary)}.btn--danger{background:var(--danger);color:#fff}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-2);background:0 0;border:0;flex:none;place-items:center;font-size:18px;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--primary)}.icon-btn:focus-visible{box-shadow:var(--ring);outline:none}.icon-btn:disabled{opacity:.35}.icon-btn--danger{color:var(--danger)}.icon-btn--danger:hover:not(:disabled){color:var(--danger);background:var(--danger-soft)}.link-btn{color:var(--primary);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}.spinner{border:2px solid color-mix(in oklab, currentColor 35%, transparent);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:var(--text-2);font-size:12.5px;font-weight:600}input:not([type=checkbox]):not([type=color]),select,textarea{width:100%;min-width:0;height:var(--control-h);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);outline:0;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}input:not([type=checkbox]):not([type=color])::placeholder,select::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:not([type=checkbox]):not([type=color]):focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--ring), var(--glow)}textarea{resize:vertical;height:auto;padding:10px 12px}.check{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:inline-flex}.check input{width:17px;height:17px;accent-color:var(--primary)}.check--field{height:var(--control-h);align-self:end}.form{flex-direction:column;gap:14px;display:flex}.grid-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);border-left:3px solid var(--danger);padding:10px 12px;font-weight:600}.search{height:var(--control-h);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--muted);flex:260px;align-items:center;gap:8px;min-width:min(260px,100%);max-width:420px;padding:0 12px;display:flex}.search input{box-shadow:none!important;background:0 0!important;border:0!important;height:auto!important;padding:0!important}.search:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters select,.filters input[type=date]{width:auto;min-width:150px}@media (width<=640px){.filters .search{flex-basis:100%;max-width:none}.filters select,.filters input[type=date]{flex:calc(50% - 5px);min-width:0}}.page-tabs{scrollbar-width:none;align-self:flex-start;max-width:100%;overflow-x:auto}.page-tabs button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.seg{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);padding:3px;display:inline-flex}.seg button{color:var(--text-2);background:0 0;border:0;border-radius:4px;padding:6px 14px;font-weight:600}.seg button:hover{color:var(--primary)}.seg .is-active{background:var(--btn-grad);color:var(--primary-contrast)}.seg .is-active:hover{color:var(--primary-contrast)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs);min-width:0;padding:18px;position:relative}.panel:before,.panel:after{content:"";pointer-events:none;border:2px solid var(--primary);opacity:.7;width:12px;height:12px;position:absolute}.panel:before{border-top-left-radius:inherit;border-bottom:0;border-right:0;top:0;left:0}.panel:after{border-bottom-right-radius:inherit;border-top:0;border-left:0;bottom:0;right:0}.panel--flush{padding:0;overflow:hidden}.panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel__head h2{align-items:center;gap:8px;font-size:16px;font-weight:750;display:inline-flex}.panel__head a{align-items:center;gap:4px;font-weight:600;display:inline-flex}.panel--flush>.panel__head{border-bottom:1px solid var(--line);margin:0;padding:14px 18px}.grid-2{grid-template-columns:1.6fr 1fr;gap:18px;display:grid}@media (width<=1100px){.grid-2{grid-template-columns:1fr}}.alert{border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 16px;font-weight:600;display:flex}.alert--warn{background:var(--warning-soft);color:color-mix(in oklab, var(--warning) 75%, var(--text));border:1px solid color-mix(in oklab, var(--warning) 35%, transparent);border-left-width:3px}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;display:flex}.empty h3{font-size:15px}.empty p{color:var(--muted)}.empty__icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border:1px solid var(--line-strong);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);place-items:center;font-size:26px;display:grid}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.2s infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}.badge{white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px}.badge--success{background:var(--success-soft);color:var(--success);border-color:color-mix(in oklab, var(--success) 30%, transparent)}.badge--warning{background:var(--warning-soft);color:var(--warning);border-color:color-mix(in oklab, var(--warning) 30%, transparent)}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in oklab, var(--danger) 30%, transparent)}.badge--info{background:var(--info-soft);color:var(--info);border-color:color-mix(in oklab, var(--info) 30%, transparent)}.badge--muted{background:var(--surface-2);color:var(--muted);border-color:var(--line)}.badge--muted:before{box-shadow:none}.pill{vertical-align:2px;border-radius:4px;padding:1px 7px;font-size:10.5px;font-weight:800;display:inline-flex}.pill--hot{color:#fff;background:linear-gradient(90deg,#ff6a3d,#ff3d71);box-shadow:0 0 10px #ff3d7173}.tag{font:700 11px/1.5 var(--font);background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 8px;display:inline-flex}.tag--mock{background:var(--violet-soft);color:var(--violet);border-color:#0000}.tag--manual{background:var(--warning-soft);color:var(--warning);border-color:#0000}.tag--http{background:var(--success-soft);color:var(--success);border-color:#0000}.bank-logo{border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--bank);background:#fff;flex:none;place-items:center;display:inline-grid;overflow:hidden}.bank-logo img{object-fit:contain;width:80%;height:80%}.bank-logo--wallet{background:var(--primary-soft)}.game-thumb{object-fit:cover;flex:none}.game-thumb--empty{color:#fff;place-items:center;display:grid}.brand{align-items:center;gap:10px;display:flex}.brand__name{font-size:18px;font-weight:800}.brand__name span{color:var(--primary)}.brand__tag{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font:600 11px/1.4 var(--font);letter-spacing:.08em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:11px 14px}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table tr:last-child td{border-bottom:0}.table--click tbody tr{cursor:pointer}.table--click tbody tr:hover td{background:var(--primary-tint)}.table--click tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--primary)}.table--compact th,.table--compact td{padding:8px 10px}.table .is-hot td:first-child{box-shadow:inset 3px 0 0 var(--warning)}.table .is-dim td{opacity:.55}.table .meta{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.panel .table th:first-child,.panel .table td:first-child{padding-left:18px}.cell-game{align-items:center;gap:10px;display:inline-flex}.cell-game>span{flex-direction:column;display:flex}.cell-game>span small{color:var(--muted)}.stack-cell{flex-direction:column;display:flex}.stack-cell small{color:var(--muted);font-size:12px}.pager{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.pager>div{font-family:var(--font);align-items:center;gap:6px;font-size:12.5px;display:flex}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpis+.kpis{margin-top:-6px}@media (width<=1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.kpis{gap:10px}.kpis+.kpis{margin-top:-8px}}@media (width<=340px){.kpis{grid-template-columns:minmax(0,1fr)}}.kpi{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);--c:var(--primary);min-width:0;transition:border-color .15s, transform .15s var(--ease);align-items:flex-start;gap:12px;padding:14px;display:flex;position:relative;overflow:hidden}.kpi--teal{--c:var(--primary)}.kpi--green{--c:var(--success)}.kpi--blue{--c:var(--info)}.kpi--violet{--c:var(--violet)}.kpi--amber{--c:var(--warning)}.kpi--slate{--c:var(--muted)}.kpi:before{content:"";background:var(--c);width:2px;box-shadow:0 0 10px var(--c);border-radius:0 2px 2px 0;position:absolute;top:12px;bottom:12px;left:0}.kpi:after{content:"";pointer-events:none;background:radial-gradient(140px 80px at 0% 0%, color-mix(in oklab, var(--c) 12%, transparent), transparent 70%);position:absolute;inset:0}.kpi:hover{border-color:color-mix(in oklab, var(--c) 45%, var(--line));transform:translateY(-1px)}.kpi.is-loading .kpi__value{color:var(--line-strong)}@media (width<=760px){.kpi{gap:10px;padding:12px}}.kpi__icon{z-index:1;border-radius:var(--radius-sm);width:36px;height:36px;color:var(--c);background:color-mix(in oklab, var(--c) 14%, transparent);border:1px solid color-mix(in oklab, var(--c) 28%, transparent);flex:none;place-items:center;font-size:17px;display:grid;position:relative}@media (width<=760px){.kpi__icon{width:30px;height:30px;font-size:15px}}.kpi__body{z-index:1;flex-direction:column;gap:1px;min-width:0;display:flex;position:relative}.kpi__label{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.kpi__value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:20px;font-weight:800;line-height:1.25}.kpi__value small{color:var(--muted);font-size:11.5px;font-weight:600}@media (width<=760px){.kpi__value{font-size:17px}}.kpi__sub{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.chart{width:100%;height:auto}.chart__grid{stroke:var(--line);stroke-dasharray:3 4}.chart__tick{font-size:11px;font-family:var(--font);fill:var(--muted)}.chart__bar{fill:var(--primary);opacity:.8;transition:opacity .15s}.chart__bar:hover{opacity:1;filter:drop-shadow(0 0 6px var(--primary))}.chart__dot{fill:var(--surface);stroke:var(--violet);stroke-width:2.5px}.chart-ph{height:220px}.legend{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.legend i{display:inline-block}.lg-bar{background:var(--primary);border-radius:2px;width:10px;height:10px;margin-left:8px}.lg-dot{border:2.5px solid var(--violet);border-radius:50%;width:10px;height:10px;margin-left:8px}.rank{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.rank li{align-items:center;gap:10px;display:flex}.rank__no{width:22px;font:700 12px/1 var(--font);color:var(--primary);text-align:center}.rank__body{flex:1;min-width:0}.rank__body>div:first-child{justify-content:space-between;gap:8px;display:flex}.rank__body>div:first-child b{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.rank__body>div:first-child .num{flex:none}.rank__bar{background:var(--surface-3);border-radius:1px;height:5px;margin:5px 0 2px}.rank__bar i{background:var(--btn-grad);height:100%;box-shadow:0 0 8px color-mix(in oklab, var(--primary) 60%, transparent);border-radius:1px;display:block}.methods{border-top:1px dashed var(--line);grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:14px;display:grid}.methods>div{align-items:center;gap:8px;font-size:13px;display:flex}.methods>div>span:not(.bank-logo){flex:1}.modal-backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:90;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal-backdrop--side{place-items:stretch end;padding:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg), var(--glow);animation:pop .2s var(--ease);position:relative;overflow:auto}.modal--side{max-width:100vw;height:100dvh;max-height:none;animation:slide .25s var(--ease);border-width:0 0 0 1px;border-radius:0}@media (width<=480px){.modal{max-height:calc(100dvh - 32px)}}@keyframes pop{0%{opacity:0;transform:scale(.97)}}@keyframes slide{0%{opacity:.5;transform:translate(30px)}}.modal__head{z-index:1;background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.modal__head h3{font-size:17px}.modal__head:after{content:"";background:var(--btn-grad);width:48px;height:2px;box-shadow:0 0 10px var(--primary);position:absolute;bottom:-1px;left:20px}.modal__body{padding:18px 20px 24px}.detail{flex-direction:column;gap:16px;display:flex}.detail__hero{align-items:center;gap:12px;display:flex}.detail__hero>div{flex-direction:column;flex:1;display:flex}.detail__hero>div b{font-size:17px}.detail__hero>div span{color:var(--muted)}.player-box{border-radius:var(--radius-sm);background:var(--primary-tint);border:1px dashed var(--line-strong);gap:8px;padding:14px;display:grid}.player-box>div{grid-template-columns:110px 1fr auto;align-items:center;display:grid}.player-box>div small{color:var(--muted)}.player-box>div b{font-size:16px;font-family:var(--font)}.kv{flex-direction:column;margin:0;display:flex}.kv>div{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:10px;padding:9px 0;display:grid}@media (width<=420px){.kv>div{grid-template-columns:minmax(0,1fr);gap:2px}}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.action-box{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);flex-direction:column;gap:10px;padding:16px;display:flex}.action-box h4{font-size:15px}.action-box--danger{border-color:color-mix(in oklab, var(--danger) 35%, transparent);background:var(--danger-soft)}.row-btns{flex-wrap:wrap;gap:8px;display:flex}.sub-title{margin-top:4px;font-size:14px;font-weight:750}.cust-card{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg, var(--hero-from), var(--hero-mid) 60%, var(--hero-to));border:1px solid #01b5d266;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:16px;display:flex;position:relative;overflow:hidden}.cust-card>div{flex-direction:column;min-width:0;display:flex}.cust-card b{font-size:17px}.cust-card span,.cust-card small{opacity:.85;overflow-wrap:anywhere;font-size:12.5px}.cust-card__bal{text-align:right;flex:none;margin-left:auto}.cust-card__bal b{font-variant-numeric:tabular-nums;text-shadow:0 0 14px #9ff0ff99;font-size:21px}.game-cards{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:14px;display:grid}.game-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--text);grid-template-columns:auto 1fr;gap:12px 14px;padding:14px;transition:all .15s;display:grid;position:relative}.game-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm), var(--glow);transform:translateY(-1px)}.game-card.is-hidden{opacity:.6}.game-card__body{flex-direction:column;gap:3px;min-width:0;display:flex}.game-card__body b{font-size:15.5px}.game-card__meta{gap:6px;margin-top:2px;display:flex}.game-card__stats{border-top:1px dashed var(--line);color:var(--muted);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:10px;font-size:12px;display:grid}.game-card__stats b{color:var(--text);font-variant-numeric:tabular-nums;font-size:13.5px}.editor{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=1100px){.editor{grid-template-columns:1fr}}.editor__preview{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);align-items:center;gap:14px;padding:12px;display:flex}.editor__preview>div{flex-direction:column;display:flex}.editor__preview>div b{font-size:17px}.color-input{gap:6px;display:flex}.color-input input[type=color]{width:44px;height:var(--control-h);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);padding:2px}.image-picker{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.image-picker[data-shape=wide] .image-picker__preview{width:208px;height:90px}.image-picker__preview{cursor:pointer;width:84px;height:84px;color:var(--muted);border-radius:var(--radius-sm);border:1px dashed var(--line-strong);background:var(--surface-2);flex:none;place-items:center;padding:0;font-size:26px;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}.image-picker__preview img{object-fit:cover;width:100%;height:100%}.image-picker__preview:hover{border-color:var(--primary);color:var(--primary)}.image-picker__preview:focus-visible{box-shadow:var(--ring);outline:none}.image-picker__ctl{flex-direction:column;flex:180px;align-items:flex-start;gap:6px;min-width:0;display:flex}.image-picker__ctl small{font-size:12px}.server-box{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);flex-direction:column;gap:8px;padding:12px;display:flex}.server-row{grid-template-columns:1fr 1fr auto;gap:6px;display:grid}.margin{font-weight:700}.banner-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:14px;display:grid}.banner-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .15s;overflow:hidden}.banner-card:hover{border-color:var(--line-strong)}.banner-card.is-hidden{opacity:.55}.banner-card__img{background:linear-gradient(135deg, var(--hero-from), var(--hero-to)) center/cover;color:#fff;align-items:flex-end;height:150px;padding:16px;display:flex;position:relative}.banner-card__img:before{content:"";background:linear-gradient(90deg,#04303cd9,#0000 75%);position:absolute;inset:0}.banner-card__img>div{flex-direction:column;display:flex;position:relative}.banner-card__img>div b{font-size:18px}.banner-card__img>div small{opacity:.85}.banner-card__foot{justify-content:space-between;align-items:center;padding:8px 10px 8px 14px;font-size:12.5px;display:flex}.create-order{gap:16px}.create-order__step{border-bottom:1px dashed var(--line);flex-direction:column;gap:10px;padding-bottom:16px;display:flex}.create-order__step h4{align-items:center;gap:8px;font-size:14px;display:flex}.create-order__step h4 i{width:22px;height:22px;color:var(--primary-contrast);background:var(--btn-grad);border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:800;display:grid}.create-order__step[aria-disabled]{opacity:.5;pointer-events:none}.create-order__row{align-items:flex-end;gap:8px;display:flex}.create-order__row .field{flex:1;min-width:0}.create-order__row .btn{flex:none}.create-order__customer{border-radius:var(--radius-sm);background:var(--primary-tint);border:1px solid var(--line-strong);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.create-order__customer small{color:var(--muted)}.create-order__new{border-radius:var(--radius-sm);color:var(--text-2);background:var(--warning-soft);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.create-order__new svg{color:var(--warning);flex:none;margin-top:2px}.create-order__packages{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.create-order__pkg{text-align:start;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);background:var(--surface-2);border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.create-order__pkg b{font-size:13px}.create-order__pkg small{color:var(--success);font-size:11.5px}.create-order__pkg span{color:var(--primary);font-weight:700}.create-order__pkg:hover{border-color:var(--line-strong)}.create-order__pkg[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.create-order__check{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;font-weight:600;display:flex}.create-order__pay{align-self:flex-start}.create-order__pay button{align-items:center;gap:6px;display:inline-flex}.create-order__pay button:disabled{opacity:.45;cursor:not-allowed}.create-order__total{border-radius:var(--radius-sm);background:var(--surface-2);justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px;display:flex}.create-order__total span{color:var(--muted);font-size:13px}.create-order__total b{font-size:22px}.create-order__total b small{color:var(--muted);font-size:12px}.create-order__received{border-radius:var(--radius-sm);border:1px dashed var(--success);background:var(--success-soft);padding:10px 12px}.bank-logo--cash{color:var(--bank);background:color-mix(in oklab, var(--bank) 14%, var(--surface))}.perm-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 18px;display:flex}.perm-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-left:auto;font-size:12px;display:flex}.perm-legend>span{align-items:center;gap:6px;display:inline-flex}.perm-legend .perm-chip{width:14px;height:10px;padding:0}@media (width<=760px){.perm-legend{margin-left:0}}.perm-table .perm-table__no{text-align:center;width:44px}.perm-group td{letter-spacing:.04em;color:var(--primary);background:var(--primary-tint);padding:8px 18px;font-size:12px;font-weight:700}.perm-chips{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.perm-chip{white-space:nowrap;color:var(--text-2);background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:4px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.perm-chip[data-full]{color:var(--primary-strong);background:var(--primary-soft);border:1px solid color-mix(in oklab, var(--primary) 35%, transparent)}.perm-dot{vertical-align:middle;background:var(--warning);width:7px;height:7px;box-shadow:0 0 6px var(--warning);border-radius:50%;margin-left:6px;display:inline-block}.perm-dot--edited{background:var(--primary);box-shadow:0 0 6px var(--primary)}.perm-lock{color:var(--muted);vertical-align:-1px;font-size:13px}.perm-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;font-size:12.5px;display:flex}.perm-skel{flex-direction:column;gap:10px;padding:18px;display:flex}.perm-drawer{flex-direction:column;gap:14px;min-height:100%;display:flex}.perm-drawer__path{color:var(--muted);margin-left:6px;font-size:12px;font-weight:500}.perm-drawer__roles{scrollbar-width:none;align-self:stretch;overflow-x:auto}.perm-drawer__roles button{white-space:nowrap;flex:1 0 auto}.perm-drawer__foot{background:var(--surface);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:auto -20px -24px;padding:12px 20px;display:flex;position:sticky;bottom:-24px}.perm-actions{border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.perm-action{justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.perm-action+.perm-action{border-top:1px solid var(--line)}.perm-action[data-changed]{background:var(--primary-tint)}.perm-action__label{align-items:center;gap:10px;min-width:0;font-weight:600;display:flex}.perm-action__label svg{color:var(--muted);flex:none;font-size:17px}.perm-action__label[data-custom] svg{color:var(--warning)}.perm-hint{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.perm-hint>span{align-items:center;display:inline-flex}.perm-hint .perm-dot{margin:0 6px 0 0}.switch{cursor:pointer;flex:none;display:inline-flex;position:relative}.switch input{appearance:none;cursor:pointer;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:999px;margin:0;transition:background .15s,border-color .15s,box-shadow .15s;width:40px!important;height:22px!important;padding:0!important}.switch input:after{content:"";background:var(--muted);width:16px;height:16px;transition:transform .18s var(--ease), background .15s;border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked{background:var(--btn-grad);box-shadow:0 0 10px color-mix(in oklab, var(--primary) 45%, transparent);border-color:#0000}.switch input:checked:after{background:#fff;transform:translate(18px)}.switch input:disabled{opacity:.45;cursor:not-allowed}.switch input:focus-visible{box-shadow:var(--ring);outline:none}.menu-pop__lang{align-items:center;gap:10px;padding:4px 4px 4px 10px;font-size:14px;display:flex}.menu-pop__lang>svg{color:var(--muted);flex:none;font-size:17px}.menu-pop__lang>span{min-width:0;color:var(--text-2);white-space:nowrap;flex:1}.menu-pop__lang>select{flex:none;width:auto;min-width:130px;height:34px}.lang-btn{border-radius:var(--radius-sm);height:32px;font:600 12px/1 var(--font);letter-spacing:.04em;cursor:pointer;color:#d8f7ff;background:#01b5d21a;border:1px solid #01b5d266;align-items:center;gap:6px;padding:0 10px;transition:background .15s,border-color .15s;display:inline-flex}.lang-btn svg{font-size:15px}.lang-btn:hover,.lang-btn:focus-visible{border-color:var(--brand);background:#01b5d233;outline:none}.lang-pop{border-radius:var(--radius-sm);color:#d8f7ff;background:#04161c;border:1px solid #01b5d273;min-width:190px;margin:0;padding:6px;position:fixed;inset:64px 16px auto auto;box-shadow:0 20px 50px -10px #000000b3,0 0 24px #01b5d233}.lang-pop:popover-open{animation:pop-in .18s var(--ease);flex-direction:column;display:flex}.lang-pop:not(:popover-open){display:none}.lang-pop button{min-height:40px;color:inherit;text-align:start;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.lang-pop button:hover,.lang-pop button:focus-visible{background:#01b5d21f;outline:none}.lang-pop button[aria-checked=true]{color:var(--neon-2,#3dffc8);font-weight:700}.login{--neon:var(--brand);--neon-2:#3dffc8;--hud-bg:#020d11;--cut:22px;isolation:isolate;color:#d8f7ff;background:radial-gradient(900px 600px at 50% 45%, #01b5d229, transparent 70%), var(--hud-bg);grid-template-columns:minmax(0,1fr);place-items:center;min-height:100dvh;padding:72px 16px;display:grid;position:relative;overflow:hidden}.login__fx{z-index:-1;pointer-events:none;background-image:linear-gradient(#01b5d212 1px,#0000 1px),linear-gradient(90deg,#01b5d212 1px,#0000 1px);background-position:50%;background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.login__fx:after{content:"";background:repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 3px);position:fixed;inset:0}.login__beam{background:linear-gradient(#0000,#01b5d21f,#0000);height:140px;animation:6s linear infinite login-scan;position:absolute;top:0;left:0;right:0}@keyframes login-scan{0%{transform:translateY(-140px)}to{transform:translateY(100vh)}}.login__corner{border:2px solid var(--neon);opacity:.7;width:28px;height:28px;position:absolute}.login__corner--tl{border-bottom:0;border-right:0;top:16px;left:16px}.login__corner--tr{border-bottom:0;border-left:0;top:16px;right:16px}.login__corner--bl{border-top:0;border-right:0;bottom:16px;left:16px}.login__corner--br{border-top:0;border-left:0;bottom:16px;right:16px}.login__bar{z-index:2;font:600 11px/1 var(--font);letter-spacing:.18em;color:#d8f7ff80;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;top:16px;left:60px;right:60px}.login__bar--bottom{top:auto;bottom:24px}@media (width<=360px){.login__bar>span:first-child{visibility:hidden}}@media (width<=480px){.login__bar{letter-spacing:.1em;font-size:9.5px;left:52px;right:52px}}.login__live{color:var(--neon-2);align-items:center;gap:8px;display:inline-flex}.login__live i{background:var(--neon-2);width:7px;height:7px;box-shadow:0 0 10px var(--neon-2);border-radius:50%;animation:1.4s steps(2,end) infinite login-blink}@keyframes login-blink{50%{opacity:.2}}.login__panel{--clip:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));isolation:isolate;width:min(440px,100%);clip-path:var(--clip);background:linear-gradient(135deg, var(--neon), #01b5d240 40%, #01b5d240 60%, var(--neon-2));animation:login-boot .7s var(--ease);flex-direction:column;gap:18px;padding:32px;display:flex;position:relative}.login__panel:before{content:"";z-index:-1;clip-path:var(--clip);background:linear-gradient(#062028f5,#020d11fa);position:absolute;inset:1px}.login__panel h1{color:#fff;text-shadow:0 0 18px #01b5d273;font-size:24px;font-weight:800}@media (width<=480px){.login__panel{--cut:16px;padding:26px 20px}}@keyframes login-boot{0%{opacity:0;filter:brightness(3);transform:scaleY(.02)}60%{opacity:1;transform:scaleY(1)}}.login__head{border-bottom:1px dashed #01b5d24d;align-items:center;gap:12px;padding-bottom:16px;display:flex}.login__head>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.login__head b{letter-spacing:.04em;color:#fff;font-size:17px;font-weight:800}.login__head b span{color:var(--neon)}.login__head small{font:600 11px/1.6 var(--font);letter-spacing:.14em;color:var(--neon-2)}.login__head em{font:600 10.5px/1 var(--font);color:#d8f7ff99;border:1px solid #01b5d266;align-self:flex-start;padding:4px 6px;font-style:normal}.login__logo{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:#01b5d214;border:1px solid #01b5d280;flex:none;place-items:center;width:48px;height:48px;display:grid}.login__field{flex-direction:column;gap:8px;display:flex}.login__field>span{color:#e9fbff;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.login__field>span i{font:700 10.5px/1 var(--font);background:var(--neon);color:var(--hud-bg);padding:3px 5px;font-style:normal}.login__field>span small{font:600 10.5px/1 var(--font);letter-spacing:.16em;color:#d8f7ff66;margin-left:auto}.login__input{color:#d8f7ff73;background:#01b5d20d;border:1px solid #01b5d247;align-items:center;gap:12px;height:50px;padding:0 14px;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;display:flex;position:relative}.login__input:before,.login__input:after{content:"";border:2px solid var(--neon);opacity:0;width:10px;height:10px;transition:opacity .2s, transform .2s var(--ease);position:absolute}.login__input:before{border-bottom:0;border-right:0;top:-4px;left:-4px;transform:translate(-4px,-4px)}.login__input:after{border-top:0;border-left:0;bottom:-4px;right:-4px;transform:translate(4px,4px)}.login__input svg{flex:none;font-size:17px}.login__input input{color:#fff;font:600 15px/1 var(--font);letter-spacing:.06em;caret-color:var(--neon-2);border-radius:0;box-shadow:none!important;background:0 0!important;border:0!important;height:100%!important;padding:0!important}.login__input input::placeholder{color:#d8f7ff40}.login__input input:-webkit-autofill{-webkit-text-fill-color:#fff;transition:background-color 9999s}.login__input:focus-within{color:var(--neon);border-color:var(--neon);background:#01b5d21a;box-shadow:0 0 20px #01b5d240,inset 0 0 12px #01b5d21f}.login__input:focus-within:before,.login__input:focus-within:after{opacity:1;transform:none}.login__error{font:600 13px/1.5 var(--font);color:#ff8a8a;background:#ff3c3c14;border-left:3px solid #ff4d4d;padding:10px 12px}.login__submit.btn{letter-spacing:.06em;min-height:54px;color:var(--hud-bg);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);background:linear-gradient(90deg, var(--neon), var(--neon-2));border:0;border-radius:0;margin-top:4px;font-size:15px;font-weight:800;position:relative;overflow:hidden}.login__submit.btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:40%;animation:3.2s ease-in-out infinite login-shine;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-20deg)}.login__submit.btn>span{z-index:1;position:relative}.login__submit.btn .spinner{border-color:#020d114d;border-top-color:var(--hud-bg)}.login__submit.btn:hover:not(:disabled){background:linear-gradient(90deg, var(--neon), var(--neon-2));filter:brightness(1.12)drop-shadow(0 0 14px #3dffc899)}.login__submit.btn:disabled{opacity:.75}@keyframes login-shine{0%,55%{left:-60%}to{left:130%}}.login__foot{text-align:center;color:#d8f7ff73;flex-direction:column;gap:2px;font-size:12px;display:flex}.login__foot span{font:600 10.5px/1.6 var(--font);letter-spacing:.16em;color:#d8f7ff59}@media (prefers-reduced-motion:reduce){.login__beam,.login__live i,.login__submit.btn:after,.login__panel{animation:none}}.logo-img{object-fit:contain}.toaster{z-index:100;flex-direction:column;gap:8px;width:360px;max-width:calc(100% - 32px);display:flex;position:fixed;top:16px;right:16px}@media (width<=640px){.toaster{top:auto;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 12px)}}.toast{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--line-strong);border-left:3px solid var(--c);color:var(--text);background:var(--surface);box-shadow:var(--shadow-md), 0 0 18px color-mix(in oklab, var(--c) 25%, transparent);align-items:center;gap:10px;padding:12px 14px;font-weight:600;animation:.2s pop;display:flex}.toast svg{color:var(--c);flex:none;font-size:18px}.toast--success{--c:var(--success)}.toast--error{--c:var(--danger)}.toast--info{--c:var(--primary)}.notification-menu{inset:calc(var(--topbar-h) + var(--safe-top) + 6px) calc(12px + var(--safe-right)) auto auto;width:min(400px,100vw - 24px);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg), var(--glow);margin:0;padding:0;position:fixed;overflow:hidden}.notification-menu:popover-open{animation:pop-in .18s var(--ease);flex-direction:column;display:flex}.notification-menu:not(:popover-open){display:none}.notification-menu__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 10px 12px 16px;display:flex}.notification-menu__title{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.notification-menu__title b{font-size:15px}.notification-menu__count{color:#fff;background:var(--danger);border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-style:normal;font-weight:700;display:inline-grid}.notification-menu__live{color:var(--muted);flex-basis:100%;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.notification-menu__live i{background:var(--warning);width:7px;height:7px;box-shadow:0 0 8px var(--warning);border-radius:50%}.notification-menu__live[data-on] i{background:var(--success);box-shadow:0 0 8px var(--success)}.notification-menu__actions{flex:none;align-items:center;gap:2px;display:flex}.notification-menu__actions .btn--sm{padding:0 10px}.notification-menu__permission{border-radius:var(--radius-sm);color:var(--text-2);background:var(--primary-tint);border:1px dashed var(--line-strong);align-items:center;gap:10px;margin:10px 12px 0;padding:8px 8px 8px 12px;font-size:12.5px;display:flex}.notification-menu__permission>svg{color:var(--primary);flex:none;font-size:16px}.notification-menu__permission>span{flex:1;min-width:0}.notification-menu__error{border-radius:var(--radius-sm);color:var(--danger);background:var(--danger-soft);align-items:center;gap:8px;margin:10px 12px 0;padding:8px 12px;font-size:12.5px;display:flex}.notification-menu__list{overscroll-behavior:contain;max-height:min(440px,60dvh);padding:6px;overflow-y:auto}.notification-menu__item{border-radius:var(--radius-sm);text-align:start;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:12px;padding:10px;transition:background .12s;display:flex;position:relative}.notification-menu__item:hover,.notification-menu__item:focus-visible{background:var(--surface-3);outline:none}.notification-menu__item+.notification-menu__item{margin-top:2px}.notification-menu__item[data-unread]{background:var(--primary-tint)}.notification-menu__item[data-unread] .notification-menu__text b:after{content:"";vertical-align:middle;background:var(--primary);width:7px;height:7px;box-shadow:0 0 6px var(--primary);border-radius:50%;margin-left:6px;display:inline-block}.notification-menu__icon{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--primary);background:var(--primary-soft);flex:none;place-items:center;font-size:16px;display:grid}.notification-menu__text{flex-direction:column;gap:2px;min-width:0;display:flex}.notification-menu__text b{font-size:13.5px;font-weight:600}.notification-menu__text span{color:var(--text-2);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12.5px;display:-webkit-box;overflow:hidden}.notification-menu__text small{color:var(--muted);font-size:11.5px}.notification-menu__empty{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:32px 12px;font-size:13.5px;display:flex}.notification-menu__empty svg{font-size:24px}.notification-menu__pager{border-top:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:6px;font-size:12.5px;display:flex}@media (width<=640px){.notification-menu{inset:calc(var(--topbar-h) + var(--safe-top) + 4px) calc(8px + var(--safe-right)) auto calc(8px + var(--safe-left));width:auto}}.support-chat{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.support-chat__messages{overscroll-behavior:contain;flex-direction:column;gap:12px;height:min(55dvh,520px);min-height:240px;padding:16px;display:flex;overflow-y:auto}.support-chat__bubble{border:1px solid var(--line);background:var(--surface-2);border-radius:14px;align-self:flex-start;max-width:85%;padding:10px 14px}.support-chat__bubble.is-mine{background:color-mix(in srgb, var(--brand) 14%, var(--surface));align-self:flex-end}.support-chat__bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0}.support-chat__bubble small,.support-chat__bubble time{color:var(--muted);font-size:11px}.support-chat__bubble time{display:block}.support-chat__composer{border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px;display:flex}.support-chat__composer .field{flex:1;min-width:140px}.support-chat__composer textarea{height:var(--control-h);min-height:var(--control-h);resize:none;padding:9px 12px;line-height:20px}.support-chat__composer>.btn{height:var(--control-h)}.support-chat__error{width:100%;color:var(--danger)}.support-inbox{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:20px;display:grid}@media (width<=800px){.support-inbox{grid-template-columns:minmax(0,1fr)}}.support-inbox__list{max-height:420px;margin-top:12px;overflow-y:auto}.support-inbox__item{text-align:left;border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);flex-direction:column;gap:4px;padding:12px;display:flex}.support-inbox__item.is-active{border-color:var(--brand);background:var(--surface-2)}.support-inbox__item small{color:var(--muted)}.support-inbox__item>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.support-chat__image{object-fit:contain;border-radius:10px;width:260px;max-width:100%;max-height:340px;margin:8px 0;display:block}.support-chat__preview{align-items:flex-start;gap:8px;width:100%;display:flex}.support-chat__preview img{object-fit:contain;border:1px solid var(--line);border-radius:10px;width:100px;height:90px}.support-chat__preview button{background:var(--surface-2);color:var(--text);border:0;border-radius:50%;padding:6px}.table .table__no{white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;width:1%}
