:root{--sidebar-width: 240px;--layout-header-height: 56px;--layout-content-padding: 24px;--layout-top-offset: calc(var(--layout-header-height) + (var(--layout-content-padding) * 2));--layout-border: #e7e9ef;--layout-focus-ring: rgba(0, 82, 217, .28)}html,body,#root{width:100%;height:100%;margin:0}html{color-scheme:light}html[theme-mode=dark]{color-scheme:dark}body{color:#1d2129;background:#f5f5f5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}.skip-link{position:fixed;top:10px;left:50%;z-index:1200;padding:9px 14px;color:#fff;background:#0052d9;border-radius:6px;box-shadow:0 8px 24px #0f172a33;text-decoration:none;transform:translate(-50%,-160%);transition:transform .16s ease}.skip-link:focus-visible{transform:translate(-50%);outline:3px solid rgba(255,255,255,.9);outline-offset:2px}.main-layout{width:100%;max-width:100%;height:100vh;height:100dvh;background:#f5f5f5;position:relative;overflow:hidden}.layout-aside{background:#fff;border-right:1px solid var(--layout-border);box-shadow:none;transition:width .3s ease;display:flex;flex-direction:column;position:relative;z-index:100;flex-shrink:0;min-height:0}.layout-aside .t-default-menu,.layout-aside .t-menu{background:transparent}.layout-aside.collapsed{width:64px}.aside-header{padding:12px 16px;border-bottom:1px solid var(--layout-border);display:flex;align-items:center;gap:12px;justify-content:flex-start;min-height:64px;height:auto;box-sizing:border-box;position:relative}.layout-aside.collapsed .aside-header{padding:12px 0;justify-content:center;min-height:64px}.aside-close-btn{display:none}.logo-mini{width:40px;height:40px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b82f64d;flex-shrink:0}.logo-text-mini{color:#fff;font-size:14px;font-weight:700;letter-spacing:1px}.system-name{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0}.system-name h3{font-size:15px;font-weight:600;color:#1d2129;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.system-subtitle-mini{margin:2px 0 0;font-size:11px;line-height:1.45;color:#86909c;white-space:normal;overflow:visible;text-overflow:unset;max-width:none;width:100%;word-break:break-word;overflow-wrap:anywhere}.aside-menu{margin:0}.aside-nav{display:flex;flex-direction:column;gap:4px;padding:0 8px 8px}.aside-nav-group{display:flex;flex-direction:column;gap:2px}.aside-nav-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:8px;color:#4e5969;text-decoration:none;transition:background .15s ease,color .15s ease;cursor:pointer}.aside-nav-item:hover{background:#f3f3f5;color:#1d2129}.aside-nav-item--active{background:#e8f3ff;color:#0052d9;font-weight:500}.aside-nav-item-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.aside-nav-item-icon .t-icon{font-size:18px}.aside-nav-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aside-nav--collapsed{padding:0 8px 8px}.aside-nav--collapsed .aside-nav-item{justify-content:center;padding:10px 0}.aside-menu .t-menu__item{margin:2px 10px;border-radius:8px;color:#4e5969;height:42px;line-height:42px;transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.aside-menu .t-menu__item.t-is-active{background:#e8f3ff;color:#0052d9;font-weight:500;box-shadow:inset 3px 0 #0052d9}.aside-menu .t-menu__item:hover:not(.t-is-active){background:#f3f3f5}.aside-nav-group-title{font-size:12px;font-weight:500;color:#86909c;padding:12px 20px 4px;pointer-events:none;-webkit-user-select:none;user-select:none}.aside-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0 16px}.aside-body::-webkit-scrollbar{width:0;height:0}.aside-footer{flex-shrink:0;padding:12px 16px 16px;border-top:1px solid #e7e9ef;text-align:center}.aside-footer-text{display:block;font-size:11px;line-height:1.5;color:#94a3b8;word-break:break-word}.aside-footer-mark{display:block;font-size:12px;color:#94a3b8;cursor:default}.layout-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.layout-header,.layout-header.t-layout__header{background:#fff;border-bottom:1px solid var(--layout-border);box-shadow:0 1px 3px #0f172a0a;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:var(--layout-header-height);min-height:var(--layout-header-height);max-height:var(--layout-header-height);flex:0 0 var(--layout-header-height);box-sizing:border-box;overflow:hidden;position:relative;z-index:90}.header-left,.header-right{height:100%;align-items:center}.header-menu-slot{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center}.header-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1;overflow:hidden}.mobile-menu-btn{display:none;padding:0;width:40px;height:40px;border-radius:8px;transition:background .2s;line-height:40px;align-items:center;justify-content:center}.mobile-menu-btn:hover{background:#f1f5f9}.mobile-menu-btn .t-icon{font-size:20px;vertical-align:middle}.collapse-toggle-btn{width:40px;height:40px;padding:0;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.collapse-toggle-btn:hover{background:#f1f5f9}.breadcrumb-nav{font-size:14px;line-height:1;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;height:100%}.breadcrumb-nav .t-breadcrumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;min-height:0}.breadcrumb-nav .t-breadcrumb__item{cursor:pointer;transition:color .2s}.breadcrumb-nav .t-breadcrumb__item,.breadcrumb-nav .t-breadcrumb__inner{white-space:nowrap}.breadcrumb-nav .t-breadcrumb__item:hover{color:#3b82f6}.header-right{display:flex;align-items:center;gap:16px;min-width:0}.header-account-panel{padding:14px 16px 12px;min-width:280px}.header-account-panel-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.header-account-panel-avatar{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.header-account-panel-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.header-account-panel-name{font-size:15px;font-weight:600;color:#1e293b;line-height:1.2}.header-account-panel-tags{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%}.header-account-panel-tag{flex-shrink:0}.header-account-panel-rows{display:flex;flex-direction:column;gap:10px}.header-account-panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-account-panel-label{font-size:13px;color:#64748b;flex-shrink:0}.header-account-panel-value{font-size:13px;font-weight:500;color:#1e293b;text-align:right}.header-account-panel-value--highlight{color:#059669;font-weight:600}.header-account-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.header-account-panel-actions .t-button{width:100%;min-width:0;justify-content:center}.header-user-panel-popup .t-popup__content{padding:0;border-radius:12px;box-shadow:0 8px 24px #0f172a1f;overflow:hidden}[theme-mode=dark] .header-user-panel-popup .t-popup__content{box-shadow:0 8px 24px #00000059}.header-user-dropdown-popup--panel-only .t-dropdown__menu{display:none;padding:0;margin:0;border:none}.account-security-form{display:flex;flex-direction:column;gap:12px}.account-security-hint{margin:0;font-size:12px;color:#64748b;line-height:1.5}.account-security-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.header-user-dropdown-popup .t-dropdown__item{justify-content:center;text-align:center}.header-user-dropdown-popup .t-dropdown__item-text{flex:none;width:100%;text-align:center}.header-logout-text{display:block;width:100%;text-align:center}.user-info{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;box-sizing:border-box;background:#f1f5f9;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;max-width:100%}.user-info:hover{background:#e5e7eb}.user-info:focus-visible,.mobile-menu-btn:focus-visible,.collapse-toggle-btn:focus-visible,.theme-toggle-btn:focus-visible,.aside-close-btn:focus-visible,.back-to-top.t-button:focus-visible{outline:3px solid var(--layout-focus-ring);outline-offset:2px}.user-icon{color:#3b82f6}.username{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.theme-toggle-btn{padding:0;width:40px;height:40px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.theme-toggle-btn:hover{background:#f1f5f9}.theme-toggle-btn .t-icon{font-size:20px}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:150;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;width:100%;padding:0;border:0;border-radius:0;cursor:default}.mobile-menu-overlay--visible{opacity:1;visibility:visible;pointer-events:auto}body.sgk-mobile-menu-open,html.sgk-mobile-menu-open{overflow:hidden;touch-action:none}.layout-content{flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--layout-content-padding);background:transparent;position:relative;z-index:1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:smooth;box-sizing:border-box}.layout-route-outlet{position:relative;z-index:1;min-height:0}.layout-route-panel{min-height:0}.layout-route-panel--cached{display:none;pointer-events:none;visibility:hidden}.layout-route-panel--active{display:block}.route-page-content{animation:layout-route-enter .18s ease-out both;will-change:opacity,transform}@keyframes layout-route-enter{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}.route-page-fallback{min-height:160px;display:flex;align-items:center;justify-content:center}.route-page-fallback:after{content:"";width:28px;height:28px;border:2px solid rgba(59,130,246,.25);border-top-color:#3b82f6;border-radius:50%;animation:route-page-spinner .7s linear infinite}@keyframes route-page-spinner{to{transform:rotate(360deg)}}.layout-header--nav-pending:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);opacity:.85;animation:layout-nav-progress .8s ease-in-out infinite;pointer-events:none}@keyframes layout-nav-progress{0%{transform:translate(-60%)}to{transform:translate(60%)}}.route-guard-placeholder,.auth-guard-loading{min-height:0;height:0;overflow:hidden;visibility:hidden}[theme-mode=dark] .main-layout{background:#1a1a1a}[theme-mode=dark] .layout-aside{background:#2d2d2d;border-right-color:#3d3d3d;box-shadow:none}[theme-mode=dark] .aside-header{border-bottom-color:#3d3d3d}[theme-mode=dark] .aside-nav-item{color:#94a3b8}[theme-mode=dark] .aside-nav-item:hover{background:#3d3d3d;color:#e2e8f0}[theme-mode=dark] .aside-nav-item--active{background:#3b82f629;color:#60a5fa}[theme-mode=dark] .aside-menu .t-menu__item{color:#94a3b8}[theme-mode=dark] .aside-menu .t-menu__item.t-is-active{background:#3b82f626;color:#60a5fa}[theme-mode=dark] .aside-menu .t-menu__item:hover:not(.t-is-active){background:#3d3d3d}[theme-mode=dark] .aside-nav-group-title{color:#64748b}[theme-mode=dark] .aside-footer{border-top-color:#3d3d3d}[theme-mode=dark] .aside-footer-text,[theme-mode=dark] .aside-footer-mark{color:#64748b}[theme-mode=dark] .logo-mini{box-shadow:0 4px 12px #3b82f680}[theme-mode=dark] .system-name h3{color:#e5e5e5}[theme-mode=dark] .system-subtitle-mini{color:#64748b}[theme-mode=dark] .mobile-menu-btn:hover,[theme-mode=dark] .collapse-toggle-btn:hover,[theme-mode=dark] .aside-close-btn:hover{background:#3d3d3d}[theme-mode=dark] .layout-header{background:#2d2d2d;border-bottom-color:#3d3d3d;box-shadow:0 2px 8px #0000004d}[theme-mode=dark] .breadcrumb-nav{color:#e5e5e5}[theme-mode=dark] .header-account-panel-head{border-bottom-color:#4d4d4d}[theme-mode=dark] .header-account-panel-name,[theme-mode=dark] .header-account-panel-value{color:#e2e8f0}[theme-mode=dark] .header-account-panel-label{color:#94a3b8}[theme-mode=dark] .header-account-panel-value--highlight{color:#34d399}[theme-mode=dark] .header-account-panel-actions{border-top-color:#4d4d4d}[theme-mode=dark] .account-security-hint{color:#94a3b8}[theme-mode=dark] .user-info{background:#3d3d3d}[theme-mode=dark] .user-info:hover{background:#4d4d4d}[theme-mode=dark] .username{color:#e5e5e5}[theme-mode=dark] .theme-toggle-btn:hover{background:#3d3d3d}[theme-mode=dark] .layout-content{background:transparent}@media (max-width: 768px){:root{--layout-content-padding: 16px;--sidebar-width: 0px}html,body,#root{overflow-x:hidden;max-width:100%}.main-layout{overflow-x:hidden}.main-layout .layout-main,.main-layout--mobile .layout-main{width:100%;min-width:0;flex:1 1 0%;display:flex;flex-direction:column}.main-layout.t-layout--with-sider>.t-layout__sider.layout-aside,.main-layout--mobile.t-layout--with-sider>.t-layout__sider.layout-aside{position:fixed!important;left:0;top:0;width:0!important;min-width:0!important;max-width:0!important;flex:0 0 0!important;height:100vh;height:100dvh;z-index:200;overflow:hidden;visibility:hidden;pointer-events:none;border:none;box-shadow:none;transform:translate3d(-100%,0,0);transition:transform .24s cubic-bezier(.4,0,.2,1),visibility .24s ease;will-change:transform;contain:layout style paint}.main-layout.t-layout--with-sider>.t-layout__sider.layout-aside.mobile-open,.main-layout--mobile.t-layout--with-sider>.t-layout__sider.layout-aside.mobile-open{width:min(280px,84vw)!important;min-width:min(280px,84vw)!important;max-width:min(280px,84vw)!important;visibility:visible;pointer-events:auto;overflow:visible;transform:translateZ(0);border-right:none;box-shadow:2px 0 16px #0f172a1f}.main-layout.t-layout--with-sider>.t-layout__sider.layout-aside.collapsed,.main-layout--mobile.t-layout--with-sider>.t-layout__sider.layout-aside.collapsed{width:0!important;min-width:0!important;max-width:0!important}.main-layout.t-layout--with-sider>.t-layout__sider.layout-aside.collapsed.mobile-open,.main-layout--mobile.t-layout--with-sider>.t-layout__sider.layout-aside.collapsed.mobile-open{width:min(280px,84vw)!important;min-width:min(280px,84vw)!important;max-width:min(280px,84vw)!important}.t-layout__sider.layout-aside{transition:transform .24s cubic-bezier(.4,0,.2,1),visibility .24s ease!important}.mobile-menu-btn{display:flex}.aside-header{justify-content:flex-start;padding:16px 52px 16px 16px;min-height:72px}.aside-close-btn{display:flex;position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;padding:0;border-radius:8px;align-items:center;justify-content:center}.aside-close-btn:hover{background:#f1f5f9}.aside-close-btn .t-icon{font-size:20px}.layout-header,.layout-header.t-layout__header{padding:0 16px;height:var(--layout-header-height);min-height:var(--layout-header-height);max-height:var(--layout-header-height);flex:0 0 var(--layout-header-height)}.header-right{gap:8px}.user-info{padding:0 10px;height:36px}.username{font-size:13px}.theme-toggle-btn{width:40px;height:40px;padding:0}.layout-content{padding:var(--layout-content-padding);scrollbar-gutter:auto}.aside-menu .t-menu__item{touch-action:manipulation}.layout-route-panel--active{animation-duration:.16s}.breadcrumb-nav{max-width:42vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.system-name{display:block}}@media (max-width: 480px){:root{--layout-content-padding: 12px}.layout-header,.layout-header.t-layout__header{padding:0 12px}.header-right{gap:4px;flex-shrink:0}.user-info{padding:0 8px;height:36px}.user-info .username{display:none}.breadcrumb-nav{max-width:34vw}.theme-toggle-btn{width:40px;height:40px;padding:0}}@media (min-width: 769px){.mobile-menu-btn,.mobile-menu-overlay{display:none}}@media (prefers-reduced-motion: reduce){.layout-aside,.mobile-menu-overlay,.back-to-top,.route-page-content,.layout-header--nav-pending:after{transition:none;animation:none}}.back-to-top.t-button{position:fixed;bottom:32px;right:32px;width:48px;height:48px;border-radius:50%;box-shadow:0 4px 16px #00000026;background:#3b82f6;color:#fff;border:none;z-index:999;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background .3s ease,box-shadow .3s ease;opacity:0;visibility:hidden;transform:translateY(20px);padding:0;min-width:unset}.back-to-top.t-button.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top.t-button:hover{background:#2563eb;box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.back-to-top .t-icon{font-size:20px}@media (max-width: 768px){.back-to-top.t-button{bottom:24px;right:24px;width:44px;height:44px}}@media (max-width: 480px){.back-to-top.t-button{bottom:20px;right:20px;width:40px;height:40px}}.aside-logo-img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 12px #3b82f633}.sgk-open-browser-tip{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;box-sizing:border-box;width:100%;max-width:100vw;height:100%;min-height:100dvh;padding:max(8px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:radial-gradient(ellipse 80% 50% at 88% 0%,rgba(56,189,248,.18),transparent 55%),linear-gradient(165deg,#0b1220,#111827 45%,#0f172a);color:#f8fafc;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none}.sgk-open-browser-tip__arrow{position:relative;z-index:1;align-self:flex-end;flex-shrink:0;width:clamp(56px,18vw,88px);height:clamp(72px,24vw,118px);margin:0 2px 0 0;color:#7dd3fc;pointer-events:none;animation:sgk-open-browser-bounce 1.4s ease-in-out infinite}.sgk-open-browser-tip__arrow-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 10px rgba(125,211,252,.45))}.sgk-open-browser-tip__panel{position:relative;z-index:0;box-sizing:border-box;margin:4px auto 0;width:100%;max-width:360px;padding:clamp(18px,4.5vw,28px) clamp(16px,4vw,24px) clamp(18px,4vw,26px);border-radius:20px;background:#ffffff0f;border:1px solid rgba(148,163,184,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px #00000059;animation:sgk-open-browser-fade-in .45s ease-out both}.sgk-open-browser-tip__badge{display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#0ea5e9;background:#0ea5e924;border:1px solid rgba(56,189,248,.35);margin-bottom:14px;word-break:break-word}.sgk-open-browser-tip__title{margin:0 0 10px;font-size:clamp(18px,5.2vw,22px);font-weight:700;line-height:1.3;letter-spacing:.01em;word-break:break-word}.sgk-open-browser-tip__desc{margin:0 0 18px;font-size:clamp(13px,3.6vw,14px);line-height:1.7;color:#cbd5e1;word-break:break-word}.sgk-open-browser-tip__dots{display:inline-block;margin:0 4px;padding:0 8px;border-radius:6px;font-weight:700;letter-spacing:.12em;color:#0f172a;background:#e2e8f0;vertical-align:baseline}.sgk-open-browser-tip__steps{margin:0;padding:14px 14px 14px 32px;border-radius:14px;background:#0f172a8c;border:1px solid rgba(148,163,184,.16);font-size:clamp(12px,3.4vw,13px);line-height:1.8;color:#e2e8f0;word-break:break-word}.sgk-open-browser-tip__steps li+li{margin-top:2px}@keyframes sgk-open-browser-bounce{0%,to{transform:translate(0)}50%{transform:translate(4px,-6px)}}@keyframes sgk-open-browser-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-height: 520px){.sgk-open-browser-tip{justify-content:flex-start}.sgk-open-browser-tip__arrow{width:48px;height:64px}.sgk-open-browser-tip__panel{margin-top:0;padding:14px 14px 16px}.sgk-open-browser-tip__badge{margin-bottom:8px}.sgk-open-browser-tip__title{margin-bottom:6px;font-size:17px}.sgk-open-browser-tip__desc{margin-bottom:12px}.sgk-open-browser-tip__steps{padding:10px 12px 10px 28px;line-height:1.55}}@media (max-width: 360px){.sgk-open-browser-tip{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}.sgk-open-browser-tip__arrow{width:52px;height:70px;margin-right:0}.sgk-open-browser-tip__panel{border-radius:16px}}@media (min-width: 768px){.sgk-open-browser-tip{align-items:center;justify-content:center;padding:24px}.sgk-open-browser-tip__arrow{position:absolute;top:max(8px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));width:96px;height:128px;margin:0}.sgk-open-browser-tip__panel{margin-top:0}}
