#app{width:100%;height:100vh;margin:0;padding:0}.main-layout[data-v-f86c13c5]{min-height:100vh;display:flex}.sidebar[data-v-f86c13c5]{width:var(--sidebar-w,220px);min-width:var(--sidebar-w,220px);background:var(--sidebar-bg,#0f172a);z-index:100;flex-direction:column;height:100vh;transition:width .25s;display:flex;position:fixed;top:0;left:0}.sidebar.collapsed[data-v-f86c13c5]{width:56px;min-width:56px}.sidebar-header[data-v-f86c13c5]{border-bottom:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:10px;padding:16px;display:flex}.sidebar-logo-icon[data-v-f86c13c5]{background:var(--primary,#4f46e5);color:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:flex}.sidebar-logo-text[data-v-f86c13c5]{color:#fff;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.sidebar-logo-text span[data-v-f86c13c5]{color:#a5b4fc}.sidebar-toggle[data-v-f86c13c5]{cursor:pointer;color:rgba(255,255,255,.3);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:auto;font-size:12px;transition:color .2s;display:flex}.sidebar-toggle[data-v-f86c13c5]:hover{color:rgba(255,255,255,.8)}.sidebar.collapsed .sidebar-header[data-v-f86c13c5]{justify-content:center;padding:16px 0}.sidebar.collapsed .sidebar-logo-text[data-v-f86c13c5],.sidebar.collapsed .sidebar-toggle[data-v-f86c13c5]{display:none}.sidebar-search[data-v-f86c13c5]{border-bottom:1px solid #ffffff14;padding:8px 12px}.sidebar-search-wrap[data-v-f86c13c5]{position:relative}.sidebar-search-icon[data-v-f86c13c5]{pointer-events:none;font-size:12px;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.sidebar-search-input[data-v-f86c13c5]{color:#fff;background:rgba(255,255,255,.08);border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;padding:6px 10px 6px 28px;font-family:inherit;font-size:12px}.sidebar-search-input[data-v-f86c13c5]::placeholder{color:rgba(255,255,255,.3)}.sidebar-search-input[data-v-f86c13c5]:focus{border-color:var(--primary-light,#818cf8);background:rgba(255,255,255,.12)}.sidebar.collapsed .sidebar-search[data-v-f86c13c5]{display:none}.sidebar-nav[data-v-f86c13c5]{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex:1;min-height:0;padding:12px 0;overflow-y:auto}.sidebar-nav[data-v-f86c13c5]::-webkit-scrollbar{width:4px}.sidebar-nav[data-v-f86c13c5]::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}.nav-group[data-v-f86c13c5]{margin-bottom:4px}.nav-section-title[data-v-f86c13c5]{letter-spacing:.08em;color:rgba(255,255,255,.25);text-transform:uppercase;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:6px 16px 4px;font-size:10px;font-weight:600;overflow:hidden}.nav-section-title[data-v-f86c13c5]:hover{color:rgba(255,255,255,.6)}.sidebar.collapsed .nav-section-title[data-v-f86c13c5]{opacity:0}.nav-item[data-v-f86c13c5]{cursor:pointer;color:var(--sidebar-text,#ffffff8c);white-space:nowrap;align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;transition:all .15s;display:flex;position:relative;overflow:hidden}.nav-item[data-v-f86c13c5]:hover{background:var(--sidebar-hover,#ffffff0f);color:#fff}.nav-item.active[data-v-f86c13c5]{background:var(--sidebar-active-bg,#6366f12e);color:var(--sidebar-text-active,#c7d2fe)}.nav-item.active[data-v-f86c13c5]:before{content:"";background:var(--primary,#4f46e5);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.nav-icon[data-v-f86c13c5]{flex-shrink:0;font-size:16px}.nav-text[data-v-f86c13c5]{text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .nav-text[data-v-f86c13c5]{display:none}.nav-badge[data-v-f86c13c5]{background:var(--danger,#ef4444);color:#fff;border-radius:10px;flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:10px}.sidebar.collapsed .nav-badge[data-v-f86c13c5]{display:none}.sidebar-footer[data-v-f86c13c5]{border-top:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:10px;padding:12px;display:flex}.sidebar.collapsed .sidebar-footer[data-v-f86c13c5]{justify-content:center;padding:12px 0}.user-avatar[data-v-f86c13c5]{background:linear-gradient(135deg,var(--primary,#4f46e5),#7c3aed);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-info[data-v-f86c13c5]{overflow:hidden}.user-name[data-v-f86c13c5]{color:#fff;white-space:nowrap;font-size:13px;font-weight:600}.user-role[data-v-f86c13c5]{color:rgba(255,255,255,.4);white-space:nowrap;font-size:11px}.main-area[data-v-f86c13c5]{margin-left:var(--sidebar-w,220px);flex-direction:column;flex:1;min-height:100vh;transition:margin-left .3s;display:flex;overflow:hidden}.main-area.expanded[data-v-f86c13c5]{margin-left:56px}.top-bar[data-v-f86c13c5]{height:var(--header-h,56px);background:var(--bg-elevated,#fff);border-bottom:1px solid var(--border,#e2e8f0);z-index:50;flex-shrink:0;align-items:center;gap:16px;padding:0 24px;display:flex;position:-webkit-sticky;position:sticky;top:0}.top-bar-left[data-v-f86c13c5]{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.sidebar-toggle-btn[data-v-f86c13c5]{cursor:pointer;color:var(--text-sub,#64748b);transition:color .15s}.sidebar-toggle-btn[data-v-f86c13c5]:hover{color:var(--text-main,#0f172a)}.top-bar-right[data-v-f86c13c5]{align-items:center;gap:12px;display:flex}.top-bar-icon[data-v-f86c13c5]{cursor:pointer;color:var(--text-sub,#64748b);transition:color .15s}.top-bar-icon[data-v-f86c13c5]:hover{color:var(--text-main,#0f172a)}.user-badge[data-v-f86c13c5]{background:var(--bg-sunken,#f1f5f9);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:4px 12px;font-size:13px;transition:background .2s;display:flex}.user-badge[data-v-f86c13c5]:hover{background:var(--border,#e2e8f0)}.user-avatar-small[data-v-f86c13c5]{background:linear-gradient(135deg,var(--primary,#4f46e5),#7c3aed);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.user-badge-name[data-v-f86c13c5]{color:var(--text-main,#0f172a);font-weight:500}.browser-tab-bar[data-v-f86c13c5]{background:var(--bg-sunken,#f1f5f9);border-bottom:1px solid var(--border,#e2e8f0);flex-shrink:0;align-items:flex-end;gap:2px;padding:4px 4px 0;display:flex;overflow-x:auto}.browser-tab-bar[data-v-f86c13c5]::-webkit-scrollbar{height:0}.browser-tab[data-v-f86c13c5]{background:var(--bg-sunken,#f1f5f9);border:1px solid var(--border,#e2e8f0);color:var(--text-sub,#64748b);cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:6px;min-width:90px;max-width:160px;padding:7px 14px 7px 12px;font-size:13px;transition:background .15s,color .15s;display:flex;position:relative}.browser-tab[data-v-f86c13c5]:hover{background:var(--bg-elevated,#fff)}.browser-tab.active[data-v-f86c13c5]{background:var(--bg-elevated,#fff);color:var(--text-main,#0f172a);border-color:var(--border,#e2e8f0);font-weight:600}.browser-tab-icon[data-v-f86c13c5]{flex-shrink:0;font-size:14px}.browser-tab-title[data-v-f86c13c5]{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.browser-tab-close[data-v-f86c13c5]{width:16px;height:16px;color:var(--text-muted,#94a3b8);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;display:flex}.browser-tab-close[data-v-f86c13c5]:hover{background:var(--danger,#ef4444);color:#fff}.browser-tab:not(.active):not(:hover) .browser-tab-close[data-v-f86c13c5]{opacity:0;pointer-events:none}.content-area[data-v-f86c13c5]{background:var(--bg,#f8fafc);flex:1;padding:20px;overflow-y:auto}.page-fade[data-v-f86c13c5]{animation:.2s fadeIn-f86c13c5}@keyframes fadeIn-f86c13c5{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.sidebar[data-v-f86c13c5]{width:56px;min-width:56px}.main-area[data-v-f86c13c5]{margin-left:56px}.sidebar .nav-text[data-v-f86c13c5],.sidebar .sidebar-logo-text[data-v-f86c13c5],.sidebar .sidebar-toggle[data-v-f86c13c5],.sidebar .sidebar-search[data-v-f86c13c5],.sidebar .nav-badge[data-v-f86c13c5],.sidebar .user-info[data-v-f86c13c5]{display:none}.top-bar[data-v-f86c13c5]{padding:0 12px}.user-badge-name[data-v-f86c13c5]{display:none}}.grid-stack{position:relative}.grid-stack-rtl{direction:ltr}.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack-placeholder>.placeholder-content{background-color:rgba(0,0,0,.1);width:auto;margin:0;position:absolute;z-index:0!important}.grid-stack>.grid-stack-item{width:var(--gs-column-width);height:var(--gs-cell-height);padding:0;position:absolute;top:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{width:auto;margin:0;position:absolute;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item.size-to-content:not(.size-to-content-max)>.grid-stack-item-content{overflow-y:hidden}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item{right:0}.grid-stack>.grid-stack-item>.grid-stack-item-content,.grid-stack>.grid-stack-placeholder>.placeholder-content{top:var(--gs-item-margin-top);right:var(--gs-item-margin-right);bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-handle{-ms-touch-action:none;touch-action:none;font-size:.1px;display:block;position:absolute}.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se,.grid-stack-item>.ui-resizable-sw{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="%23666" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 20 20"><path d="m10 3 2 2H8l2-2v14l-2-2h4l-2 2"/></svg>');background-position:50%;background-repeat:no-repeat}.grid-stack-item>.ui-resizable-ne,.grid-stack-item>.ui-resizable-sw{transform:rotate(45deg)}.grid-stack-item>.ui-resizable-nw,.grid-stack-item>.ui-resizable-se{transform:rotate(-45deg)}.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:var(--gs-item-margin-top);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:var(--gs-item-margin-top);left:25px;right:25px}.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:var(--gs-item-margin-top);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px;right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);right:var(--gs-item-margin-right)}.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:var(--gs-item-margin-bottom);right:25px}.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px;bottom:var(--gs-item-margin-bottom);left:var(--gs-item-margin-left)}.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px;left:var(--gs-item-margin-left)}.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack-item.ui-draggable-dragging{will-change:left,right,top}.grid-stack-item.ui-resizable-resizing{will-change:width,height}.ui-draggable-dragging,.ui-resizable-resizing{z-index:10000}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{opacity:.8;box-shadow:1px 4px 6px rgba(0,0,0,.2)}.grid-stack-animate,.grid-stack-animate .grid-stack-item{transition:left .3s,right .3s,top .3s,height .3s,width .3s}.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack-animate .grid-stack-item.ui-resizable-resizing{transition:left,right,top,height,width}.grid-stack>.grid-stack-item[gs-y="0"]{top:0}.grid-stack:not(.grid-stack-rtl)>.grid-stack-item[gs-x="0"]{left:0}.grid-stack.grid-stack-rtl>.grid-stack-item[gs-x="0"]{right:0}.lego-dashboard[data-v-ef9f9f1a]{background:#f0f4f8;min-height:100vh;padding:16px 20px}.dash-topbar[data-v-ef9f9f1a]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.dash-title-main[data-v-ef9f9f1a]{color:#1e293b;margin:0 0 6px;font-size:22px;font-weight:800}.dash-meta[data-v-ef9f9f1a]{color:#64748b;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.dash-divider[data-v-ef9f9f1a]{color:#cbd5e1}.dash-lv-label[data-v-ef9f9f1a]{color:#94a3b8}.dash-actions[data-v-ef9f9f1a]{flex-shrink:0;gap:8px;display:flex}.grid-stack-lego[data-v-ef9f9f1a]{min-height:500px}.grid-stack-lego.editing[data-v-ef9f9f1a]{background:#fffbeb;border:2px dashed #f59e0b;border-radius:8px;padding:8px}.widget-box[data-v-ef9f9f1a]{background:#fff;border-radius:10px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}.wb-hd[data-v-ef9f9f1a]{color:#334155;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.wb-bd[data-v-ef9f9f1a]{flex:1;padding:10px 14px;font-size:13px;overflow-y:auto}.kpi-widget .wb-bd[data-v-ef9f9f1a]{padding:8px 14px}.kpi-grid[data-v-ef9f9f1a]{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.kpi-cell[data-v-ef9f9f1a]{background:#f8fafc;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.kpi-icon[data-v-ef9f9f1a]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.kpi-body[data-v-ef9f9f1a]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.kpi-val[data-v-ef9f9f1a]{color:#1e293b;white-space:nowrap;font-size:18px;font-weight:800}.kpi-lab[data-v-ef9f9f1a]{color:#94a3b8;font-size:11px}.kpi-delta[data-v-ef9f9f1a]{flex-shrink:0;font-size:12px;font-weight:700}.kpi-delta.up[data-v-ef9f9f1a]{color:#10b981}.kpi-delta.down[data-v-ef9f9f1a]{color:#ef4444}.ai-query-bd[data-v-ef9f9f1a]{flex-direction:column;gap:10px;display:flex}.nl-result[data-v-ef9f9f1a]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.6}.nl-label[data-v-ef9f9f1a]{font-weight:700}.nl-error[data-v-ef9f9f1a]{color:#ef4444;font-size:12px}.nl-hint[data-v-ef9f9f1a]{color:#94a3b8;font-size:11px}.insight-row[data-v-ef9f9f1a]{border-bottom:1px solid #f8fafc;align-items:flex-start;gap:8px;padding:6px 0;font-size:12px;display:flex}.insight-row[data-v-ef9f9f1a]:last-child{border-bottom:none}.ins-dot[data-v-ef9f9f1a]{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.ins-good .ins-dot[data-v-ef9f9f1a]{background:#10b981}.ins-warn .ins-dot[data-v-ef9f9f1a]{background:#f59e0b}.ins-bad .ins-dot[data-v-ef9f9f1a]{background:#ef4444}.ins-good .ins-text[data-v-ef9f9f1a]{color:#065f46}.ins-warn .ins-text[data-v-ef9f9f1a]{color:#92400e}.ins-bad .ins-text[data-v-ef9f9f1a]{color:#991b1b}.ai-card-list[data-v-ef9f9f1a]{flex-direction:column;gap:6px;display:flex}.ai-card[data-v-ef9f9f1a]{color:#475569;background:#f8fafc;border-left:3px solid #10b981;border-radius:6px;padding:8px 10px;font-size:12px}.ai-card.level-warn[data-v-ef9f9f1a]{background:#fffbeb;border-left-color:#f59e0b}.goal-row[data-v-ef9f9f1a]{margin-bottom:12px}.goal-row[data-v-ef9f9f1a]:last-child{margin-bottom:0}.goal-info[data-v-ef9f9f1a]{align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.goal-name[data-v-ef9f9f1a]{color:#334155;flex:1;font-weight:600}.goal-target[data-v-ef9f9f1a]{color:#94a3b8}.goal-actual[data-v-ef9f9f1a]{color:#64748b;font-weight:600}.biz-grid[data-v-ef9f9f1a]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.biz-item[data-v-ef9f9f1a]{cursor:pointer;background:#f8fafc;border-radius:8px;align-items:center;gap:8px;padding:10px;transition:background .15s;display:flex}.biz-item[data-v-ef9f9f1a]:hover{background:#f1f5f9}.biz-icon[data-v-ef9f9f1a]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.biz-num[data-v-ef9f9f1a]{color:#1e293b;font-size:16px;font-weight:700}.biz-lab[data-v-ef9f9f1a]{color:#94a3b8;font-size:10px}.catalog-grid[data-v-ef9f9f1a]{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;display:grid}.catalog-card[data-v-ef9f9f1a]{cursor:pointer;background:#f8fafc;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:all .15s;display:flex;position:relative}.catalog-card[data-v-ef9f9f1a]:hover,.catalog-card.active[data-v-ef9f9f1a]{background:#eef2ff;border-color:#4f46e5}.cat-icon[data-v-ef9f9f1a]{font-size:22px}.cat-title[data-v-ef9f9f1a]{color:#64748b;text-align:center;font-size:11px}.cat-size[data-v-ef9f9f1a]{color:#94a3b8;font-size:9px}.cat-badge[data-v-ef9f9f1a]{color:#fff;background:#4f46e5;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex;position:absolute;top:4px;right:6px}.todo-row2[data-v-ef9f9f1a]{color:#334155;align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.wh-grid[data-v-ef9f9f1a]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.wh-zone[data-v-ef9f9f1a]{background:#f8fafc;border-radius:8px;flex-direction:column;gap:2px;padding:14px 12px;display:flex}.wh-num[data-v-ef9f9f1a]{color:#1e293b;font-size:18px;font-weight:800}.wh-lab[data-v-ef9f9f1a]{color:#94a3b8;font-size:10px}.track-list[data-v-ef9f9f1a]{flex-direction:column;gap:8px;display:flex}.track-item[data-v-ef9f9f1a]{align-items:center;gap:8px;font-size:12px;display:flex}.track-no[data-v-ef9f9f1a]{color:#334155;font-weight:700}.track-desc[data-v-ef9f9f1a]{color:#94a3b8}[data-v-ef9f9f1a] .grid-stack-item-content{top:0;bottom:0;left:0;right:0}@media(max-width:1200px){.kpi-grid[data-v-ef9f9f1a]{grid-template-columns:repeat(2,1fr)}.catalog-grid[data-v-ef9f9f1a]{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.lego-dashboard[data-v-ef9f9f1a]{padding:10px}.kpi-grid[data-v-ef9f9f1a]{grid-template-columns:1fr}.dash-topbar[data-v-ef9f9f1a]{flex-direction:column}}.login-view[data-v-f54f3516]{z-index:9999;background:linear-gradient(135deg,#667eea,#764ba2);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.login-card[data-v-f54f3516]{background:#fff;border-radius:20px;width:420px;max-width:90%;padding:48px 40px;box-shadow:0 24px 48px rgba(0,0,0,.16)}.login-header[data-v-f54f3516]{text-align:center;margin-bottom:32px}.login-logo[data-v-f54f3516]{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:12px;font-size:22px;font-weight:800;display:inline-flex}.login-header h2[data-v-f54f3516]{color:#0f172a;margin:0 0 4px;font-size:22px}.login-header p[data-v-f54f3516]{color:#64748b;margin:0;font-size:13px}.login-form[data-v-f54f3516]{margin-top:0}.login-error[data-v-f54f3516]{color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:16px;padding:8px 12px;font-size:13px}.login-btn[data-v-f54f3516]{letter-spacing:4px;width:100%;height:44px;font-size:16px}.toggle-pwd[data-v-f54f3516]{cursor:pointer}.login-footer[data-v-f54f3516]{text-align:center;color:#94a3b8;margin-top:20px;font-size:11px}@media(max-width:500px){.login-card[data-v-f54f3516]{width:95%;padding:32px 24px}}.not-found[data-v-236cf655]{background:var(--bg,#f8fafc);justify-content:center;align-items:center;min-height:100vh;display:flex}.not-found-content[data-v-236cf655]{text-align:center;padding:40px}.error-code[data-v-236cf655]{color:var(--primary,#4f46e5);opacity:.3;margin-bottom:16px;font-size:120px;font-weight:800;line-height:1}.error-title[data-v-236cf655]{color:var(--text-main,#0f172a);margin:0 0 8px;font-size:24px;font-weight:600}.error-desc[data-v-236cf655]{color:var(--text-sub,#64748b);margin:0 0 24px;font-size:14px}.go-home-btn[data-v-236cf655]{background:var(--primary,#4f46e5);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 32px;font-family:inherit;font-size:15px;transition:background .2s}.go-home-btn[data-v-236cf655]:hover{background:var(--primary-dark,#3730a3)}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media(max-width:1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;left:0;right:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media(max-width:1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media(max-width:1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media(max-width:1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media(max-width:1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media(max-width:1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media(max-width:1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
