*{box-sizing:border-box}:root{--x-bg-page: #f0f2f5;--x-bg-card: #ffffff;--x-bg-elevated: #ffffff;--x-shell-sider-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .16), transparent 38%), radial-gradient(circle at 18% 16%, rgba(59, 130, 246, .12), transparent 42%), linear-gradient(180deg, #ffffff 0%, #f9fcff 22%, #f5f9ff 58%, #f0f7ff 100%);--x-shell-header-bg: radial-gradient(circle at 12% 0%, rgba(14, 165, 233, .14), transparent 24%), radial-gradient(circle at 88% 0%, rgba(59, 130, 246, .1), transparent 22%), linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--x-panel-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .1), transparent 30%), radial-gradient(circle at top right, rgba(59, 130, 246, .08), transparent 24%), linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--x-panel-bg-strong: radial-gradient(circle at top left, rgba(14, 165, 233, .08), transparent 28%), radial-gradient(circle at top right, rgba(59, 130, 246, .06), transparent 24%), linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);--x-panel-elevated-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .08), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);--x-text-primary: #1f2937;--x-text-secondary: #6b7280;--x-text-heading: #111827;--x-text-tertiary: #9ca3af;--x-border: #f0f0f0;--x-border-strong: #e5e7eb;--x-shadow-sm: 0 1px 4px rgba(0, 0, 0, .06);--x-shadow-md: 0 12px 28px rgba(37, 99, 235, .08);--x-shadow-lg: 0 18px 36px rgba(15, 23, 42, .06);--x-fill-info-soft: #eff6ff;--x-menu-selected-bg: #eff6ff;--x-menu-selected-color: #2563eb;--x-menu-hover-bg: #f8faff;--x-menu-hover-color: #2563eb;--x-scrollbar-thumb: #d1d5db;--x-scrollbar-thumb-hover: #9ca3af;--x-table-body-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .08), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);--x-table-header-bg: rgba(248, 251, 255, .68);--x-table-row-bg: transparent;--x-table-row-hover: rgba(219, 234, 254, .46);--x-table-row-even: rgba(255, 255, 255, .34);--x-table-fixed-header-bg: #f8fbff;--x-table-fixed-row-bg: #ffffff;--x-table-fixed-row-even: #fbfdff;--x-table-fixed-row-hover: #eef6ff;--x-color-brand: #2563eb;--x-color-accent: #7c3aed;--x-color-success: #16a34a;--x-color-warning: #f59e0b;--x-color-danger: #ef4444;--x-color-info: #1890ff;--x-color-link: #1890ff;--x-fill-info: #f0f9ff;--x-fill-muted: #f5f5f5;--x-fill-warning: #fff3cd;--x-border-warning: #ffc107;--x-text-warning: #856404;--x-table-header-color: #6b7280;--x-table-header-border: #e5e7eb;--x-dashboard-toolbar-bg: radial-gradient(circle at top left, rgba(59, 130, 246, .18), transparent 34%), linear-gradient(135deg, #f8fbff 0%, #ffffff 48%, #f5f9ff 100%);--x-dashboard-toolbar-border: rgba(191, 219, 254, .7);--x-dashboard-toolbar-label: #1e3a8a;--x-stat-card-bg: radial-gradient(circle at top right, rgba(59, 130, 246, .18), transparent 36%), linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--x-stat-card-border: rgba(226, 232, 240, .95);--x-stat-card-overlay: rgba(255, 255, 255, .48);--x-dashboard-chart-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .12), transparent 28%), radial-gradient(circle at top right, rgba(59, 130, 246, .08), transparent 24%), linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);--x-dashboard-chart-border: rgba(226, 232, 240, .95);--x-panel-surface-border: rgba(226, 232, 240, .95);--x-panel-surface-shadow: 0 16px 32px rgba(37, 99, 235, .08);--x-form-surface-bg: #ffffff;--x-form-surface-bg-active: #ffffff;--x-form-surface-border: rgba(191, 219, 254, .9);--x-form-surface-border-hover: rgba(96, 165, 250, .95);--x-form-surface-shadow: 0 6px 16px rgba(37, 99, 235, .06);--x-form-surface-shadow-active: 0 0 0 3px rgba(59, 130, 246, .12);--x-shell-surface-border: rgba(226, 232, 240, .95);--x-shell-surface-shadow: 0 14px 32px rgba(37, 99, 235, .08);--x-shell-surface-glow: rgba(255, 255, 255, .46);--x-preview-shell-bg: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);--x-shell-card-bg: rgba(255, 255, 255, .82)}[data-theme=dark]{--x-bg-page: #0f172a;--x-bg-card: #15253a;--x-bg-elevated: #182b42;--x-shell-sider-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .14), transparent 40%), radial-gradient(circle at 18% 16%, rgba(59, 130, 246, .12), transparent 44%), linear-gradient(180deg, #111827 0%, #10192c 24%, #0f172a 58%, #0d1526 100%);--x-shell-header-bg: radial-gradient(circle at 12% 0%, rgba(14, 165, 233, .12), transparent 26%), radial-gradient(circle at 88% 0%, rgba(59, 130, 246, .12), transparent 22%), linear-gradient(180deg, #111827 0%, #0f172a 100%);--x-panel-bg: radial-gradient(circle at top right, rgba(59, 130, 246, .1), transparent 34%), radial-gradient(circle at top left, rgba(14, 165, 233, .1), transparent 28%), linear-gradient(180deg, #15253a 0%, #101b2d 100%);--x-panel-bg-strong: radial-gradient(circle at top left, rgba(14, 165, 233, .12), transparent 28%), radial-gradient(circle at top right, rgba(59, 130, 246, .1), transparent 24%), linear-gradient(180deg, #17293f 0%, #102033 100%);--x-panel-elevated-bg: radial-gradient(circle at top left, rgba(96, 165, 250, .1), transparent 30%), radial-gradient(circle at top right, rgba(59, 130, 246, .08), transparent 22%), linear-gradient(180deg, #182b42 0%, #122238 100%);--x-text-primary: #e5e7eb;--x-text-secondary: #b4c2d3;--x-text-heading: #f5f5f5;--x-text-tertiary: #94a3b8;--x-border: #28415d;--x-border-strong: #355171;--x-shadow-sm: 0 1px 4px rgba(0, 0, 0, .24);--x-shadow-md: 0 12px 28px rgba(3, 10, 24, .38);--x-shadow-lg: 0 18px 36px rgba(3, 10, 24, .42);--x-fill-info-soft: rgba(64, 150, 255, .16);--x-menu-selected-bg: rgba(64, 150, 255, .18);--x-menu-selected-color: #e0f2fe;--x-menu-hover-bg: rgba(148, 163, 184, .1);--x-menu-hover-color: #f8fafc;--x-scrollbar-thumb: #475569;--x-scrollbar-thumb-hover: #64748b;--x-table-body-bg: radial-gradient(circle at top left, rgba(96, 165, 250, .1), transparent 30%), radial-gradient(circle at top right, rgba(59, 130, 246, .08), transparent 22%), linear-gradient(180deg, #182b42 0%, #122238 100%);--x-table-header-bg: rgba(27, 44, 67, .64);--x-table-row-bg: transparent;--x-table-row-hover: rgba(64, 150, 255, .14);--x-table-row-even: rgba(255, 255, 255, .04);--x-table-fixed-header-bg: #1b2c43;--x-table-fixed-row-bg: #182b42;--x-table-fixed-row-even: #1b3048;--x-table-fixed-row-hover: #203a57;--x-color-brand: #60a5fa;--x-color-accent: #c4b5fd;--x-color-success: #4ade80;--x-color-warning: #fbbf24;--x-color-danger: #f87171;--x-color-info: #60a5fa;--x-color-link: #60a5fa;--x-fill-info: rgba(14, 165, 233, .16);--x-fill-muted: rgba(255, 255, 255, .06);--x-fill-warning: rgba(245, 158, 11, .12);--x-border-warning: rgba(245, 158, 11, .32);--x-text-warning: #fcd34d;--x-table-header-color: #e5e7eb;--x-table-header-border: #434343;--x-dashboard-toolbar-bg: radial-gradient(circle at top left, rgba(59, 130, 246, .12), transparent 34%), linear-gradient(135deg, #111827 0%, #0f172a 48%, #111827 100%);--x-dashboard-toolbar-border: rgba(96, 165, 250, .16);--x-dashboard-toolbar-label: #bfdbfe;--x-stat-card-bg: radial-gradient(circle at top right, rgba(59, 130, 246, .16), transparent 36%), linear-gradient(180deg, #111827 0%, #0f172a 100%);--x-stat-card-border: rgba(96, 165, 250, .14);--x-stat-card-overlay: rgba(148, 163, 184, .12);--x-dashboard-chart-bg: radial-gradient(circle at top left, rgba(14, 165, 233, .1), transparent 28%), radial-gradient(circle at top right, rgba(59, 130, 246, .08), transparent 24%), linear-gradient(180deg, #111827 0%, #0f172a 100%);--x-dashboard-chart-border: rgba(96, 165, 250, .14);--x-panel-surface-border: rgba(96, 165, 250, .14);--x-panel-surface-shadow: 0 18px 36px rgba(3, 10, 24, .34);--x-form-surface-bg: #182b42;--x-form-surface-bg-active: #1b2d45;--x-form-surface-border: rgba(96, 165, 250, .18);--x-form-surface-border-hover: rgba(96, 165, 250, .32);--x-form-surface-shadow: 0 8px 18px rgba(3, 10, 24, .24);--x-form-surface-shadow-active: 0 0 0 3px rgba(96, 165, 250, .14);--x-shell-surface-border: rgba(96, 165, 250, .14);--x-shell-surface-shadow: 0 18px 36px rgba(3, 10, 24, .34);--x-shell-surface-glow: rgba(148, 163, 184, .08);--x-preview-shell-bg: linear-gradient(180deg, #111827 0%, #0f172a 100%);--x-shell-card-bg: rgba(21, 37, 58, .86)}body{margin:0;font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--x-bg-page);color:var(--x-text-primary);-webkit-font-smoothing:antialiased}#root{min-height:100vh}html,body,#root{height:100%;overflow:hidden}.app-layout{height:100vh;overflow:hidden}.app-sider{position:relative;background:var(--x-shell-sider-bg)!important;border-right:1px solid var(--x-shell-surface-border);box-shadow:var(--x-shell-surface-shadow);height:100vh;overflow:hidden}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;overflow:hidden}.sider-menu-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.sider-menu-scroll::-webkit-scrollbar{width:4px}.sider-menu-scroll::-webkit-scrollbar-track{background:transparent}.sider-menu-scroll::-webkit-scrollbar-thumb{background:var(--x-border-strong);border-radius:2px}.app-right-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{position:relative;background:var(--x-shell-header-bg)!important;border-bottom:1px solid var(--x-shell-surface-border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;min-height:56px;line-height:56px;box-shadow:var(--x-shell-surface-shadow);flex-shrink:0;z-index:10}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--x-shell-surface-glow) 0%,transparent 48%);pointer-events:none}.app-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:10px;background:var(--x-bg-page)}.app-content>.ant-app{display:flex;min-height:0;flex:1;flex-direction:column}.app-content::-webkit-scrollbar{width:6px}.app-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb{background:var(--x-scrollbar-thumb);border-radius:3px}.app-content::-webkit-scrollbar-thumb:hover{background:var(--x-scrollbar-thumb-hover)}.sider-logo{position:relative;height:56px;display:flex;align-items:center;justify-content:flex-start;padding:0 28px;font-size:17px;font-weight:700;color:#2563eb;letter-spacing:.5px;border-bottom:1px solid var(--x-shell-surface-border);background:transparent;gap:8px;overflow:hidden}.ant-layout-sider-collapsed .sider-logo{justify-content:center;padding:0}.sider-logo-icon{width:28px;height:28px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900}.ant-menu-light{background:transparent!important}.ant-menu-light .ant-menu-item-selected{background:var(--x-menu-selected-bg)!important;color:var(--x-menu-selected-color)!important;font-weight:600}.ant-menu-light .ant-menu-item-selected:after{border-right:3px solid #2563eb!important}.ant-menu-light .ant-menu-item:hover{background:var(--x-menu-hover-bg)!important;color:var(--x-menu-hover-color)!important}.ant-menu-submenu-selected>.ant-menu-submenu-title{color:#2563eb!important;font-weight:600}.page-card{display:flex;min-height:calc(100vh - 76px);flex-direction:column;background:var(--x-panel-bg);border-radius:8px;border:1px solid var(--x-panel-surface-border);box-shadow:var(--x-panel-surface-shadow);margin-bottom:10px}.page-card>.ant-card-body{display:flex;min-height:0;flex:1;flex-direction:column}.ant-card{border-radius:8px!important;border:1px solid var(--x-panel-surface-border)!important;box-shadow:var(--x-panel-surface-shadow)!important;background:var(--x-panel-bg)!important}.ant-card-head{border-bottom:1px solid var(--x-border)!important;font-weight:600!important;font-size:15px!important;min-height:48px!important}.dashboard-page{display:flex;flex-direction:column;gap:10px}.dashboard-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 20px;border:1px solid var(--x-dashboard-toolbar-border);border-radius:18px;background:var(--x-dashboard-toolbar-bg);box-shadow:var(--x-shadow-md)}.dashboard-toolbar-label{font-size:13px;font-weight:600;color:var(--x-dashboard-toolbar-label);flex-shrink:0}.dashboard-toolbar-hint{font-size:12px;color:var(--x-text-secondary)}.stat-card{position:relative;overflow:hidden;background:var(--x-stat-card-bg);border-radius:18px;border:1px solid var(--x-stat-card-border);box-shadow:var(--x-shadow-lg);padding:22px;display:flex;align-items:flex-start;justify-content:space-between;min-height:128px;transition:box-shadow .2s,transform .2s,border-color .2s}.stat-card:after{content:"";position:absolute;inset:auto -20px -36px auto;width:110px;height:110px;border-radius:999px;background:var(--x-stat-card-overlay);pointer-events:none}.stat-card:hover{border-color:#60a5fae6;box-shadow:0 20px 38px #2563eb24;transform:translateY(-3px)}[data-theme=dark] .stat-card:hover{border-color:#60a5fa52;box-shadow:0 20px 38px #00000057}.stat-card-content{position:relative;z-index:1}.login-page{--login-primary: #78aee6;--login-cyan: #91d8cf;--login-ink: #07111c;--login-ink-soft: rgba(7, 17, 28, .72);--login-line: rgba(192, 221, 244, .14);--login-line-strong: rgba(222, 239, 255, .22);--login-glass: rgba(8, 18, 29, .3);--login-glass-strong: rgba(10, 22, 36, .52);--login-ice: #eef5fb;min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at top left,rgba(120,174,230,.12),transparent 34%),radial-gradient(circle at bottom center,rgba(145,216,207,.06),transparent 28%),linear-gradient(135deg,#040912,#07111d 42%,#0a1625)}.login-page__video,.login-page__video-tint{position:absolute;top:0;right:0;bottom:0;left:0}.login-page__video{width:100%;height:100%;object-fit:cover;z-index:0}.login-page__video-tint{z-index:0;background:linear-gradient(135deg,#040a128a,#08121f7a),radial-gradient(circle at 18% 20%,rgba(120,174,230,.1),transparent 32%),radial-gradient(circle at 74% 42%,rgba(145,216,207,.05),transparent 28%)}.login-page__backdrop,.login-page__container{position:relative;z-index:1}.login-page__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-page__grid,.login-page__scan{position:absolute;top:0;right:0;bottom:0;left:0}.login-page__grid{background-image:linear-gradient(rgba(145,180,208,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(145,180,208,.045) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.92) 22%,transparent 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.92) 22%,transparent 100%);opacity:.34}.login-page__scan{background:linear-gradient(180deg,transparent 0%,rgba(145,216,207,.06) 48%,transparent 100%);transform:translateY(-100%);animation:login-scan 12s linear infinite}.login-page__glow{position:absolute;border-radius:999px;filter:blur(26px);opacity:.7}.login-page__glow--primary{width:420px;height:420px;top:-4%;left:-2%;background:#78aee633;animation:login-float 18s ease-in-out infinite}.login-page__glow--secondary{width:520px;height:520px;right:-8%;top:12%;background:#91d8cf1a;animation:login-float 22s ease-in-out infinite reverse}.login-page__glow--accent{width:360px;height:360px;left:36%;bottom:-10%;background:#6b8cb024;animation:login-float 16s ease-in-out infinite}.login-page__container{min-height:100vh;padding:0}.login-page__toolbar{position:absolute;top:20px;right:24px;z-index:3;display:flex;align-items:center;justify-content:flex-end}.login-page__toolbar .ant-btn{color:#e2e8f0;border-color:#94a3b847;background:#0f172a4d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 30px #0f172a29}.login-page__toolbar .ant-btn:hover,.login-page__toolbar .ant-btn:focus{color:#fff;border-color:#60a5fa8c;background:#1e293b85}.login-shell{width:100%;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(380px,480px);align-items:stretch;overflow:hidden}.login-showcase,.login-panel{position:relative;min-height:100vh}.login-showcase{display:flex;flex-direction:column;justify-content:center;padding:56px 64px;gap:18px}.login-showcase:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 22% 18%,rgba(145,216,207,.08),transparent 24%),radial-gradient(circle at 78% 26%,rgba(120,174,230,.12),transparent 30%);pointer-events:none}.login-showcase__brand-cluster{position:fixed;top:48px;left:56px;z-index:3;width:min(420px,calc(100vw - 112px));animation:none}.login-showcase__brand{display:flex;align-items:center;gap:14px}.login-showcase__brand-copy{height:54px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.login-showcase__mark{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22d3ee33,#8b5cf647,#ec489929),#ffffff14;border:1px solid rgba(198,224,245,.2);box-shadow:0 14px 34px #07121f47,0 0 22px #22d3ee1f,inset 0 1px #ffffff2e}.login-showcase__mark span{color:#f8fdff;font-size:25px;line-height:1;font-weight:800;letter-spacing:1px;text-shadow:0 0 16px rgba(34,211,238,.34)}.login-showcase__eyebrow{color:#c6daec9e;font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px}.login-showcase__title{font-size:22px;line-height:28px;font-weight:700;letter-spacing:0;background:linear-gradient(100deg,#eef8ff,#7dd3fc 32%,#c4b5fd 58%,#f0abfc 72%,#eef8ff);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:login-title-shimmer 6.8s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(34,211,238,.16))}.login-showcase__tagline{color:#d5e7f5c2;font-size:13px;line-height:18px;font-weight:500;letter-spacing:0;text-shadow:0 0 14px rgba(34,211,238,.12)}.login-showcase__energy-line{position:relative;z-index:1;width:232px;height:1px;margin:12px 0 0;background:linear-gradient(90deg,#22d3ee00,#22d3ee9e,#8b5cf685,#ec48992e,#22d3ee00);box-shadow:0 0 18px #22d3ee29;opacity:.58;overflow:hidden}.login-showcase__energy-line:after{content:"";position:absolute;inset:0 auto 0 -30%;width:30%;background:linear-gradient(90deg,#fff0,#d2f5ffd1,#fff0);animation:login-energy-flow 5.6s ease-in-out infinite}.login-lab-game{position:absolute;left:5%;right:5%;top:50%;bottom:auto;z-index:2;height:min(54vh,430px);min-height:360px;max-width:780px;margin:0 auto;color:#eef8ffeb;-webkit-user-select:none;user-select:none;touch-action:none;transform:translateY(-42%)}.login-lab-game__bench{position:absolute;top:0;right:0;bottom:0;left:0}.login-lab-game__surface{position:absolute;left:4%;right:4%;bottom:13%;height:118px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,rgba(151,190,214,.18),rgba(41,82,111,.12) 42%,transparent 72%);filter:blur(1px)}.login-lab-device{position:absolute;left:4%;bottom:22%;z-index:5;width:min(32vw,252px);min-width:224px;height:188px;border-radius:30px 30px 20px 20px;border:1px solid rgba(214,235,249,.36);background:radial-gradient(circle at 24% 14%,rgba(255,255,255,.86),transparent 22%),linear-gradient(152deg,#f6fcfff0,#a8c3d6d1 58%,#6f91a9c7),linear-gradient(180deg,rgba(255,255,255,.36),transparent);box-shadow:0 32px 74px #030a184d,inset 0 1px #ffffffb8,inset 0 -16px 26px #34536b29;cursor:pointer}.login-lab-device:before{content:"";position:absolute;left:16px;right:16px;top:12px;height:44px;border-radius:24px 24px 12px 12px;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent);pointer-events:none}.login-lab-device:after{content:"";position:absolute;left:20px;right:20px;bottom:-18px;height:30px;border-radius:0 0 24px 24px;background:#455d7470;filter:blur(.2px)}.login-lab-device__screen{position:absolute;top:24px;left:24px;right:24px;height:70px;overflow:hidden;border-radius:18px;border:1px solid rgba(105,149,178,.32);background:linear-gradient(180deg,#0d2334f5,#14374ae6),radial-gradient(circle at 24% 16%,rgba(145,216,207,.28),transparent 42%);box-shadow:inset 0 0 20px #00000047,0 1px #ffffff70}.login-lab-device__screen:after{content:"";position:absolute;inset:-20% auto -20% -38%;width:34%;background:linear-gradient(90deg,transparent,rgba(216,247,255,.16),transparent);transform:skew(-16deg)}.login-lab-device__screen span{position:absolute;left:16px;top:14px;z-index:1;font-size:14px;font-weight:800;letter-spacing:.1em;color:#b9f5ee;text-shadow:0 0 14px rgba(145,216,207,.42)}.login-lab-device__wave{position:absolute;inset:auto 12px 13px;height:18px;background:linear-gradient(90deg,transparent 0 8%,rgba(145,216,207,.68) 8% 12%,transparent 12% 21%,rgba(120,174,230,.64) 21% 26%,transparent 26% 36%,rgba(145,216,207,.7) 36% 40%,transparent 40% 100%);opacity:.64;transform:translate(-12px)}.login-lab-game--detecting .login-lab-device__wave{animation:login-lab-wave .72s linear infinite}.login-lab-game--detecting .login-lab-device__screen:after,.login-lab-game--report .login-lab-device__screen:after{animation:login-lab-screen-scan 1.1s ease-in-out infinite}.login-lab-device__slot{position:absolute;left:30px;right:30px;bottom:48px;height:26px;border-radius:999px;background:#172a3cd1;box-shadow:inset 0 4px 10px #00000047,0 1px #ffffff57,0 10px 22px #1f34482e}.login-lab-device__slot span{position:absolute;left:16px;right:16px;top:50%;height:3px;border-radius:999px;background:#91d8cf3d;transform:translateY(-50%);transform-origin:left center}.login-lab-game--detecting .login-lab-device__slot span{height:10px;background:linear-gradient(90deg,#91d8cf,#78aee6,#b9f5ee);box-shadow:0 0 18px #91d8cf85;animation:login-lab-slot-progress 2.8s linear forwards}.login-lab-game--report .login-lab-device__slot span{height:10px;background:linear-gradient(90deg,#91d8cf,#78aee6,#b9f5ee);box-shadow:0 0 18px #91d8cf75}.login-lab-device__lights{position:absolute;right:24px;bottom:18px;display:flex;gap:7px}.login-lab-device__lights i{width:8px;height:8px;border-radius:999px;background:#2e465e47}.login-lab-game--detecting .login-lab-device__lights i,.login-lab-game--report .login-lab-device__lights i{background:#91d8cf;box-shadow:0 0 12px #91d8cf9e}.login-lab-game--inserted .login-lab-device__lights i:first-child{background:#facc15;box-shadow:0 0 12px #facc1580}.login-lab-device__start{position:absolute;right:24px;bottom:83px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(213,236,249,.6);border-radius:999px;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.72),transparent 34%),linear-gradient(180deg,#91d8cfeb,#487e9aeb);box-shadow:0 12px 24px #04122047,inset 0 1px #ffffff9e;color:#edfaff;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(6px) scale(.86);transition:opacity .24s ease,transform .24s ease,box-shadow .24s ease}.login-lab-device__start:hover{box-shadow:0 14px 28px #04122052,0 0 20px #91d8cf57,inset 0 1px #ffffffad}.login-lab-device__start svg{width:18px;height:18px}.login-lab-game--inserted .login-lab-device__start{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);animation:login-lab-start-ready 1.36s ease-in-out infinite}.login-lab-card{position:absolute;left:59%;bottom:27%;z-index:4;width:210px;height:76px;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;border:1px solid rgba(229,241,249,.82);background:linear-gradient(180deg,#fffffff0,#d7e7f0e6);box-shadow:0 22px 42px #030a183d,inset 0 1px #ffffffe6;color:#35516a;cursor:grab;transform:translate(-50%,-50%)}.login-lab-card:active,.login-lab-pipette:active{cursor:grabbing}.login-lab-game--inserted .login-lab-card,.login-lab-game--detecting .login-lab-card,.login-lab-game--report .login-lab-card{left:34%!important;top:auto!important;right:auto;bottom:18%;z-index:3;width:172px;transform:translate(-50%,-50%) scale(.86);opacity:.92}.login-lab-game--inserted .login-lab-card{animation:login-lab-card-insert .72s cubic-bezier(.2,.84,.22,1) both}.login-lab-card--warn{animation:login-lab-card-warn .36s ease 2}.login-lab-card__label{width:48px;font-size:10px;font-weight:800;letter-spacing:.08em}.login-lab-card__window{position:relative;flex:1;height:28px;overflow:hidden;border-radius:999px;border:1px solid rgba(102,129,151,.18);background:linear-gradient(90deg,#f1f5f9eb,#e1eaefeb)}.login-lab-card__flow{position:absolute;inset:4px auto 4px 5px;width:0;border-radius:999px;background:linear-gradient(90deg,#91d8cf29,#91d8cf85,#78aee62e)}.login-lab-game--reacting .login-lab-card__flow{animation:login-lab-reagent-flow 2.1s ease forwards}.login-lab-game--reacted .login-lab-card__flow,.login-lab-game--inserted .login-lab-card__flow,.login-lab-game--detecting .login-lab-card__flow,.login-lab-game--report .login-lab-card__flow{width:calc(100% - 10px)}.login-lab-card__line{position:absolute;top:6px;bottom:6px;width:4px;border-radius:999px;background:#39586e1f}.login-lab-card__line--control{right:42%}.login-lab-card__line--test{right:24%}.login-lab-game--reacting .login-lab-card__line,.login-lab-game--reacted .login-lab-card__line,.login-lab-game--inserted .login-lab-card__line,.login-lab-game--detecting .login-lab-card__line,.login-lab-game--report .login-lab-card__line{animation:login-lab-line-show 1.3s ease .6s forwards}.login-lab-card__sample{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#91d8cf1f;border:1px solid rgba(102,129,151,.18)}.login-lab-game--drip-miss .login-lab-card__sample{animation:login-lab-sample-miss .42s ease}.login-lab-card__sample span{width:10px;height:10px;border-radius:999px;background:#91d8cf52}.login-lab-game--reacting .login-lab-card__sample span,.login-lab-game--reacted .login-lab-card__sample span,.login-lab-game--inserted .login-lab-card__sample span,.login-lab-game--detecting .login-lab-card__sample span,.login-lab-game--report .login-lab-card__sample span{background:#91d8cf;box-shadow:0 0 12px #91d8cf94}.login-lab-pipette{position:absolute;left:83%;bottom:31%;z-index:5;width:42px;height:172px;cursor:grab;transform:translate(-50%,-50%) rotate(24deg);transform-origin:50% 88%;filter:drop-shadow(0 18px 22px rgba(3,10,24,.24))}.login-lab-game--dragging-pipette .login-lab-pipette,.login-lab-game--reacting .login-lab-pipette{transform:translate(-50%,-96%) rotate(0)}.login-lab-game--reacting .login-lab-pipette,.login-lab-game--reacted .login-lab-pipette,.login-lab-game--inserted .login-lab-pipette,.login-lab-game--detecting .login-lab-pipette,.login-lab-game--report .login-lab-pipette{pointer-events:none;opacity:.45}.login-lab-game--reacting .login-lab-pipette{opacity:.86}.login-lab-game--drip-miss .login-lab-pipette{animation:login-lab-pipette-miss .42s ease}.login-lab-pipette__bulb{position:absolute;left:9px;top:0;width:24px;height:34px;border-radius:999px 999px 14px 14px;background:linear-gradient(180deg,#91d8cfe6,#618faed1);border:1px solid rgba(223,241,249,.46)}.login-lab-pipette__tube{position:absolute;left:16px;top:28px;width:10px;height:106px;border-radius:999px;background:linear-gradient(90deg,#ffffffd1,#afd3e2b8,#ffffff8a);border:1px solid rgba(229,241,249,.42)}.login-lab-pipette__tip{position:absolute;left:18px;top:130px;width:6px;height:36px;border-radius:0 0 999px 999px;background:#e5f1f9c7}.login-lab-pipette__drop{position:absolute;left:17px;top:166px;width:8px;height:10px;border-radius:999px 999px 999px 2px;background:#91d8cf;opacity:0;transform:rotate(45deg)}.login-lab-game--reacting .login-lab-pipette__drop{animation:login-lab-drop .84s ease 2}.login-lab-report{position:absolute;left:30%;bottom:8%;z-index:6;width:190px;min-height:150px;padding:16px;border-radius:12px;border:1px solid rgba(229,241,249,.82);background:linear-gradient(180deg,#fffffff5,#e2eef4f0);box-shadow:0 24px 54px #030a1847;color:#1f3448;opacity:0;transform:translateY(32px) rotate(1deg);pointer-events:none}.login-lab-game--report .login-lab-report{animation:login-lab-report-print .62s ease forwards;pointer-events:auto;cursor:pointer}.login-lab-report__title{margin-bottom:12px;font-size:15px;font-weight:800}.login-lab-report__row{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:11px}.login-lab-report__row span{color:#667d91}.login-lab-report__row strong{font-size:11px}.login-lab-report__result{margin-top:12px;padding:7px 9px;border-radius:8px;background:#16a34a1a;color:#12724d;font-size:12px;font-weight:800}.login-lab-report__seal{position:absolute;right:14px;bottom:14px;width:42px;height:42px;display:grid;place-items:center;border:2px solid rgba(220,38,38,.46);border-radius:999px;color:#b91c1c9e;font-size:10px;font-weight:800;transform:rotate(-16deg)}.login-lab-game--bonus .login-lab-device__screen{border-color:#f0abfc73;box-shadow:inset 0 0 18px #0000003d,0 0 24px #f0abfc2e}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px 44px;background:linear-gradient(180deg,#f0f5fa47,#e1e9f12e),#ecf2f824;border-left:1px solid rgba(212,227,240,.14);-webkit-backdrop-filter:blur(22px) saturate(108%);backdrop-filter:blur(22px) saturate(108%)}.login-panel:before{content:"";position:absolute;inset:26px auto auto 26px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(39,100,255,.14),transparent 68%);pointer-events:none}.login-panel__content{position:relative;z-index:1;width:100%;max-width:360px;animation:login-rise .9s ease-out both}.login-panel__eyebrow{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;color:#5d7f9e;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(135deg,#e2ebf4d1,#ecf3f9b3)}.login-panel__content h2{margin:22px 0 10px;color:#16304b;font-size:34px;line-height:1.12}.login-panel__content p{margin:0 0 28px;color:#415a72;font-size:14px;line-height:1.8}.login-form .ant-form-item{margin-bottom:18px}.login-form__input.ant-input-affix-wrapper,.login-form__input.ant-input-affix-wrapper-lg{height:52px;padding-inline:16px;border-radius:16px;border-color:#7eaacf57;background:#dceefc38!important;-webkit-backdrop-filter:blur(14px) saturate(118%);backdrop-filter:blur(14px) saturate(118%);box-shadow:inset 0 1px #ffffff52,0 10px 28px #07111c0f;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s}.login-form__input.ant-input-affix-wrapper:hover,.login-form__input.ant-input-affix-wrapper-focused{background:#dceefc57!important;border-color:#78aee685;box-shadow:inset 0 1px #ffffff5c,0 0 0 4px #78aee617,0 12px 30px #07111c12;transform:translateY(-1px)}.login-form__input .ant-input{background:transparent!important;color:#071c31;font-size:15px}.login-form__input input:-webkit-autofill,.login-form__input input:-webkit-autofill:hover,.login-form__input input:-webkit-autofill:focus{-webkit-text-fill-color:#071c31;caret-color:#071c31;transition:background-color 9999s ease-out;box-shadow:0 0 0 1000px transparent inset}.login-form__input .ant-input::placeholder{color:#2e465eb8}.login-form__input-icon,.login-form__password-toggle{color:#3d5b76}.login-form__password-toggle{cursor:pointer;transition:color .2s ease}.login-form__password-toggle:hover{color:#5f81a0}.login-form__options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;color:#334f6c;font-size:13px}.login-form__options .ant-checkbox-wrapper{color:#334f6c}.login-form__trust-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;background:#2b6dff14;color:#155eef;font-size:12px;font-weight:600;white-space:nowrap}.login-form__submit.ant-btn,.login-form__submit.ant-btn-primary{height:52px;border:0;border-radius:16px;font-size:16px;font-weight:700;letter-spacing:.06em;background:linear-gradient(135deg,#6a8fb2,#89b8cf);box-shadow:0 18px 34px #4a6d8c38}.login-form__submit.ant-btn:hover,.login-form__submit.ant-btn-primary:hover{background:linear-gradient(135deg,#5d83a8,#7eabc2);transform:translateY(-1px)}.login-panel__footer{margin-top:18px;color:#48627a;font-size:12px;line-height:1.7}@keyframes login-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes login-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-24px,0)}}@keyframes login-scan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes login-energy-flow{0%{transform:translate(0);opacity:0}18%,72%{opacity:.84}to{transform:translate(430%);opacity:0}}@keyframes login-title-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes login-lab-wave{0%{transform:translate(-36px)}to{transform:translate(36px)}}@keyframes login-lab-screen-scan{0%{transform:translate(0) skew(-16deg)}to{transform:translate(430%) skew(-16deg)}}@keyframes login-lab-slot-progress{0%{transform:translateY(-50%) scaleX(.03);opacity:.74}18%{opacity:1}to{transform:translateY(-50%) scaleX(1);opacity:1}}@keyframes login-lab-reagent-flow{0%{width:0}to{width:calc(100% - 10px)}}@keyframes login-lab-line-show{0%{background:#39586e1f}to{background:#284e67c7;box-shadow:0 0 10px #284e672e}}@keyframes login-lab-card-insert{0%{opacity:1;transform:translate(92%,-44%) scale(1)}55%{opacity:1;transform:translate(6%,-48%) scale(.92)}to{opacity:.92;transform:translate(-50%,-50%) scale(.86)}}@keyframes login-lab-start-ready{0%,to{box-shadow:0 12px 24px #04122047,inset 0 1px #ffffff9e}50%{box-shadow:0 12px 24px #04122047,0 0 22px #91d8cf75,inset 0 1px #ffffffb8}}@keyframes login-lab-drop{0%{opacity:0;transform:translateY(-10px) rotate(45deg) scale(.72)}20%{opacity:1}to{opacity:0;transform:translateY(42px) rotate(45deg) scale(1)}}@keyframes login-lab-sample-miss{0%,to{box-shadow:none}50%{box-shadow:0 0 0 6px #f8717138}}@keyframes login-lab-pipette-miss{0%,to{transform:translate(-50%,-50%) rotate(24deg)}40%{transform:translate(calc(-50% - 5px),-50%) rotate(19deg)}70%{transform:translate(calc(-50% + 5px),-50%) rotate(28deg)}}@keyframes login-lab-card-warn{0%,to{transform:translate(-50%,-50%)}35%{transform:translate(calc(-50% - 8px),-50%) rotate(-1deg)}70%{transform:translate(calc(-50% + 8px),-50%) rotate(1deg)}}@keyframes login-lab-report-print{0%{opacity:0;transform:translateY(32px) rotate(1deg)}to{opacity:1;transform:translateY(0) rotate(-1deg)}}@media (max-width: 1120px){html.login-route,html.login-route body,html.login-route #root{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.login-page{overflow-x:hidden;overflow-y:auto}.login-page__toolbar{top:16px;right:16px}.login-shell{grid-template-columns:1fr}.login-showcase,.login-panel{min-height:auto}.login-showcase{min-height:0;padding:0}.login-lab-game{display:none}.login-panel{min-height:100vh;padding:96px 36px 48px;border-left:0;border-top:1px solid rgba(157,192,232,.16)}}@media (max-width: 900px){.login-showcase{padding:0}}@media (max-height: 680px),(prefers-reduced-motion: reduce){.login-lab-game{display:none}.login-lab-game *,.login-lab-game *:before,.login-lab-game *:after{animation:none!important;transition:none!important}}@media (max-width: 640px){.login-showcase__brand-cluster{top:34px;left:28px;width:calc(100vw - 56px)}.login-showcase{padding:0}.login-panel{padding:104px 18px 32px}.login-panel__content h2{font-size:28px}.login-form__options{flex-direction:column;align-items:flex-start}}.stat-card-label{font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--x-text-secondary);margin-bottom:12px}.stat-card-value{font-size:34px;font-weight:700;color:var(--x-text-heading);line-height:1}.stat-card-change{font-size:12px;margin-top:6px;display:flex;align-items:center;gap:2px}.stat-card-change.up{color:#16a34a}.stat-card-change.down{color:#dc2626}.stat-card-icon{position:relative;z-index:1;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:inset 0 1px #fff9}.stat-card-icon.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.stat-card-icon.green{background:linear-gradient(135deg,#ccfbf1,#99f6e4);color:#0f766e}.stat-card-icon.amber{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.stat-card-icon.purple{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}[data-theme=dark] .stat-card-icon.blue{background:linear-gradient(135deg,#2563eb47,#3b82f629);color:#93c5fd}[data-theme=dark] .stat-card-icon.green{background:linear-gradient(135deg,#0f766e47,#2dd4bf29);color:#99f6e4}[data-theme=dark] .stat-card-icon.amber{background:linear-gradient(135deg,#b4530947,#f59e0b29);color:#fcd34d}[data-theme=dark] .stat-card-icon.purple{background:linear-gradient(135deg,#6d28d947,#a855f729);color:#ddd6fe}.dashboard-chart-card{height:100%;padding:20px 20px 14px;border:1px solid var(--x-dashboard-chart-border);border-radius:22px;background:var(--x-dashboard-chart-bg);box-shadow:var(--x-shadow-lg)}.dashboard-chart-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-chart-card-title{font-size:16px;font-weight:700;color:var(--x-text-heading);line-height:1.2}.dashboard-chart-card-hint{margin-top:6px;font-size:12px;color:var(--x-text-secondary);line-height:1.5}.filter-card,.list-card{background:var(--x-panel-bg);border-radius:8px;border:1px solid var(--x-panel-surface-border);box-shadow:var(--x-panel-surface-shadow)}.filter-card{padding:10px 14px 6px;margin-bottom:10px}.list-card{display:flex;min-height:calc(100vh - 76px);flex-direction:column;overflow:hidden}.list-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--x-border)}.list-card-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 992px){.stat-card{min-height:116px}.dashboard-chart-card{border-radius:18px}}.list-card-filters{padding:10px 14px 6px}.list-card-table{display:flex;flex:1;flex-direction:column;padding:0 14px 14px;min-width:0;min-height:0}.users-page-layout{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;min-height:calc(100vh - 76px)}.users-page-tree-rail{display:none}.users-page-tree-pane{width:280px;min-width:0;flex:0 0 280px}.users-page-tree-collapse{display:none}.users-page-tree-scroll{max-height:calc(100vh - 200px);overflow-y:auto;padding:10px}.users-page-tree-scroll .ant-tree{background:transparent}.users-page-list-pane{display:flex;min-width:0;width:0;flex:1 1 0;flex-direction:column;gap:10px}.users-page-list-pane>.list-card{flex:1}@media (max-width: 1440px){.users-page-layout{gap:8px}.users-page-tree-rail{position:sticky;top:88px;z-index:2;display:flex;flex:0 0 40px;align-self:flex-start;justify-content:center;padding-top:8px}.users-page-layout--tree-open .users-page-tree-rail{display:none}.users-page-tree-rail-button{width:34px;height:42px;color:var(--x-color-brand);background:var(--x-bg-card);border:1px solid var(--x-border);border-radius:8px;box-shadow:var(--x-shadow-sm)}.users-page-tree-rail-button:hover{color:var(--x-color-brand)!important;border-color:var(--x-color-brand)!important;background:var(--x-fill-info-soft)!important}.users-page-tree-pane{display:none}.users-page-layout--tree-open .users-page-tree-pane{display:block;width:280px;flex:0 0 280px}.users-page-tree-collapse{display:inline-flex}.users-page-list-pane{width:0;flex:1 1 0}}.user-role-tags{display:inline-flex;flex-wrap:wrap;gap:4px 0}.user-role-tags .ant-tag{margin-inline-end:4px;max-width:100%}.filter-title{font-size:15px;font-weight:600;color:var(--x-text-heading);margin-bottom:10px}.filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.filter-item{display:flex;flex-direction:column;gap:4px;min-width:180px;max-width:320px;flex:1}.filter-label{font-size:12px;color:#6b7280;font-weight:500;margin-bottom:6px}.list-card-filters .filter-search-row{align-items:flex-end;flex-wrap:wrap}.list-card-filters .filter-search-row>.ant-col{min-width:0}.filter-field,.filter-field-sm,.filter-field-lg{flex:0 0 auto!important}.filter-field{width:220px;max-width:220px}.filter-field-sm{width:180px;max-width:180px}.filter-field-lg{width:280px;max-width:280px}.filter-field .ant-input,.filter-field .ant-input-affix-wrapper,.filter-field .ant-select,.filter-field-sm .ant-input,.filter-field-sm .ant-input-affix-wrapper,.filter-field-sm .ant-select,.filter-field-lg .ant-input,.filter-field-lg .ant-input-affix-wrapper,.filter-field-lg .ant-select{width:100%}.filter-actions-col{flex:0 0 auto!important;margin-left:auto}.filter-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;width:100%}.filter-actions .ant-btn{min-width:96px}@media (max-width: 1200px){.filter-actions-col{margin-left:0}}@media (max-width: 768px){.filter-field,.filter-field-sm,.filter-field-lg,.filter-actions-col{width:100%;max-width:100%}.filter-actions{justify-content:flex-start}}.list-card .ant-table-wrapper{display:flex;flex:1;flex-direction:column;width:100%;min-width:0;min-height:0;overflow:hidden}.page-card .ant-table-wrapper,.page-card .ant-spin-nested-loading,.page-card .ant-spin-container,.list-card .ant-table-container,.list-card .ant-table-content,.list-card .ant-table-body{min-width:0}.list-card .ant-spin-nested-loading,.list-card .ant-spin-container,.page-card .ant-table-wrapper,.page-card .ant-spin-nested-loading,.page-card .ant-spin-container{display:flex;min-height:0;flex:1;flex-direction:column}.list-card .ant-table,.page-card .ant-table{display:flex;flex:1 0 auto;flex-direction:column}.list-card .ant-table-container,.page-card .ant-table-container{flex:1 0 auto}.list-card .ant-pagination,.page-card .ant-pagination{flex-shrink:0}.dict-manage-page{min-width:0}.dict-manage-tabs{display:flex;min-height:0;flex:1;flex-direction:column;padding:0 20px}.dict-manage-tabs>.ant-tabs-nav{flex-shrink:0;margin-bottom:0}.dict-manage-tabs>.ant-tabs-content-holder{display:flex;min-height:0;flex:1}.dict-manage-tabs>.ant-tabs-content-holder>.ant-tabs-content{min-height:0;flex:1}.dict-manage-tabs .ant-tabs-tabpane{height:100%;min-height:0}.dict-tab-list{display:flex;height:100%;min-height:0;flex-direction:column}.dict-manage-filters{padding-right:0;padding-left:0}.dict-manage-filter-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:10px}.dict-tab-list .list-card-table{padding-right:0;padding-left:0}.report-templates-page{display:flex;min-height:0;flex:1;flex-direction:column}.report-templates-page-card{display:flex;min-height:calc(100vh - 76px);flex:1;flex-direction:column}.report-templates-page-card>.ant-card-body{display:flex;min-height:0;flex:1;flex-direction:column}.report-templates-tabs{display:flex;min-height:0;flex:1;flex-direction:column}.report-templates-tabs>.ant-tabs-nav{flex-shrink:0}.report-templates-tabs>.ant-tabs-content-holder{display:flex;min-height:0;flex:1}.report-templates-tabs>.ant-tabs-content-holder>.ant-tabs-content{min-height:0;flex:1}.report-templates-tabs .ant-tabs-tabpane{height:100%;min-height:0}.report-templates-tabs .ant-tabs-tabpane>.ant-space{display:flex;height:100%;min-height:0}.report-templates-tabs .ant-tabs-tabpane>.ant-space>.ant-space-item:first-child{display:flex;min-height:0;flex:1}.report-templates-page-card .list-card{min-height:0;flex:1}.report-template-selected-row>td{background:var(--x-fill-info-soft)!important}.report-preview-shell{width:100%;border:1px solid var(--x-panel-surface-border);border-radius:10px;background:var(--x-panel-elevated-bg);padding:10px;box-shadow:var(--x-panel-surface-shadow)}.report-preview-viewport{width:100%;overflow:auto;display:flex;justify-content:center;align-items:flex-start}.report-preview-stage{transform-origin:top center;flex:0 0 auto}.report-preview-frame{display:block;border:none;border-radius:8px;background:var(--x-panel-elevated-bg);box-shadow:var(--x-shadow-lg)}.report-preview-empty{min-height:320px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--x-border-strong);border-radius:10px;background:var(--x-panel-elevated-bg);color:var(--x-text-secondary);font-size:13px}.debug-template-image-wrap{max-width:100%;overflow:auto}.debug-template-image{display:block;max-width:420px;max-height:320px;border:1px solid var(--x-border);border-radius:4px;object-fit:contain;background:var(--x-bg-card)}.debug-template-json{max-height:260px;margin:0;padding:10px 12px;overflow:auto;border:1px solid var(--x-border);border-radius:4px;background:var(--x-fill-muted);color:var(--x-text-primary);font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.debug-template-value-cell{display:flex;width:100%;min-width:0;flex-direction:column;align-items:stretch;gap:6px}.debug-template-array-table-wrap{display:inline-block;max-width:100%;min-width:0;margin:0;overflow:auto;border:1px solid var(--x-panel-surface-border);border-radius:4px;background:var(--x-table-body-bg)}.debug-template-array-table{border-collapse:separate;border-spacing:0;table-layout:fixed}.debug-template-array-table th,.debug-template-array-table td{padding:8px 10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--x-border)}.debug-template-array-table th{background:var(--x-table-header-bg);color:var(--x-table-header-color);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-bottom-color:var(--x-table-header-border)}.debug-template-array-table tbody tr:nth-child(2n) td{background:var(--x-table-row-even)}.debug-template-array-table tbody tr:last-child td{border-bottom:none}.report-edit-array-table{min-width:560px}.report-edit-array-table .ant-input{min-width:96px}.debug-template-remark{color:var(--x-text-secondary);font-size:12px;line-height:1.5}.ant-table-wrapper .ant-table-container{background:var(--x-table-body-bg);border:1px solid var(--x-panel-surface-border);border-radius:14px;box-shadow:var(--x-form-surface-shadow)}.ant-table-wrapper .ant-table,.ant-table-wrapper .ant-table-content,.ant-table-wrapper .ant-table-tbody{background:transparent!important}.ant-table-thead>tr>th{background:var(--x-table-header-bg)!important;font-size:14px!important;font-weight:600!important;color:var(--x-table-header-color)!important;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--x-table-header-border)!important}.ant-table-tbody>tr>td{background:var(--x-table-row-bg)!important;border-bottom:1px solid var(--x-border)!important}.ant-table-tbody>tr:nth-child(2n)>td{background:var(--x-table-row-even)!important}.ant-table-tbody>tr:hover>td{background:var(--x-table-row-hover)!important}.x-responsive-table .ant-table-thead>tr>th{white-space:nowrap}.x-responsive-table .x-table-cell-ellipsis{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-responsive-table .ant-table-content,.x-responsive-table .ant-table-body{overflow-x:auto!important}.x-responsive-table .ant-table-content::-webkit-scrollbar,.x-responsive-table .ant-table-body::-webkit-scrollbar{width:8px;height:8px}.x-responsive-table .ant-table-content::-webkit-scrollbar-track,.x-responsive-table .ant-table-body::-webkit-scrollbar-track{background:transparent}.x-responsive-table .ant-table-content::-webkit-scrollbar-thumb,.x-responsive-table .ant-table-body::-webkit-scrollbar-thumb{background:var(--x-scrollbar-thumb);border-radius:4px}.x-responsive-table .ant-table-content::-webkit-scrollbar-thumb:hover,.x-responsive-table .ant-table-body::-webkit-scrollbar-thumb:hover{background:var(--x-scrollbar-thumb-hover)}.detections-table .ant-table-tbody>tr>td{padding-top:7px!important;padding-bottom:7px!important}.serial-number-display{min-width:0}.serial-number-display--stacked{display:flex;height:32px;flex-direction:column;justify-content:center;gap:0;font-size:13px;line-height:16px}.serial-number-display__serial-row{display:flex;min-width:0;align-items:center;gap:6px}.serial-number-display__text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-responsive-table .ant-table-cell-fix-right,.x-responsive-table .ant-table-cell-fix-right-first,.x-responsive-table .ant-table-cell-fix-right-last{background:var(--x-table-fixed-row-bg)!important;background-clip:padding-box}.x-responsive-table .ant-table-thead>tr>th.ant-table-cell-fix-right{background:var(--x-table-fixed-header-bg)!important;z-index:4!important}.x-responsive-table .ant-table-tbody>tr:nth-child(2n)>td.ant-table-cell-fix-right{background:var(--x-table-fixed-row-even)!important}.x-responsive-table .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:var(--x-table-fixed-row-hover)!important}.x-responsive-table .ant-table-tbody>tr>td.ant-table-cell-fix-right{z-index:3!important}.x-responsive-table .ant-table-cell-fix-right .table-actions{justify-content:center}.x-responsive-table .ant-table-cell-fix-right-first:after,.x-responsive-table .ant-table-cell-fix-right-last:after{box-shadow:none!important}.x-responsive-table .ant-table-expanded-row .ant-table-cell{white-space:normal}.x-responsive-table .report-template-selected-row>td.ant-table-cell-fix-right,.x-responsive-table .report-template-selected-row:hover>td.ant-table-cell-fix-right{background:var(--x-fill-info-soft)!important}.ant-table{border-radius:8px!important;overflow:hidden;background:transparent!important}.ant-table-wrapper .ant-spin-container.ant-spin-blur .ant-table-placeholder .ant-empty{display:none}.ant-form-item-label>label,.filter-label{color:var(--x-text-secondary)}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select:not(.ant-select-customize-input) .ant-select-selector,.ant-mentions,.ant-upload-wrapper .ant-upload-drag{background:var(--x-form-surface-bg)!important;border-color:var(--x-form-surface-border)!important;box-shadow:var(--x-form-surface-shadow)}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-picker:hover,.ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):hover .ant-select-selector,.ant-mentions:hover,.ant-upload-wrapper .ant-upload-drag:hover{border-color:var(--x-form-surface-border-hover)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused,.ant-input-number-focused,.ant-picker-focused,.ant-select-focused .ant-select-selector,.ant-mentions-focused,.ant-upload-wrapper .ant-upload-drag.ant-upload-drag-hover{background:var(--x-form-surface-bg-active)!important;border-color:var(--x-form-surface-border-hover)!important;box-shadow:var(--x-form-surface-shadow-active)!important}.ant-input,.ant-input-number-input,.ant-picker input,.ant-mentions textarea,.ant-input-affix-wrapper>input.ant-input,.ant-select-selection-search-input{background:transparent!important}.ant-input::placeholder,.ant-input-number-input::placeholder,.ant-picker input::placeholder,.ant-mentions textarea::placeholder,.ant-select-selection-placeholder{color:var(--x-text-tertiary)!important}.ant-input-number-group-addon,.ant-input-group-addon,.ant-select-multiple .ant-select-selection-item,.ant-picker-range-separator{background:transparent!important;color:var(--x-text-secondary)!important;border-color:transparent!important}.ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled),.ant-dropdown .ant-dropdown-menu-item:hover,.ant-dropdown .ant-dropdown-menu-submenu-title:hover{background:var(--x-fill-info-soft)!important}.ant-tabs-nav,.ant-segmented,.ant-descriptions-view,.ant-collapse,.ant-collapse>.ant-collapse-item{background:var(--x-panel-elevated-bg)!important;border-color:var(--x-panel-surface-border)!important;box-shadow:var(--x-form-surface-shadow)}.ant-empty .ant-empty-image{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-descriptions-view,.ant-collapse,.ant-collapse>.ant-collapse-item,.ant-upload-wrapper .ant-upload-drag{border-radius:14px!important}.ant-descriptions-bordered .ant-descriptions-view,.ant-descriptions-bordered .ant-descriptions-row,.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions-bordered .ant-descriptions-item-content,.ant-collapse>.ant-collapse-item,.ant-collapse .ant-collapse-content{border-color:var(--x-panel-surface-border)!important}.ant-descriptions-bordered .ant-descriptions-item-label,.ant-descriptions-bordered .ant-descriptions-item-content,.ant-collapse .ant-collapse-content,.ant-collapse .ant-collapse-header{background:transparent!important}.ant-btn-primary{background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 1px 4px #2563eb40!important}.ant-btn-primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important}.app-header-main{position:relative;z-index:1;display:flex;align-items:center;gap:16px}.app-header-trigger{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--x-text-secondary);font-size:18px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.app-header-trigger:hover{background:var(--x-fill-info-soft);color:var(--x-menu-hover-color)}.app-header-title{font-size:15px;font-weight:600;color:var(--x-text-heading)}.app-nav-menu{border:none!important;background:transparent!important;margin-top:4px}.header-user{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.header-user-trigger{display:flex;align-items:center;gap:8px;cursor:pointer}.header-icon-btn{color:var(--x-text-secondary)!important}.header-icon-btn:hover{color:var(--x-menu-hover-color)!important;background:var(--x-fill-info-soft)!important}.header-avatar{width:32px;height:32px;border-radius:50%;background:var(--x-fill-info-soft);color:var(--x-menu-selected-color);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;cursor:pointer}.header-avatar-platform{background:#f59e0b29;color:#d97706}.header-avatar-channel{background:#7c3aed24;color:#7c3aed}.header-avatar-sales{background:#2563eb1f;color:#2563eb}.header-avatar-normal{background:#16a34a1f;color:#16a34a}.header-avatar-customer{background:#ef44441a;color:#dc2626}.header-username{font-size:13px;color:var(--x-text-primary);font-weight:500}.header-badge{position:relative;cursor:pointer;color:var(--x-text-secondary);font-size:16px}.date-range-tabs{display:inline-flex;background:var(--x-border);border-radius:6px;padding:3px;gap:2px}.date-range-tab{padding:4px 12px;font-size:13px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--x-text-secondary);transition:all .15s;font-family:inherit}.date-range-tab.active{background:var(--x-bg-card);color:var(--x-menu-selected-color);box-shadow:var(--x-shadow-sm);font-weight:600}.date-range-tab:hover:not(.active){background:var(--x-border-strong);color:var(--x-text-primary)}.table-action-btn{font-size:13px;color:var(--x-menu-selected-color);cursor:pointer;transition:color .15s;background:none;border:none;padding:0;display:inline-flex;align-items:center;gap:2px;font-family:inherit;white-space:nowrap;flex-shrink:0}.table-action-btn:hover{color:var(--x-menu-hover-color);text-decoration:underline}.table-actions{display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:nowrap;white-space:nowrap}.app-shell-state{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--x-bg-page)}.app-shell-state--padded{padding:24px}.app-shell-state--route-loading{min-height:100vh}.app-shell-state-card{min-width:280px;padding:28px 32px;border:1px solid var(--x-panel-surface-border);border-radius:16px;background:var(--x-panel-elevated-bg);box-shadow:var(--x-panel-surface-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ant-modal .ant-modal-content,.ant-drawer .ant-drawer-content,.ant-popover .ant-popover-inner,.ant-dropdown .ant-dropdown-menu,.ant-select-dropdown,.ant-picker-dropdown .ant-picker-panel-container{background:var(--x-panel-elevated-bg);border:1px solid var(--x-border);box-shadow:var(--x-shadow-md)}.ant-modal .ant-modal-header,.ant-drawer .ant-drawer-header,.ant-popover .ant-popover-title{background:transparent;border-bottom:1px solid var(--x-border)}.app-shell-state-card--loading{min-height:112px}.home-page,.home-config-page{display:flex;flex-direction:column;min-height:0}.home-page{flex:1;height:100%}.home-page-loading,.home-config-loading{min-height:360px;display:flex;align-items:center;justify-content:center}.home-carousel-viewer{position:relative;width:100%;min-height:0;flex:1;display:flex;flex-direction:column;gap:12px}.home-carousel-viewer--empty{min-height:360px;display:grid;place-items:center;border:1px dashed var(--x-border);border-radius:8px;background:var(--x-panel-elevated-bg)}.home-carousel-stage,.home-carousel-viewer__viewport{position:relative;width:100%;aspect-ratio:16 / 9;min-height:360px;max-height:calc(100vh - 132px);overflow:hidden;border-radius:8px;background:#0f172a}.home-carousel-viewer__viewport>.home-carousel-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;max-height:none;aspect-ratio:auto;border-radius:0}.home-carousel-viewer__viewport .home-carousel-stage--previous{z-index:1}.home-carousel-viewer__viewport .home-carousel-stage--current{z-index:2}.home-carousel-viewer__viewport--fade .home-carousel-stage--previous{animation:home-carousel-fade-out .48s ease both}.home-carousel-viewer__viewport--fade .home-carousel-stage--current{animation:home-carousel-fade-in .48s ease both}.home-carousel-viewer__viewport--slide-left .home-carousel-stage--previous{animation:home-carousel-slide-out-left .48s ease both}.home-carousel-viewer__viewport--slide-left .home-carousel-stage--current{animation:home-carousel-slide-in-right .48s ease both}.home-carousel-viewer__viewport--slide-right .home-carousel-stage--previous{animation:home-carousel-slide-out-right .48s ease both}.home-carousel-viewer__viewport--slide-right .home-carousel-stage--current{animation:home-carousel-slide-in-left .48s ease both}.home-carousel-viewer__viewport--slide-up .home-carousel-stage--previous{animation:home-carousel-slide-out-up .48s ease both}.home-carousel-viewer__viewport--slide-up .home-carousel-stage--current{animation:home-carousel-slide-in-down .48s ease both}.home-carousel-viewer__viewport--slide-down .home-carousel-stage--previous{animation:home-carousel-slide-out-down .48s ease both}.home-carousel-viewer__viewport--slide-down .home-carousel-stage--current{animation:home-carousel-slide-in-up .48s ease both}.home-page .home-carousel-viewer{height:100%}.home-page .home-carousel-viewer__viewport{flex:1;min-height:0;max-height:none;aspect-ratio:auto}.home-carousel-stage--empty{display:grid;place-items:center;border:1px dashed var(--x-border);background:var(--x-panel-elevated-bg)}.home-carousel-stage__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:blur(24px);transform:scale(1.08);opacity:.58}.home-carousel-stage__image{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block}.home-carousel-stage__text{position:absolute;z-index:2;max-width:min(72%,720px);padding:4px 8px;border-radius:4px;line-height:1.25;word-break:break-word;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-shadow:0 2px 10px rgba(15,23,42,.45);-webkit-user-select:none;user-select:none}.home-carousel-stage__text--editable{cursor:move;outline:1px dashed rgba(255,255,255,.45)}.home-carousel-stage__text--selected{outline:2px solid #60a5fa;box-shadow:0 0 0 3px #60a5fa38}.home-carousel-viewer__dots{display:flex;justify-content:center;gap:8px;min-height:16px}.home-carousel-viewer__dot{width:9px;height:9px;border:1px solid rgba(37,99,235,.35);border-radius:999px;background:#2563eb80;cursor:pointer;box-shadow:0 1px 4px #2563eb2e;transition:width .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.home-carousel-viewer__dot--active{width:24px;background:var(--x-menu-selected-color);border-color:var(--x-menu-selected-color);box-shadow:0 2px 8px #2563eb52}.home-carousel-viewer__dot:focus-visible{outline:2px solid rgba(37,99,235,.62);outline-offset:2px}@keyframes home-carousel-fade-in{0%{opacity:0}to{opacity:1}}@keyframes home-carousel-fade-out{0%{opacity:1}to{opacity:0}}@keyframes home-carousel-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes home-carousel-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes home-carousel-slide-out-left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes home-carousel-slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes home-carousel-slide-in-down{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes home-carousel-slide-in-up{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes home-carousel-slide-out-up{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes home-carousel-slide-out-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-reduced-motion: reduce){.home-carousel-viewer__viewport .home-carousel-stage{animation-duration:1ms!important}}.home-config-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.home-config-subtitle{margin-top:4px;font-size:13px;color:var(--x-text-secondary)}.home-config-workbench{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;gap:12px;min-height:0}.home-config-sidebar,.home-config-editor,.home-config-properties{min-width:0}.home-config-editor .home-carousel-stage{min-height:420px;max-height:none}.home-config-preview{display:flex;flex-direction:column;gap:12px}.home-config-preview__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.home-config-preview__shell{max-height:calc(100vh - 230px);overflow:auto;padding:16px;border:1px solid var(--x-border);border-radius:8px;background:var(--x-bg-page)}.home-config-preview__frame{margin:0 auto;overflow:hidden;border:1px solid var(--x-border);border-radius:8px;background:var(--x-panel-elevated-bg);box-shadow:var(--x-shadow-md)}.home-config-preview__frame .home-carousel-viewer{height:100%}.home-config-preview__frame .home-carousel-viewer__viewport{flex:1;min-height:0;max-height:none;aspect-ratio:auto;border-radius:0}.home-config-preview__frame .home-carousel-viewer__dots{padding-bottom:10px}.home-config-slide-list{display:flex;flex-direction:column;gap:8px}.home-config-slide-item{width:100%;min-height:44px;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:8px;border:1px solid var(--x-border);border-radius:8px;background:var(--x-panel-elevated-bg);color:var(--x-text);padding:8px;cursor:pointer;text-align:left}.home-config-slide-item--active{border-color:var(--x-menu-selected-color);background:var(--x-menu-selected-bg)}.home-config-slide-item__index{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;background:var(--x-fill-info-soft);color:var(--x-menu-selected-color);font-weight:700}.home-config-slide-item__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.home-config-slide-item__delete{color:var(--x-text-tertiary)}.home-config-slide-item__delete:hover{color:var(--x-color-danger)}.home-config-field-label{margin-bottom:6px;font-size:12px;color:var(--x-text-secondary)}.home-config-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-config-color-input{width:100%;height:32px;border:1px solid var(--x-border);border-radius:6px;background:transparent}.home-config-input-addon{height:32px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--x-border);border-left:0;border-radius:0 6px 6px 0;background:var(--x-fill-info-soft);color:var(--x-text-secondary);font-size:13px}@media (max-width: 1180px){.home-config-workbench{grid-template-columns:220px minmax(0,1fr)}.home-config-properties{grid-column:1 / -1}}
