@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/plus-jakarta-sans-cyrillic-ext-400-normal.0nsnl23n_6n31.woff2)format("woff2"),url(../media/plus-jakarta-sans-cyrillic-ext-400-normal.1dl2imy1n69qn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/plus-jakarta-sans-vietnamese-400-normal.0tuhl1a7zqzph.woff2)format("woff2"),url(../media/plus-jakarta-sans-vietnamese-400-normal.1ebhu3ydxye98.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/plus-jakarta-sans-latin-ext-400-normal.2dpj9jam_znrc.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-ext-400-normal.1cm1a-poxlrvd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/plus-jakarta-sans-latin-400-normal.2ysn9gc82zk1v.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-400-normal.0crn-37tc-i3f.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/plus-jakarta-sans-cyrillic-ext-500-normal.414w4lwftrt-p.woff2)format("woff2"),url(../media/plus-jakarta-sans-cyrillic-ext-500-normal.1ydt4nm9eri8u.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/plus-jakarta-sans-vietnamese-500-normal.32mqaj4wavu_-.woff2)format("woff2"),url(../media/plus-jakarta-sans-vietnamese-500-normal.1l5-kl2e5ltii.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/plus-jakarta-sans-latin-ext-500-normal.39x03kic3z_r6.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-ext-500-normal.2hwdsrui_zphl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/plus-jakarta-sans-latin-500-normal.1evhelic1rxge.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-500-normal.0ovxcd3rb4vux.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/plus-jakarta-sans-cyrillic-ext-600-normal.21hth67503ask.woff2)format("woff2"),url(../media/plus-jakarta-sans-cyrillic-ext-600-normal.06z2bi1zgn__c.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/plus-jakarta-sans-vietnamese-600-normal.0uos7e0hb0vh9.woff2)format("woff2"),url(../media/plus-jakarta-sans-vietnamese-600-normal.3bl-erxcxetvl.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/plus-jakarta-sans-latin-ext-600-normal.2mnwxc4ivfhul.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-ext-600-normal.07s-jvr3cnqdh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/plus-jakarta-sans-latin-600-normal.0p6sew1q6gl7s.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-600-normal.0zi76bk3y5qvy.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-cyrillic-ext-700-normal.1nhq2514h9x8o.woff2)format("woff2"),url(../media/plus-jakarta-sans-cyrillic-ext-700-normal.1ib5jkckymo9d.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-vietnamese-700-normal.1z0ss10ckklg_.woff2)format("woff2"),url(../media/plus-jakarta-sans-vietnamese-700-normal.2lsr2bj7wsvqp.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-latin-ext-700-normal.1l58qrcouh72i.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-ext-700-normal.2y7a0hldj3559.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/plus-jakarta-sans-latin-700-normal.1dulefe5e4s81.woff2)format("woff2"),url(../media/plus-jakarta-sans-latin-700-normal.11xgn1hzdiyec.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-ext-400-normal.2xgjnt7tqh9_7.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-400-normal.2k9shvy03yibn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-400-normal.0qoulnxh80yge.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-400-normal.0-x1dsk872q42.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-greek-400-normal.0_-0tsqse47zs.woff2)format("woff2"),url(../media/jetbrains-mono-greek-400-normal.3y1-6__cta0i8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-vietnamese-400-normal.2_8hwz_kagcew.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-400-normal.1lu2dr36-r4uv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.1y03up-y7l7i4.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.02j2uvbtesu5k.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.3crsbyy6lh6yf.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.2-1gwgi1uvl-u.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--font-sans:"Plus Jakarta Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-cyan:#06b6d4;--color-purple:#7c3aed;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--app-bg:#f3f7fb;--surface:#fff;--surface-subtle:#edf4ff;--surface-hover:#e8f1ff;--border:#d9e4f2;--border-strong:#c4d4e8;--text:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--sidebar:#fff;--sidebar-subtle:#f8fafd;--nav-selected:#e8f0ff;--focus-ring:#2563eb38;--overlay-shadow:0 18px 48px #0f172a29;--ease:cubic-bezier(.2,.8,.2,1)}:root[data-theme=dark]{--app-bg:#07111f;--surface:#0e1a2b;--surface-subtle:#13233a;--surface-hover:#172c48;--border:#94a3b82e;--border-strong:#94a3b847;--text:#e5eef9;--text-secondary:#9fb3c8;--text-muted:#7890aa;--sidebar:#07111f;--sidebar-subtle:#0b192a;--nav-selected:#132b4d;--focus-ring:#60a5fa3d;--overlay-shadow:0 18px 52px #0000006b}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--app-bg);color:var(--text);font:400 14px/22px var(--font-sans);text-wrap:pretty;margin:0}button,input{font:inherit}a{color:inherit;text-decoration:none}code,.numeric{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}.app-shell{min-height:100vh}.desktop-sidebar{background:var(--sidebar);border-right:1px solid var(--border);z-index:20;width:256px;position:fixed;inset:0 auto 0 0}.sidebar-inner{background:var(--sidebar);flex-direction:column;height:100%;padding:16px 12px 12px;display:flex}.brand,.login-brand{min-height:44px;color:var(--text);align-items:center;gap:10px;padding:0 8px;font-weight:700;display:flex}.brand-mark{background:var(--color-primary);color:#fff;width:32px;height:32px;font:700 16px/1 var(--font-sans);border-radius:8px;place-items:center;display:grid}.primary-nav{gap:4px;margin-top:28px;display:grid}.nav-item{min-height:42px;color:var(--text-secondary);transition:color .14s var(--ease), background .14s var(--ease);border-radius:6px;align-items:center;gap:12px;padding:8px 12px;font-weight:500;display:flex}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--nav-selected);color:var(--color-primary-hover);font-weight:600}.nav-item .anticon{font-size:17px}.account-panel{border-top:1px solid var(--border);grid-template-columns:36px minmax(0,1fr) 38px;align-items:center;gap:10px;margin-top:auto;padding:12px 8px 4px;display:grid}.account-avatar{background:var(--surface-subtle);width:36px;height:36px;color:var(--color-primary);border-radius:8px;place-items:center;font-weight:700;display:grid}.account-copy{min-width:0;display:grid}.account-copy strong,.account-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy strong{font-size:13px}.account-copy span{color:var(--text-muted);font-size:12px}.shell-main{min-height:100vh;margin-left:256px}.topbar{z-index:15;background:color-mix(in srgb, var(--app-bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-spacer{flex:1}.top-actions{align-items:center;gap:4px;display:flex}.mobile-menu,.theme-dark-icon,:root[data-theme=dark] .theme-light-icon{display:none}:root[data-theme=dark] .theme-dark-icon{display:inline-flex}.page-content{width:min(100%,1440px);margin:0 auto;padding:24px}.page-stack{gap:24px;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-header h1{color:var(--text);margin:0;font-size:24px;font-weight:700;line-height:32px}.page-header p{max-width:72ch;color:var(--text-secondary);margin:4px 0 0}.page-header.split{align-items:center}.availability{align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;line-height:18px;display:inline-flex}.availability.success,.success-copy,.status-text.success{color:var(--color-success)}.availability.error,.status-text.error{color:var(--color-error)}.warning-copy{color:var(--color-warning)}.overview-band,.summary-band,.admin-status{background:var(--surface);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.overview-band>div,.summary-band>div,.admin-status>div{border-right:1px solid var(--border);gap:6px;min-width:0;padding:20px;display:grid}.overview-band>div:last-child,.summary-band>div:last-child,.admin-status>div:last-child{border-right:0}.overview-band span,.summary-band span,.admin-status span{color:var(--text-muted);font-size:12px}.overview-band strong,.summary-band strong,.admin-status strong{font:600 21px/28px var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-primary{background:var(--surface-subtle)}.overview-primary strong{color:var(--color-primary)}.action-section h2{margin:0 0 12px;font-size:16px;line-height:24px}.action-list{background:var(--surface);border:1px solid var(--border);border-radius:8px}.action-row{border-bottom:1px solid var(--border);min-height:72px;transition:background .14s var(--ease);grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px 16px;display:grid}.action-row:last-child{border-bottom:0}.action-row:hover{background:var(--surface-hover)}.action-row>.anticon{color:var(--text-muted)}.action-row span:nth-child(2){display:grid}.action-row small{color:var(--text-muted)}.action-icon,.resource-icon,.admin-resource-icon{background:var(--nav-selected);width:40px;height:40px;color:var(--color-primary);border-radius:8px;place-items:center;font-size:18px;display:grid}.action-icon.cyan{color:var(--color-cyan)}.action-icon.purple{color:var(--color-purple)}.data-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:240px}.data-panel .ant-empty{padding:56px 16px}.empty-help{color:var(--text-muted);margin-top:4px;font-weight:400;display:block}.resource-row{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(180px,1fr) minmax(180px,auto) auto;align-items:center;gap:16px;min-height:76px;padding:12px 16px;display:grid}.resource-row:last-child{border-bottom:0}.resource-main{gap:3px;min-width:0;display:grid}.resource-main code{color:var(--text-secondary);text-overflow:ellipsis;overflow:hidden}.admin-list-row{grid-template-columns:minmax(180px,1fr) auto}.resource-meta{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:12px;font-size:12px;display:flex}.modal-form,.secret-result{gap:16px;display:grid}.modal-form label{font-weight:600}.secret-value{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:12px;display:flex}.secret-value code{overflow-wrap:anywhere;flex:1}.table-scroll{overflow-x:auto}.table-panel table{border-collapse:collapse;width:100%;min-width:820px}.table-panel th,.table-panel td{border-bottom:1px solid var(--border);text-align:left;padding:11px 14px}.table-panel th{background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;font-weight:600}.table-panel tr:last-child td{border-bottom:0}.status-text{font-family:var(--font-mono);align-items:center;gap:6px;display:inline-flex}.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-resource{background:var(--surface);border:1px solid var(--border);min-height:88px;transition:background .14s var(--ease), border-color .14s var(--ease);border-radius:8px;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:16px;display:grid}.admin-resource:hover{background:var(--surface-hover);border-color:var(--border-strong)}.admin-resource span:nth-child(2){display:grid}.admin-resource strong{font:600 20px/28px var(--font-mono)}.admin-resource small{color:var(--text-muted)}.login-page{background:var(--app-bg);grid-template-columns:minmax(420px,520px) 1fr;min-height:100vh;display:grid}.login-panel{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;justify-content:center;padding:48px clamp(32px,6vw,72px);display:flex}.login-brand{padding:0;position:absolute;top:28px;left:clamp(32px,6vw,72px)}.login-heading{margin-bottom:24px}.login-heading h1{margin:0;font-size:28px;line-height:36px}.login-heading p{color:var(--text-secondary);margin:8px 0 0}.login-form{gap:4px;display:grid}.login-form .ant-form-item{margin-bottom:16px}.login-form .ant-form-item-label{padding-bottom:6px;font-weight:600}.login-context{background:var(--app-bg);place-items:center;padding:48px;display:grid}.login-context-grid{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,180px);display:grid;overflow:hidden}.login-context-grid span{height:140px;color:var(--text-muted);font:500 12px/18px var(--font-mono);border-right:1px solid var(--border);border-bottom:1px solid var(--border);place-items:center;display:grid}.login-context-grid span:nth-child(2n){border-right:0}.login-context-grid span:nth-child(n+3){border-bottom:0}.ant-modal-content,.ant-drawer-content{box-shadow:var(--overlay-shadow)!important}.mobile-drawer .ant-drawer-body{padding:0}@media (max-width:900px){.desktop-sidebar{display:none}.shell-main{margin-left:0}.mobile-menu{display:inline-flex}.topbar{padding:0 16px}.page-content{padding:20px 16px}.overview-band,.summary-band,.admin-status{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-band>div:nth-child(2),.summary-band>div:nth-child(2),.admin-status>div:nth-child(2){border-right:0}.overview-band>div:nth-child(-n+2),.summary-band>div:nth-child(-n+2),.admin-status>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.login-page{grid-template-columns:1fr}.login-context{display:none}.login-panel{border-right:0}.resource-row{grid-template-columns:40px minmax(0,1fr) auto}.resource-meta{grid-column:2/-1;justify-content:flex-start}}@media (max-width:560px){.page-header,.page-header.split{display:grid}.page-header h1{font-size:22px;line-height:30px}.overview-band,.summary-band,.admin-status,.resource-grid{grid-template-columns:1fr}.overview-band>div,.summary-band>div,.admin-status>div{border-right:0;border-bottom:1px solid var(--border)}.overview-band>div:last-child,.summary-band>div:last-child,.admin-status>div:last-child{border-bottom:0}.resource-row{grid-template-columns:40px minmax(0,1fr)}.resource-row form{grid-column:2}.resource-meta{flex-wrap:wrap}.login-panel{padding:88px 20px 28px}.login-brand{left:20px}.secret-value{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
