html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-20{margin-top:20px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.ml-8{margin-left:8px}.my-8{margin:8px 0}.my-10{margin:10px 0}.zero-margin{margin:0}.danger-icon{margin-left:8px;cursor:pointer;color:var(--ant-color-error)}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-inline-end:5px;vertical-align:middle;background:var(--ant-color-success);animation:online-blink 1.1s ease-in-out infinite}.dot-tag{display:inline-flex;align-items:center}@keyframes online-blink{0%,to{opacity:1;box-shadow:0 0 #52c41a8c}50%{opacity:.35;box-shadow:0 0 0 4px #52c41a00}}@media(prefers-reduced-motion:reduce){.online-dot{animation:none}}.xray-error-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-inline-end:5px;vertical-align:middle;background:#722ed1;animation:xray-error-blink 1.1s ease-in-out infinite}@keyframes xray-error-blink{0%,to{opacity:1;box-shadow:0 0 #722ed18c}50%{opacity:.35;box-shadow:0 0 0 4px #722ed100}}@media(prefers-reduced-motion:reduce){.xray-error-dot{animation:none}}.index-page,.clients-page,.inbounds-page,.xray-page,.settings-page,.nodes-page,.groups-page,.api-docs-page{--bg-page: #e6e8ec;--bg-card: #ffffff;min-height:100vh;background:var(--bg-page)}.index-page.is-dark,.clients-page.is-dark,.inbounds-page.is-dark,.xray-page.is-dark,.settings-page.is-dark,.nodes-page.is-dark,.groups-page.is-dark,.api-docs-page.is-dark{--bg-page: #1a1b1f;--bg-card: #23252b}.index-page.is-dark.is-ultra,.clients-page.is-dark.is-ultra,.inbounds-page.is-dark.is-ultra,.xray-page.is-dark.is-ultra,.settings-page.is-dark.is-ultra,.nodes-page.is-dark.is-ultra,.groups-page.is-dark.is-ultra,.api-docs-page.is-dark.is-ultra{--bg-page: #000;--bg-card: #101013}.index-page .ant-layout,.index-page .ant-layout-content,.clients-page .ant-layout,.clients-page .ant-layout-content,.inbounds-page .ant-layout,.inbounds-page .ant-layout-content,.xray-page .ant-layout,.xray-page .ant-layout-content,.settings-page .ant-layout,.settings-page .ant-layout-content,.nodes-page .ant-layout,.nodes-page .ant-layout-content,.groups-page .ant-layout,.groups-page .ant-layout-content,.api-docs-page .ant-layout,.api-docs-page .ant-layout-content,.index-page .content-shell,.clients-page .content-shell,.inbounds-page .content-shell,.xray-page .content-shell,.settings-page .content-shell,.nodes-page .content-shell,.groups-page .content-shell,.api-docs-page .content-shell{background:transparent}.index-page .content-area,.clients-page .content-area,.inbounds-page .content-area,.xray-page .content-area,.settings-page .content-area,.nodes-page .content-area,.groups-page .content-area{padding:24px}@media(max-width:768px){.clients-page .content-area,.inbounds-page .content-area,.nodes-page .content-area,.groups-page .content-area{padding:8px}}.loading-spacer{min-height:calc(100vh - 120px)}.ant-dropdown .ant-dropdown-menu{max-height:calc(100vh - 32px);overflow-y:auto}.ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):not(.ant-dropdown-menu-item-danger):hover,.ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):not(.ant-dropdown-menu-item-danger):hover .ant-dropdown-menu-title-content,.ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):not(.ant-dropdown-menu-item-danger):hover>.anticon{color:var(--ant-color-primary)!important}.ant-dropdown-menu-item:not(.ant-dropdown-menu-item-disabled):not(.ant-dropdown-menu-item-danger):hover{background-color:color-mix(in srgb,var(--ant-color-primary) 14%,transparent)!important}.ant-dropdown-menu-item-divider{background-color:var(--ant-color-border)!important}body.dark .ant-dropdown-menu-item-divider{background-color:#ffffff1f!important}.settings-page .header-row,.xray-page .header-row{display:flex;flex-wrap:wrap;align-items:center}.settings-page .header-actions,.xray-page .header-actions{padding:4px}.settings-page .header-info,.xray-page .header-info{display:flex;justify-content:flex-end}.icons-only .ant-tabs-nav{margin-bottom:8px}.icons-only .ant-tabs-nav-wrap{width:100%}.icons-only .ant-tabs-nav-list{display:flex;width:100%}.icons-only .ant-tabs-tab{flex:1 1 0;justify-content:center;margin:0;padding:10px 0}.icons-only .ant-tabs-tab .anticon{margin:0;font-size:18px}.icons-only .ant-tabs-nav-operations{display:none}.clients-page .summary-card,.inbounds-page .summary-card,.nodes-page .summary-card,.groups-page .summary-card{padding:16px}@media(max-width:768px){.clients-page .summary-card,.inbounds-page .summary-card,.nodes-page .summary-card,.groups-page .summary-card{padding:8px}}.hosts-page{--bg-page: #e6e8ec;--bg-card: #ffffff;min-height:100vh;background:var(--bg-page)}.hosts-page.is-dark{--bg-page: #1a1b1f;--bg-card: #23252b}.hosts-page.is-dark.is-ultra{--bg-page: #000;--bg-card: #101013}.hosts-page .ant-layout,.hosts-page .ant-layout-content,.hosts-page .content-shell{background:transparent}.hosts-page .content-area{padding:24px}.hosts-page .summary-card{padding:16px}@media(max-width:768px){.hosts-page .content-area,.hosts-page .summary-card{padding:8px}}.index-page .ant-card,.clients-page .ant-card,.inbounds-page .ant-card,.xray-page .ant-card,.settings-page .ant-card,.nodes-page .ant-card,.groups-page .ant-card,.api-docs-page .ant-card{border-radius:12px;box-shadow:0 1px 2px #0000000a;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.index-page.is-dark .ant-card,.clients-page.is-dark .ant-card,.inbounds-page.is-dark .ant-card,.xray-page.is-dark .ant-card,.settings-page.is-dark .ant-card,.nodes-page.is-dark .ant-card,.groups-page.is-dark .ant-card,.api-docs-page.is-dark .ant-card{box-shadow:0 1px 2px #0006,inset 0 1px #ffffff08}.index-page.is-dark.is-ultra .ant-card,.clients-page.is-dark.is-ultra .ant-card,.inbounds-page.is-dark.is-ultra .ant-card,.xray-page.is-dark.is-ultra .ant-card,.settings-page.is-dark.is-ultra .ant-card,.nodes-page.is-dark.is-ultra .ant-card,.groups-page.is-dark.is-ultra .ant-card,.api-docs-page.is-dark.is-ultra .ant-card{box-shadow:0 1px 2px #0009,inset 0 1px #ffffff06}.index-page .ant-card.ant-card-hoverable:hover,.clients-page .ant-card.ant-card-hoverable:hover,.inbounds-page .ant-card.ant-card-hoverable:hover,.xray-page .ant-card.ant-card-hoverable:hover,.settings-page .ant-card.ant-card-hoverable:hover,.nodes-page .ant-card.ant-card-hoverable:hover,.groups-page .ant-card.ant-card-hoverable:hover,.api-docs-page .ant-card.ant-card-hoverable:hover{cursor:default;box-shadow:0 6px 18px #00000014}.index-page.is-dark .ant-card.ant-card-hoverable:hover,.clients-page.is-dark .ant-card.ant-card-hoverable:hover,.inbounds-page.is-dark .ant-card.ant-card-hoverable:hover,.xray-page.is-dark .ant-card.ant-card-hoverable:hover,.settings-page.is-dark .ant-card.ant-card-hoverable:hover,.nodes-page.is-dark .ant-card.ant-card-hoverable:hover,.groups-page.is-dark .ant-card.ant-card-hoverable:hover,.api-docs-page.is-dark .ant-card.ant-card-hoverable:hover{box-shadow:0 8px 24px #00000080,inset 0 1px #ffffff0a}.index-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.clients-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.inbounds-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.xray-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.settings-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.nodes-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.groups-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover,.api-docs-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover{box-shadow:0 8px 24px #000000bf,inset 0 1px #ffffff08}.index-page .ant-card .ant-card-actions,.clients-page .ant-card .ant-card-actions,.inbounds-page .ant-card .ant-card-actions,.xray-page .ant-card .ant-card-actions,.settings-page .ant-card .ant-card-actions,.nodes-page .ant-card .ant-card-actions,.groups-page .ant-card .ant-card-actions,.api-docs-page .ant-card .ant-card-actions{background:transparent}.hosts-page .ant-card{border-radius:12px;box-shadow:0 1px 2px #0000000a;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.hosts-page.is-dark .ant-card{box-shadow:0 1px 2px #0006,inset 0 1px #ffffff08}.hosts-page.is-dark.is-ultra .ant-card{box-shadow:0 1px 2px #0009,inset 0 1px #ffffff06}.hosts-page .ant-card.ant-card-hoverable:hover{cursor:default;box-shadow:0 6px 18px #00000014}.hosts-page.is-dark .ant-card.ant-card-hoverable:hover{box-shadow:0 8px 24px #00000080,inset 0 1px #ffffff0a}.hosts-page.is-dark.is-ultra .ant-card.ant-card-hoverable:hover{box-shadow:0 8px 24px #000000bf,inset 0 1px #ffffff08}.hosts-page .ant-card .ant-card-actions{background:transparent}.ant-sidebar{flex:0 0 var(--sider-rail, 72px);width:var(--sider-rail, 72px);position:relative;z-index:210}.ant-sidebar>.ant-layout-sider{position:sticky;top:0;height:100vh;align-self:flex-start}.ant-sidebar:not(.sidebar-pinned)>.ant-layout-sider:not(.ant-layout-sider-collapsed){box-shadow:0 0 32px #00000038}.sider-nav .ant-menu-item .anticon,.sider-nav .ant-menu-submenu-title .anticon,.sider-utility .ant-menu-item .anticon{font-size:16px}.sider-brand,.drawer-brand{font-weight:600;font-size:18px;letter-spacing:.5px;color:var(--ant-color-text)}.sider-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;height:58px;padding:0 16px 0 24px;border-bottom:1px solid var(--ant-color-border-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.brand-block{display:inline-flex;align-items:center;min-width:0;line-height:1.1}.brand-actions{display:inline-flex;align-items:center;gap:0;flex-shrink:0}.brand-actions .sidebar-pin,.brand-actions .sidebar-docs,.brand-actions .sidebar-donate,.brand-actions .sidebar-theme-cycle{width:26px;height:26px}.sidebar-donate{background:transparent;border:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ant-color-text-secondary);text-decoration:none;flex-shrink:0;transition:background-color .2s,transform .15s,color .2s}.sidebar-donate:hover,.sidebar-donate:focus-visible{background-color:#ec48991f;color:#ec4899;transform:scale(1.08);outline:none}.sidebar-donate .anticon{font-size:16px}.sidebar-docs{background:transparent;border:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ant-color-text-secondary);text-decoration:none;flex-shrink:0;transition:background-color .2s,transform .15s,color .2s}.sidebar-docs:hover,.sidebar-docs:focus-visible{background-color:color-mix(in srgb,var(--ant-color-primary) 12%,transparent);color:var(--ant-color-primary);transform:scale(1.08);outline:none}.sidebar-docs .anticon{font-size:16px}.sidebar-theme-cycle{background:transparent;border:none;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ant-color-text-secondary);padding:0;flex-shrink:0;transition:background-color .2s,transform .15s,color .2s}.sidebar-theme-cycle:hover,.sidebar-theme-cycle:focus-visible{background-color:color-mix(in srgb,var(--ant-color-primary) 12%,transparent);color:var(--ant-color-primary);transform:scale(1.08);outline:none}.sidebar-theme-cycle .anticon{font-size:16px}.drawer-header-actions{display:inline-flex;align-items:center;gap:4px}.drawer-handle{position:fixed;top:12px;left:12px;z-index:1100;background:#0000008c;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 8px #00000040}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--ant-color-border-secondary)}.drawer-close{background:transparent;border:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--ant-color-text-secondary)}.drawer-close:hover,.drawer-close:focus-visible{background:var(--ant-color-fill-tertiary)}.drawer-menu .ant-menu-item{height:48px;line-height:48px;margin:0;border-radius:0}.drawer-menu .ant-menu-item .anticon{font-size:16px}.drawer-utility{margin-top:auto;border-top:1px solid var(--ant-color-border-secondary)}.ant-sidebar>.ant-layout-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.sider-nav{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0}.sider-utility{flex:0 0 auto;border-top:1px solid var(--ant-color-border-secondary)}.sider-footer{flex:0 0 auto;padding:8px 8px 12px}.sidebar-pin{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--ant-color-text-secondary);cursor:pointer;flex-shrink:0;transition:background-color .2s,transform .15s,color .2s}.sidebar-pin:hover,.sidebar-pin:focus-visible{background-color:color-mix(in srgb,var(--ant-color-primary) 10%,transparent);color:var(--ant-color-primary);transform:scale(1.08);outline:none}.sidebar-pin .anticon{font-size:16px}.sider-version{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;padding:8px 16px;color:var(--ant-color-text-secondary);font-size:13px;font-weight:500;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-decoration:none;transition:color .2s}.ant-layout-sider-collapsed .sider-version{justify-content:center;padding:8px 0}.sider-version .anticon{font-size:16px}.sider-version:hover,.sider-version:focus-visible{color:var(--ant-color-primary);outline:none}.drawer-footer{flex:0 0 auto;padding:8px 8px 12px}@media(max-width:768px){.drawer-handle{display:inline-flex}.ant-sidebar>.ant-layout-sider .ant-layout-sider-children{display:none}.ant-sidebar>.ant-layout-sider{flex:0 0 0!important;max-width:0!important;min-width:0!important;width:0!important}.ant-sidebar{flex:0 0 0;width:0}}body.dark .ant-drawer-content,body.dark .ant-drawer-body{background-color:#15161a}html[data-theme=ultra-dark] body.dark .ant-drawer-content,html[data-theme=ultra-dark] body.dark .ant-drawer-body{background-color:#050507}body.dark .ant-drawer-body .drawer-menu,body.dark .ant-drawer-body .drawer-menu.ant-menu-dark,body.dark .ant-drawer-body .drawer-menu .ant-menu-item,body.dark .ant-drawer-body .drawer-menu .ant-menu-sub,body.dark .ant-drawer-body .drawer-menu .ant-menu-item-group-list{background-color:transparent}.sider-nav .ant-menu-item-selected,.sider-utility .ant-menu-item-selected,.drawer-menu .ant-menu-item-selected{background-color:color-mix(in srgb,var(--ant-color-primary) 20%,transparent)!important;color:var(--ant-color-primary)!important}.sider-nav .ant-menu-item-active:not(.ant-menu-item-selected),.sider-utility .ant-menu-item-active:not(.ant-menu-item-selected),.drawer-menu .ant-menu-item-active:not(.ant-menu-item-selected),.sider-nav .ant-menu-item:not(.ant-menu-item-selected):not(.ant-menu-item-disabled):hover,.sider-utility .ant-menu-item:not(.ant-menu-item-selected):not(.ant-menu-item-disabled):hover,.drawer-menu .ant-menu-item:not(.ant-menu-item-selected):not(.ant-menu-item-disabled):hover{background-color:color-mix(in srgb,var(--ant-color-primary) 10%,transparent)!important;color:var(--ant-color-primary)!important}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.sparkline-plot{display:block;width:100%}.sparkline-plot .uplot,.sparkline-plot .u-wrap{width:100%}.sparkline-plot .u-cursor-x{border-right:1px dashed var(--ant-color-border)}.sparkline-container{position:relative;width:100%}.sparkline-tooltip{position:absolute;top:0;left:0;pointer-events:none;white-space:nowrap;z-index:2;padding:6px 10px;border:1px solid var(--ant-color-border-secondary);border-radius:6px;background:var(--ant-color-bg-elevated);box-shadow:0 4px 14px #0000001f;color:var(--ant-color-text);font-size:12px}.sparkline-tooltip .spk-tt-label{margin-bottom:4px;color:var(--ant-color-text-tertiary);font-size:11px}.sparkline-tooltip .spk-tt-row{display:flex;align-items:center;gap:6px;font-weight:500;line-height:16px}.sparkline-tooltip .spk-tt-dot{width:8px;height:8px;border-radius:50%;flex:none}.sparkline-tooltip .spk-tt-name{color:var(--ant-color-text-tertiary)}.sparkline-tooltip .spk-tt-val{margin-left:auto}.sparkline-extrema{position:absolute;top:2px;right:8px;display:inline-flex;align-items:center;gap:12px;padding:2px 8px;background:color-mix(in srgb,var(--ant-color-bg-elevated) 88%,transparent);border:1px solid var(--ant-color-border-secondary);border-radius:999px;font-size:11px;font-weight:600;line-height:16px;pointer-events:none;z-index:1}.sparkline-extrema .extrema-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.sparkline-legend{position:absolute;top:2px;right:8px;display:inline-flex;align-items:center;gap:12px;padding:2px 8px;background:color-mix(in srgb,var(--ant-color-bg-elevated) 88%,transparent);border:1px solid var(--ant-color-border-secondary);border-radius:999px;font-size:11px;font-weight:600;line-height:16px;pointer-events:none;z-index:1}.sparkline-legend .extrema-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.index-page{--ov-accent: var(--ant-color-primary);--ov-line: var(--ant-color-border);--ov-label: var(--ant-color-text-secondary);--ov-faint: var(--ant-color-text-tertiary);--ov-gap: 12px;--ov-pad: 20px}@media(max-width:768px){.index-page .content-area{padding:64px 12px 12px}.index-page{--ov-gap: 8px;--ov-pad: 14px}}.ov-page{display:flex;flex-direction:column;gap:var(--ov-gap)}.ov-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ov-state{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border:1px solid var(--ov-line);border-radius:999px;font-size:13px;color:var(--ant-color-text)}.ov-state-dot{position:relative;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.ov-state[data-state=running] .ov-state-dot:after{content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid currentColor;animation:ovPulse 1.6s infinite ease-out}@keyframes ovPulse{0%{transform:scale(.9);opacity:.5}to{transform:scale(2.4);opacity:0}}@media(prefers-reduced-motion:reduce){.ov-state[data-state=running] .ov-state-dot:after{animation:none}}.ov-state-version,.ov-panel-version{padding:0;border:0;background:transparent;font:inherit;cursor:pointer;color:var(--ov-label);transition:color .2s}.ov-state-version:hover,.ov-state-version:focus-visible,.ov-panel-version:hover,.ov-panel-version:focus-visible{color:var(--ant-color-primary)}.ov-panel-version{font-size:12px;color:var(--ov-faint)}.ov-update-tag{cursor:pointer;margin-inline-end:0}.ov-error-detail{white-space:pre-wrap;word-break:break-word}.ov-bar-actions{margin-inline-start:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}@media(max-width:768px){.ov-bar-actions{margin-inline-start:0;width:100%;justify-content:space-between}}.ov-bar-sep{width:1px;height:20px;background:var(--ov-line);margin:0 4px}.ov-health{display:flex;align-items:center;gap:8px;font-size:12.5px}.ov-health-mark{width:14px;height:1px;background:currentColor;flex:none}.ov-rule{height:1px;border:0;margin:0;background:linear-gradient(to right,transparent,var(--ov-line) 48px,var(--ov-line) calc(100% - 48px),transparent)}.ov-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ov-label)}.ov-kicker-icon{display:flex;align-items:center;gap:7px}.ov-sub{font-size:12.5px;margin-top:4px;color:var(--ov-faint)}.ov-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ov-vitals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ov-gap)}@media(max-width:1100px){.ov-vitals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ov-vitals{grid-template-columns:minmax(0,1fr)}}.ov-tile{overflow:hidden}.ov-tile-head{display:flex;align-items:center;gap:8px;padding:14px var(--ov-pad) 0;color:var(--ov-accent)}.ov-tile-icon{display:inline-flex;font-size:15px}.ov-tile-value{display:flex;align-items:baseline;gap:4px;padding:12px var(--ov-pad) 0}.ov-tile-number{font-size:34px;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--ant-color-text);font-variant-numeric:tabular-nums}.ov-tile-unit{font-size:14px;color:var(--ov-label)}.ov-tile-detail{padding:5px var(--ov-pad) 0;font-size:12px;color:var(--ov-label)}.ov-tile-foot{display:flex;justify-content:space-between;gap:8px;padding:14px var(--ov-pad) 0;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ov-faint)}.ov-tile-chart{margin-top:6px}.ov-mid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--ov-gap)}@media(max-width:1100px){.ov-mid{grid-template-columns:minmax(0,1fr)}}.ov-wide-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px;padding:var(--ov-pad) var(--ov-pad) 0}.ov-wide-head-stack{flex-direction:column;gap:0}.ov-wide-legend{margin-inline-start:auto;display:flex;gap:22px;text-align:end}.ov-legend-label{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11px;color:var(--ov-label)}.ov-legend-num{font-size:13px;font-weight:600;color:var(--ant-color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.ov-conn-total{display:flex;align-items:baseline;gap:6px;margin-top:12px}.ov-conn-legend{display:flex;gap:16px;padding:16px var(--ov-pad) 0}.ov-conn-legend>div{flex:1 1 0}.ov-conn-legend .ov-legend-label{justify-content:flex-start}.ov-swatch{width:14px;height:2px;flex:none}.ov-wide-chart{padding:12px 8px 0}.ov-wide-foot{display:flex;gap:16px;margin:12px var(--ov-pad) 0;padding:14px 0 var(--ov-pad);border-top:1px solid var(--ov-line)}.ov-wide-foot>div{flex:1 1 0}.ov-foot-sep{width:1px;background:var(--ov-line)}.ov-foot-value{font-size:18px;font-weight:600;margin-top:4px;color:var(--ant-color-text);font-variant-numeric:tabular-nums}.ov-foot-part{display:inline-block;white-space:nowrap}@media(max-width:560px){.ov-wide-foot{flex-direction:column;gap:10px}.ov-wide-foot .ov-foot-sep{display:none}}.ov-strip-grid{display:grid;grid-template-columns:minmax(max-content,1.2fr) minmax(max-content,1.2fr) minmax(0,1.6fr);gap:16px;padding:var(--ov-pad)}@media(max-width:1439px){.ov-strip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1100px){.ov-strip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ov-strip-grid{grid-template-columns:minmax(0,1fr)}}@media(min-width:1440px){.ov-strip-cell+.ov-strip-cell{border-inline-start:1px solid var(--ov-line);padding-inline-start:16px}}.ov-strip-value{font-size:19px;font-weight:600;margin-top:6px;color:var(--ant-color-text);font-variant-numeric:tabular-nums}.ov-strip-split{display:flex;align-items:stretch;gap:14px}.ov-strip-split-sep{width:1px;background:var(--ov-line);margin-top:8px}.ov-strip-sub{font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-top:8px;color:var(--ov-faint)}.ov-strip-sub+.ov-strip-value{margin-top:2px}.ov-ip{margin-top:7px;font-size:13px;overflow-wrap:anywhere;transition:filter .2s ease}.ov-ip-v6{margin-top:3px;color:var(--ov-label)}.index-page .ip-toggle-icon{cursor:pointer;font-size:15px;margin-inline-start:auto}.index-page .ip-hidden{filter:blur(6px)}.client-traffic-cell{display:flex;align-items:center;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:2px 10px;border-radius:999px;background:var(--ant-color-fill-quaternary)}.client-traffic-cell.is-compact{gap:6px;padding:2px 8px;margin-top:6px}.client-traffic-cell-used,.client-traffic-cell-limit{flex:0 0 72px;min-width:72px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.client-traffic-cell.is-compact .client-traffic-cell-used{flex-basis:64px;min-width:64px;font-size:11px}.client-traffic-cell-used{text-align:end;color:var(--ant-color-text)}.client-traffic-cell-limit{text-align:start;color:var(--ant-color-text-secondary)}.client-traffic-cell-bar{flex:1 1 60px;min-width:48px}.client-traffic-cell-bar.ant-progress{margin:0;line-height:1}.client-traffic-cell-bar .ant-progress-outer,.client-traffic-cell-bar .ant-progress-inner{display:block}.client-traffic-cell-bar .ant-progress-inner{background:var(--ant-color-fill-secondary)}.client-traffic-cell.is-unlimited .client-traffic-cell-bar .ant-progress-inner .ant-progress-bg{background-color:color-mix(in srgb,#722ed1 35%,transparent);border:1px solid color-mix(in srgb,#722ed1 55%,transparent)}.client-traffic-cell-infinity{display:inline-flex;align-items:center;justify-content:flex-start;color:var(--ant-color-purple);font-size:14px;line-height:1}.client-traffic-popover table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.client-traffic-popover td{padding:2px 6px;white-space:nowrap}.client-traffic-popover td:first-child{color:var(--ant-color-text-secondary)}.qr-panel{border:1px solid var(--ant-color-border-secondary);border-radius:8px;padding:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.qr-panel-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qr-remark{margin:0}.qr-panel-canvas{display:flex;justify-content:center;padding:6px 0}.qr-panel-canvas .qr-code{cursor:pointer;background:#fff;border-radius:4px;line-height:0}.qr-panel-canvas .qr-code svg{display:block;width:100%;height:auto;max-width:360px}.info-table{width:100%;border-collapse:collapse}.info-table.block{margin-bottom:10px}.info-table td{padding:4px 8px;vertical-align:top}.info-table td:first-child{width:140px;font-size:13px;opacity:.75;white-space:nowrap}.info-large-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.hint{font-size:12px;opacity:.55;margin-left:6px}.chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.chips-stack{flex-direction:column;align-items:flex-start;max-width:280px;max-height:280px;overflow-y:auto}.chip-more{cursor:pointer;-webkit-user-select:none;user-select:none}.chip-more:hover{opacity:.85}.link-panel{border:1px solid var(--ant-color-border);border-radius:8px;padding:10px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}.link-panel-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.link-panel-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;word-break:break-all;white-space:pre-wrap;padding:6px 8px;background:var(--ant-color-fill-tertiary);border-radius:4px;-webkit-user-select:all;user-select:all}.link-panel-anchor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;word-break:break-all;padding:6px 8px;background:var(--ant-color-fill-tertiary);border-radius:4px;color:var(--ant-color-primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ant-color-primary) 40%,transparent);transition:background .12s ease,text-decoration-color .12s ease}.link-panel-anchor:hover{background:color-mix(in srgb,var(--ant-color-primary) 12%,transparent);text-decoration-color:var(--ant-color-primary)}.link-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--ant-color-border);border-radius:8px;margin-bottom:8px}.link-row-tag{margin:0;flex-shrink:0;font-weight:600;letter-spacing:.3px}.link-row-title{flex:1;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-row-actions{display:flex;gap:4px;flex-shrink:0}.link-row-title-anchor{color:var(--ant-color-primary);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ant-color-primary) 35%,transparent);transition:text-decoration-color .12s ease}.link-row-title-anchor:hover{text-decoration-color:var(--ant-color-primary)}.clients-page .ant-pagination-options-size-changer,.clients-page .ant-pagination-options-size-changer .ant-select-selector{min-width:100px}.client-email-list{max-height:280px;min-width:160px;overflow-y:auto;padding-right:4px}.client-email-list>div{padding:2px 0;font-size:12px;white-space:nowrap}.client-email-more{margin-top:4px;padding-top:4px;border-top:1px solid var(--ant-color-border-secondary, rgba(128, 128, 128, .2));opacity:.65}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.filter-bar.mobile{gap:6px;margin-bottom:8px}.filter-bar.mobile>*{flex:0 0 auto}.filter-count{margin-inline-start:auto;color:var(--ant-color-text-secondary);font-size:13px;white-space:nowrap}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:6px 8px;background:var(--ant-color-fill-quaternary);border-radius:8px}.filter-chips .ant-tag{margin:0}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.dot-green{background:var(--ant-color-success)}.dot-blue{background:var(--ant-color-primary)}.dot-red{background:var(--ant-color-error)}.dot-orange{background:var(--ant-color-warning)}.dot-gray{background:var(--ant-color-text-quaternary)}.status-tag{margin:0 0 0 4px;font-size:11px;padding:0 6px;line-height:18px}.external-link-card{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:10px;border:1px solid var(--ant-color-border-secondary);border-radius:6px;background:var(--ant-color-fill-quaternary)}.external-link-row{display:flex;align-items:center;gap:10px}.external-link-row .ant-input{flex:1;min-width:0}.external-link-enable{display:inline-flex;align-items:center;gap:6px;min-width:78px;color:var(--ant-color-text-secondary);white-space:nowrap}.external-link-details{display:grid;gap:10px}.external-link-details.two-cols{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr)}.external-link-details.three-cols{grid-template-columns:minmax(0,1fr) minmax(160px,.8fr) minmax(220px,.8fr)}.external-link-fetch-status{font-size:12px;line-height:1.4;overflow-wrap:anywhere}@media(max-width:640px){.external-link-row{align-items:stretch;flex-wrap:wrap}.external-link-enable{width:100%}.external-link-row .ant-input{flex-basis:calc(100% - 44px)}.external-link-details.two-cols,.external-link-details.three-cols{grid-template-columns:1fr}}.card-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0}@media(min-width:769px)and (max-width:920px){.card-toolbar{gap:6px}.card-toolbar .ant-btn .ant-btn-icon+span,.card-toolbar .ant-btn>span:not(.ant-btn-icon):not(.ant-tag):not(.anticon){display:none}.card-toolbar .ant-btn{padding-inline:8px}}.email-cell{display:flex;flex-direction:column}.email-cell .email{font-weight:500}.email-cell .sub{font-size:11px;opacity:.55;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.client-cards{display:flex;flex-direction:column;gap:10px;margin-top:4px}.card-bulk-bar{display:flex;align-items:center;gap:8px;padding:4px 4px 8px}.card-pagination{display:flex;justify-content:center;flex-wrap:wrap;padding:4px 0 8px}.card-pagination .ant-pagination-options-size-changer,.card-pagination .ant-pagination-options-size-changer .ant-select-selector{min-width:88px}.bulk-count{font-size:12px;background:color-mix(in srgb,var(--ant-color-primary) 12%,transparent);color:var(--ant-color-primary);padding:1px 8px;border-radius:10px}.client-card{border:1px solid var(--ant-color-border-secondary);border-radius:10px;padding:10px 12px;background:var(--ant-color-fill-quaternary)}.client-card.is-selected{border-color:var(--ant-color-primary);background:color-mix(in srgb,var(--ant-color-primary) 6%,transparent)}.client-card-comment{display:block;margin-top:6px;color:var(--ant-color-text-secondary);font-size:12px;max-height:4.5em;overflow-y:auto;overflow-wrap:anywhere;white-space:pre-wrap}.client-card-speed{margin-top:6px;font-size:12px;color:var(--ant-color-text-secondary)}.card-head{display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.card-head .tag-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.row-action-trigger{font-size:18px;cursor:pointer;opacity:.75;transition:opacity .12s ease}.row-action-trigger:hover{opacity:1}.card-empty{text-align:center;padding:40px 16px;color:var(--ant-color-text-secondary);display:flex;flex-direction:column;align-items:center;gap:8px}.clients-empty{padding:32px 0;text-align:center;color:var(--ant-color-text-secondary)}.setting-list-item{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ant-color-border-secondary)}.setting-list-item:last-child{border-bottom:0}.setting-list-meta{display:flex;flex-direction:column;gap:4px}.setting-list-title{font-size:14px;color:var(--ant-color-text);font-weight:500}.setting-list-description{font-size:14px;color:var(--ant-color-text-tertiary);line-height:1.5715}.settings-page .conf-alert{margin-bottom:10px}.ldap-no-inbounds{margin-top:6px;color:var(--ant-color-text-tertiary);font-size:12px}.api-token-section{padding:8px 20px 16px;display:flex;flex-direction:column;gap:12px}.api-token-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.api-token-hint{margin:0;font-size:12.5px;opacity:.7;flex:1;min-width:200px}.api-token-row{border:1px solid var(--ant-color-border-secondary);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;transition:opacity .15s}.api-token-row.disabled{opacity:.55}.api-token-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.api-token-name-wrap{display:flex;flex-direction:column;gap:2px}.api-token-name{font-weight:600;font-size:13.5px}.api-token-created{font-size:11px;opacity:.55}.api-token-actions{display:flex;align-items:center;gap:8px}.api-token-value-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.api-token-value{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;padding:4px 8px;background:var(--ant-color-fill-tertiary);border-radius:4px;word-break:break-all}.api-token-created-notice{margin:0 0 12px;font-size:13px}.security-actions{padding:12px 0;display:flex;align-items:center}.login-app{--bg-page: #eef2ff;--bg-card: rgba(255, 255, 255, .72);--bg-card-solid: #ffffff;--color-text: rgba(0, 0, 0, .88);--color-text-subtle: rgba(0, 0, 0, .55);--color-accent: #6366f1;--color-border: rgba(255, 255, 255, .6);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 18px 50px rgba(99, 102, 241, .18);--blob-1: rgba(99, 102, 241, .55);--blob-2: rgba(236, 72, 153, .5);--blob-3: rgba(20, 184, 166, .4);--blob-4: rgba(251, 191, 36, .35);--blob-5: rgba(56, 189, 248, .4);--grid-color: rgba(99, 102, 241, .06);--vignette: radial-gradient(ellipse at center, transparent 30%, rgba(0, 0, 0, .05) 100%);position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(135deg,#eef2ff,#fdf2f8,#ecfeff)}.login-app.is-dark{--bg-page: #0d1117;--bg-card: rgba(28, 30, 36, .55);--bg-card-solid: #1c1e22;--color-text: rgba(255, 255, 255, .92);--color-text-subtle: rgba(255, 255, 255, .55);--color-accent: #3b82f6;--color-border: rgba(255, 255, 255, .1);--shadow-card: 0 1px 3px rgba(0, 0, 0, .4), 0 20px 60px rgba(59, 130, 246, .22);--blob-1: rgba(96, 165, 250, .42);--blob-2: rgba(59, 130, 246, .42);--blob-3: rgba(37, 99, 235, .35);--blob-4: rgba(251, 146, 60, .18);--blob-5: rgba(129, 140, 248, .3);--grid-color: rgba(255, 255, 255, .04);--vignette: radial-gradient(ellipse at center, transparent 25%, rgba(0, 0, 0, .5) 100%);background:radial-gradient(ellipse at 25% 20%,#152038,#0d1117 60%)}.login-app.is-dark.is-ultra{--bg-page: #000;--bg-card: rgba(15, 17, 28, .6);--bg-card-solid: #101013;--color-border: rgba(255, 255, 255, .06);--blob-1: rgba(99, 102, 241, .3);--blob-2: rgba(236, 72, 153, .22);--blob-3: rgba(34, 211, 238, .2);--blob-4: rgba(251, 146, 60, .15);--blob-5: rgba(168, 85, 247, .25);--grid-color: rgba(255, 255, 255, .025);--vignette: radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, .8) 100%);background:radial-gradient(ellipse at 25% 20%,#0a0a1a,#000 60%)}.login-app:before,.login-app:after{content:"";position:absolute;width:70vw;height:70vw;max-width:900px;max-height:900px;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0;will-change:transform}.login-app:before{top:-25vw;left:-20vw;background:radial-gradient(circle,var(--blob-1) 0%,transparent 65%);animation:blob-drift-a 24s ease-in-out infinite alternate}.login-app:after{bottom:-25vw;right:-20vw;background:radial-gradient(circle,var(--blob-2) 0%,transparent 65%);animation:blob-drift-b 30s ease-in-out infinite alternate}.login-content:before{content:"";position:absolute;top:30%;left:50%;width:50vw;height:50vw;max-width:700px;max-height:700px;border-radius:50%;background:radial-gradient(circle,var(--blob-3) 0%,transparent 65%);filter:blur(100px);pointer-events:none;z-index:0;will-change:transform;animation:blob-drift-c 36s ease-in-out infinite alternate}.login-content:after{content:"";position:absolute;top:10%;right:15%;width:35vw;height:35vw;max-width:500px;max-height:500px;border-radius:50%;background:radial-gradient(circle,var(--blob-4) 0%,transparent 65%);filter:blur(90px);pointer-events:none;z-index:0;will-change:transform;animation:blob-drift-d 28s ease-in-out infinite alternate}.login-wrapper:before{content:"";position:absolute;bottom:5%;left:10%;width:35vw;height:35vw;max-width:500px;max-height:500px;border-radius:50%;background:radial-gradient(circle,var(--blob-5) 0%,transparent 65%);filter:blur(90px);pointer-events:none;z-index:0;will-change:transform;animation:blob-drift-e 32s ease-in-out infinite alternate}.login-wrapper:after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:48px 48px;background-position:center;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);pointer-events:none;z-index:0}@keyframes blob-drift-a{0%{transform:translate(0) scale(1)}50%{transform:translate(18vw,10vh) scale(1.15)}to{transform:translate(34vw,22vh) scale(1.25)}}@keyframes blob-drift-b{0%{transform:translate(0) scale(1)}50%{transform:translate(-16vw,-10vh) scale(1.12)}to{transform:translate(-30vw,-22vh) scale(1.2)}}@keyframes blob-drift-c{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-20%,-20%) scale(1.1)}to{transform:translate(-80%,-10%) scale(1.05)}}@keyframes blob-drift-d{0%{transform:translate(0) scale(.9)}50%{transform:translate(-12vw,14vh) scale(1.05)}to{transform:translate(8vw,-8vh) scale(1.1)}}@keyframes blob-drift-e{0%{transform:translate(0) scale(1)}50%{transform:translate(14vw,-8vh) scale(1.1)}to{transform:translate(-6vw,12vh) scale(1.15)}}@media(prefers-reduced-motion:reduce){.login-app:before,.login-app:after,.login-content:before,.login-content:after,.login-wrapper:before{animation:none}}.login-app .ant-layout-content{background:transparent}.login-content{position:relative}.login-content>*{position:relative;z-index:1}.login-toolbar{position:fixed;top:16px;right:16px;z-index:10;display:inline-flex;align-items:center;gap:8px}.toolbar-btn{width:40px;height:40px;min-width:40px;border-radius:50%;padding:0}.toolbar-btn .anticon{font-size:18px}.login-wrapper{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.login-loading{text-align:center}.login-card{position:relative;width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--color-border);border-radius:20px;padding:40px 32px 28px;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);z-index:2}.login-card:before{content:"";position:absolute;inset:0;border-radius:20px;padding:1px;background:linear-gradient(135deg,#ffffff80,#fff0 40%,#6366f140 80%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-app.is-dark .login-card:before{background:linear-gradient(135deg,#ffffff26,#fff0 40%,#3b82f666 80%)}@media(max-width:480px){.login-card{padding:32px 20px 24px}}.brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px}.brand-name{font-size:28px;font-weight:700;letter-spacing:1.5px;color:var(--color-text);background:linear-gradient(135deg,var(--color-accent),#ec4899);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-app.is-dark .brand-name{background:linear-gradient(135deg,#60a5fa,#1d4ed8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-accent{display:block;width:40px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--color-accent),#ec4899)}.login-app.is-dark .brand-accent{background:linear-gradient(90deg,#60a5fa,#1d4ed8)}.welcome{text-align:center;color:var(--color-text);font-size:32px;font-weight:700;line-height:1.2;min-height:42px;margin:12px 0 28px;letter-spacing:.3px}.welcome b{display:inline-block;font-weight:inherit;animation:headline-in .28s ease both}@keyframes headline-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.welcome b{animation:none}}.login-form .ant-form-item-label>label{color:var(--color-text);font-weight:500}.login-form input.ant-input:-webkit-autofill,.login-form input.ant-input:-webkit-autofill:hover,.login-form input.ant-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text)!important;-webkit-box-shadow:0 0 0 1000px var(--bg-card-solid) inset!important;box-shadow:0 0 0 1000px var(--bg-card-solid) inset!important;transition:background-color 9999s ease-in-out 0s,color 9999s ease-in-out 0s}.submit-row{margin-bottom:0}
