.dialog-backdrop[data-v-629176f4]{z-index:99999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-box[data-v-629176f4]{background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:0;width:380px;max-width:calc(100vw - 32px);padding:32px 28px 24px;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003,0 4px 16px #0000001a}.dialog-icon-wrap[data-v-629176f4]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;display:flex}.dialog-icon-wrap.info[data-v-629176f4]{background:#eff6ff}.dialog-icon-wrap.success[data-v-629176f4]{background:#ecfdf5}.dialog-icon-wrap.warning[data-v-629176f4]{background:#fffbeb}.dialog-icon-wrap.error[data-v-629176f4],.dialog-icon-wrap.danger[data-v-629176f4]{background:#fef2f2}.dialog-icon[data-v-629176f4]{font-size:30px;line-height:1}.dialog-body[data-v-629176f4]{text-align:center;width:100%;margin-bottom:24px}.dialog-title[data-v-629176f4]{color:#111827;margin-bottom:8px;font-size:17px;font-weight:700}.dialog-msg[data-v-629176f4]{color:#6b7280;font-size:13px;line-height:1.6}.dialog-footer[data-v-629176f4]{gap:10px;width:100%;display:flex}.dialog-footer[data-v-629176f4]:not(.two-btn){justify-content:center}.dialog-footer.two-btn .dialog-btn[data-v-629176f4]{flex:1}.dialog-btn[data-v-629176f4]{cursor:pointer;border:none;border-radius:8px;min-width:90px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s}.dialog-btn.cancel[data-v-629176f4]{color:#374151;background:#f3f4f6}.dialog-btn.cancel[data-v-629176f4]:hover{background:#e5e7eb}.dialog-btn.confirm.info[data-v-629176f4]{color:#fff;background:#3b82f6}.dialog-btn.confirm.info[data-v-629176f4]:hover{background:#2563eb}.dialog-btn.confirm.success[data-v-629176f4]{color:#fff;background:#10b981}.dialog-btn.confirm.success[data-v-629176f4]:hover{background:#059669}.dialog-btn.confirm.warning[data-v-629176f4]{color:#fff;background:#f59e0b}.dialog-btn.confirm.warning[data-v-629176f4]:hover{background:#d97706}.dialog-btn.confirm.error[data-v-629176f4]{color:#fff;background:#ef4444}.dialog-btn.confirm.error[data-v-629176f4]:hover{background:#dc2626}.dialog-btn.confirm.danger[data-v-629176f4]{color:#fff;background:#ef4444}.dialog-btn.confirm.danger[data-v-629176f4]:hover{background:#dc2626}.dialog-fade-enter-active[data-v-629176f4],.dialog-fade-leave-active[data-v-629176f4]{transition:opacity .2s}.dialog-fade-enter-from[data-v-629176f4],.dialog-fade-leave-to[data-v-629176f4]{opacity:0}.dialog-slide-enter-active[data-v-629176f4]{transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1)}.dialog-slide-leave-active[data-v-629176f4]{transition:opacity .15s,transform .15s}.dialog-slide-enter-from[data-v-629176f4]{opacity:0;transform:scale(.88)translateY(-16px)}.dialog-slide-leave-to[data-v-629176f4]{opacity:0;transform:scale(.95)translateY(8px)}.login-page[data-v-3eb5c9ff]{background:#0a1628;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.bg-decoration[data-v-3eb5c9ff]{pointer-events:none;position:absolute;inset:0}.bg-circle[data-v-3eb5c9ff]{filter:blur(80px);opacity:.12;border-radius:50%;position:absolute}.c1[data-v-3eb5c9ff]{background:#1b6fe8;width:500px;height:500px;top:-100px;left:-100px}.c2[data-v-3eb5c9ff]{background:#00c9a7;width:400px;height:400px;bottom:-80px;right:200px}.c3[data-v-3eb5c9ff]{background:#6b46c1;width:300px;height:300px;top:30%;left:35%}.bg-grid[data-v-3eb5c9ff]{pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.login-container[data-v-3eb5c9ff]{z-index:1;border-radius:20px;width:960px;min-height:580px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000080}.login-left[data-v-3eb5c9ff]{background:linear-gradient(145deg,#0f1e38 0%,#162040 50%,#0f1e38 100%);border-right:1px solid #ffffff0f;flex-direction:column;flex:1;padding:48px 44px;display:flex}.brand[data-v-3eb5c9ff]{align-items:center;gap:14px;margin-bottom:52px;display:flex}.brand-logo svg[data-v-3eb5c9ff]{width:48px;height:48px}.brand-title[data-v-3eb5c9ff]{color:#fff;letter-spacing:-.3px;font-size:22px;font-weight:800}.brand-sub[data-v-3eb5c9ff]{color:#4a6fa5;margin-top:2px;font-size:10.5px}.features[data-v-3eb5c9ff]{flex-direction:column;flex:1;gap:20px;display:flex}.feature-item[data-v-3eb5c9ff]{background:#ffffff08;border:1px solid #ffffff0d;border-radius:10px;align-items:flex-start;gap:14px;padding:16px;display:flex}.feature-icon[data-v-3eb5c9ff]{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.feature-icon.anomaly[data-v-3eb5c9ff]{color:#fc8181;background:#e53e3e26}.feature-icon.quality[data-v-3eb5c9ff]{color:#63b3ed;background:#1b6fe826}.feature-icon.ontology[data-v-3eb5c9ff]{color:#00c9a7;background:#00c9a726}.feature-title[data-v-3eb5c9ff]{color:#e2e8f0;margin-bottom:3px;font-size:13px;font-weight:600}.feature-desc[data-v-3eb5c9ff]{color:#4a6fa5;font-size:11.5px}.left-footer[data-v-3eb5c9ff]{color:#2d4a6e;margin-top:32px;font-size:11px}.login-right[data-v-3eb5c9ff]{background:#f8faff;flex-direction:column;align-items:stretch;width:420px;padding:48px 44px;display:flex}.login-card[data-v-3eb5c9ff]{flex-direction:column;flex:1;padding:16px;display:flex}.login-header[data-v-3eb5c9ff]{margin-bottom:32px}.login-title[data-v-3eb5c9ff]{color:var(--text-primary);margin-bottom:6px;font-size:24px;font-weight:800}.login-desc[data-v-3eb5c9ff]{color:var(--text-muted);font-size:13px}.login-form[data-v-3eb5c9ff]{flex-direction:column;gap:16px;display:flex}.form-group[data-v-3eb5c9ff]{flex-direction:column;gap:6px;display:flex}.form-label[data-v-3eb5c9ff]{color:var(--text-secondary);font-size:12.5px;font-weight:600}.input-wrap[data-v-3eb5c9ff]{align-items:center;display:flex;position:relative}.input-icon[data-v-3eb5c9ff]{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.form-input[data-v-3eb5c9ff]{border:1.5px solid var(--border);width:100%;height:44px;color:var(--text-primary);background:#fff;border-radius:8px;outline:none;padding:0 40px 0 38px;font-size:13.5px;transition:all .15s}.form-input[data-v-3eb5c9ff]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b6fe81f}.pw-toggle[data-v-3eb5c9ff]{color:var(--text-muted);align-items:center;padding:4px;display:flex;position:absolute;right:10px}.pw-toggle[data-v-3eb5c9ff]:hover{color:var(--text-secondary)}.form-options[data-v-3eb5c9ff]{justify-content:space-between;align-items:center;margin-top:-4px;display:flex}.checkbox-wrap[data-v-3eb5c9ff]{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.checkbox[data-v-3eb5c9ff]{accent-color:var(--primary)}.find-pw[data-v-3eb5c9ff]{color:var(--primary);font-size:12px}.login-btn[data-v-3eb5c9ff]{background:var(--primary);color:#fff;letter-spacing:.3px;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:48px;margin-top:4px;padding:7px 14px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.login-btn[data-v-3eb5c9ff]:hover{background:var(--primary-dark);box-shadow:0 4px 16px #1b6fe859}.login-btn.loading[data-v-3eb5c9ff]{opacity:.8;cursor:not-allowed;padding:7px 14px}.btn-spinner[data-v-3eb5c9ff]{align-items:center;gap:8px;display:flex}.spin[data-v-3eb5c9ff]{animation:.8s linear infinite spin-3eb5c9ff}@keyframes spin-3eb5c9ff{to{transform:rotate(360deg)}}.login-footer[data-v-3eb5c9ff]{margin-top:28px}.divider[data-v-3eb5c9ff]{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:11px;display:flex}.divider[data-v-3eb5c9ff]:before,.divider[data-v-3eb5c9ff]:after{content:"";background:var(--border);flex:1;height:1px}.sys-info[data-v-3eb5c9ff]{flex-wrap:wrap;gap:12px;display:flex}.sys-item[data-v-3eb5c9ff]{color:var(--text-muted);align-items:center;gap:5px;padding:10px 12px;font-size:11px;display:flex}.sys-dot[data-v-3eb5c9ff]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.copyright[data-v-3eb5c9ff]{color:#9ca3af;text-align:center;margin-top:24px;font-size:11px}.error-msg[data-v-3eb5c9ff]{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;align-items:center;gap:6px;padding:10px 14px;font-size:12.5px;font-weight:500;display:flex}.sidebar[data-v-8a8768b1]{width:var(--sidebar-width);background:var(--bg-sidebar);z-index:100;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0}.sidebar-logo[data-v-8a8768b1]{border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:10px;padding:18px 16px 16px;display:flex}.logo-icon svg[data-v-8a8768b1]{flex-shrink:0;width:32px;height:32px}.logo-text[data-v-8a8768b1]{flex-direction:column;flex:1;line-height:1.2;display:flex}.logo-title[data-v-8a8768b1]{color:#fff;letter-spacing:.3px;font-size:15px;font-weight:800}.logo-sub[data-v-8a8768b1]{color:#3a5680;letter-spacing:.8px;text-transform:uppercase;margin-top:2px;font-size:9px}.logo-version[data-v-8a8768b1]{color:#2d4a6e;background:#1b6fe826;border:1px solid #1b6fe833;border-radius:4px;padding:2px 5px;font-size:9px;font-weight:700}.sidebar-nav[data-v-8a8768b1]{flex:1;padding:10px 10px 4px;overflow:hidden auto}.sidebar-nav[data-v-8a8768b1]::-webkit-scrollbar{width:3px}.sidebar-nav[data-v-8a8768b1]::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:2px}.nav-group-header[data-v-8a8768b1]{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 8px 5px;display:flex}.group-label[data-v-8a8768b1]{letter-spacing:1.2px;color:#2d4a6e;text-transform:uppercase;font-size:9.5px;font-weight:700}.group-arrow[data-v-8a8768b1]{color:#2d4a6e;transition:transform .2s}.group-arrow.open[data-v-8a8768b1]{transform:rotate(0)}.group-arrow[data-v-8a8768b1]:not(.open){transform:rotate(-90deg)}.nav-group-items[data-v-8a8768b1]{opacity:1;max-height:800px;transition:max-height .25s,opacity .2s;overflow:hidden}.nav-group-items.collapsed[data-v-8a8768b1]{opacity:0;max-height:0}.nav-section-divider[data-v-8a8768b1]{background:#ffffff0a;height:1px;margin:4px 8px 2px}.nav-item[data-v-8a8768b1]{color:#7a96b8;cursor:pointer;border-radius:7px;align-items:center;gap:9px;margin-bottom:1px;padding:8px 8px 8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s;display:flex;position:relative}.nav-item[data-v-8a8768b1]:hover{color:#c8d8ee;background:#ffffff0d}.nav-item.active[data-v-8a8768b1]{color:#fff;background:#1b6fe82e;font-weight:600}.nav-item.active[data-v-8a8768b1]:before{content:"";background:#1b6fe8;border-radius:0 2px 2px 0;width:3px;height:18px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-icon[data-v-8a8768b1]{opacity:.85;flex-shrink:0;align-items:center;width:17px;height:17px;display:flex}.nav-icon[data-v-8a8768b1] svg{width:17px;height:17px}.nav-item.active .nav-icon[data-v-8a8768b1]{opacity:1}.nav-label[data-v-8a8768b1]{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav-badge[data-v-8a8768b1]{letter-spacing:.3px;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:800}.nav-badge.live[data-v-8a8768b1]{color:#fc8181;background:#e53e3e33;border:1px solid #e53e3e40}.nav-badge.accent[data-v-8a8768b1]{color:#00c9a7;background:#00c9a726;border:1px solid #00c9a733}.nav-badge.default[data-v-8a8768b1]{color:#a0aec0;background:#ffffff1a}.nav-badge-count[data-v-8a8768b1]{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:flex}.nav-badge-count.danger[data-v-8a8768b1]{color:#fff;background:#e53e3e}.sidebar-bottom[data-v-8a8768b1]{border-top:1px solid #ffffff0a;flex-shrink:0;padding:6px 10px 14px}.bottom-section-label[data-v-8a8768b1]{letter-spacing:1.2px;color:#2d4a6e;text-transform:uppercase;padding:8px 8px 5px;font-size:9px;font-weight:700}.sidebar-user[data-v-8a8768b1]{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:7px;align-items:center;gap:9px;margin-top:4px;padding:9px 8px;display:flex}.user-avatar[data-v-8a8768b1]{color:#fff;background:linear-gradient(135deg,#1b6fe8,#0d4fb0);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.user-info[data-v-8a8768b1]{flex:1;min-width:0}.user-name[data-v-8a8768b1]{color:#c8d8ee;font-size:12px;font-weight:600;line-height:1.3}.user-role[data-v-8a8768b1]{color:#3a5680;font-size:10px;line-height:1.3}.logout-btn[data-v-8a8768b1]{color:#3a5680;border-radius:5px;flex-shrink:0;align-items:center;padding:5px;transition:all .15s;display:flex}.logout-btn[data-v-8a8768b1]:hover{color:#fc8181;background:#e53e3e1a}.app-header[data-v-15dcd575]{height:var(--header-height);background:var(--bg-white);border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.page-title[data-v-15dcd575]{color:var(--text-primary);font-size:16px;font-weight:700}.breadcrumb[data-v-15dcd575]{align-items:center;gap:6px;display:flex}.breadcrumb-group[data-v-15dcd575]{color:var(--text-muted);font-size:12px;font-weight:500}.breadcrumb-page[data-v-15dcd575]{color:var(--text-primary);font-size:15px;font-weight:700}.header-right[data-v-15dcd575]{align-items:center;gap:12px;display:flex}.system-status[data-v-15dcd575]{background:var(--success-light);border:1px solid #38a16933;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;display:flex}.ai-status[data-v-15dcd575]{background:#1b6fe812;border-color:#1b6fe82e}.ai-status .status-dot.running[data-v-15dcd575]{background:var(--primary);box-shadow:0 0 0 2px #1b6fe840}.ai-status .status-text[data-v-15dcd575]{color:var(--primary)}.status-dot[data-v-15dcd575]{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.running[data-v-15dcd575]{background:var(--success);animation:2s infinite pulse-15dcd575;box-shadow:0 0 0 2px #38a16940}@keyframes pulse-15dcd575{0%,to{opacity:1}50%{opacity:.4}}.status-text[data-v-15dcd575]{color:var(--success);font-size:12px;font-weight:600}.header-btn[data-v-15dcd575]{width:36px;height:36px;color:var(--text-secondary);background:var(--bg-body);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:relative}.header-btn[data-v-15dcd575]:hover,.header-btn.active[data-v-15dcd575]{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.btn-badge[data-v-15dcd575]{background:var(--danger);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.user-btn[data-v-15dcd575]{gap:6px;width:auto;padding:0 10px}.user-avatar-sm[data-v-15dcd575]{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.alarm-wrap[data-v-15dcd575],.user-wrap[data-v-15dcd575]{position:relative}.drop-panel[data-v-15dcd575]{border:1px solid var(--border);z-index:200;background:#fff;border-radius:12px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000024}.panel-enter-active[data-v-15dcd575],.panel-leave-active[data-v-15dcd575]{transition:all .18s}.panel-enter-from[data-v-15dcd575],.panel-leave-to[data-v-15dcd575]{opacity:0;transform:translateY(-6px)}.dp-header[data-v-15dcd575]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.dp-title[data-v-15dcd575]{color:var(--text-primary);font-size:13px;font-weight:700}.dp-link[data-v-15dcd575]{color:var(--primary);cursor:pointer;font-size:12px;font-weight:600}.dp-link[data-v-15dcd575]:hover{text-decoration:underline}.dp-footer[data-v-15dcd575]{border-top:1px solid var(--border);text-align:center;padding:10px 16px}.dp-divider[data-v-15dcd575]{background:var(--border);height:1px;margin:4px 0}.dp-loading[data-v-15dcd575],.dp-empty[data-v-15dcd575]{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:28px 24px;font-size:12px;display:flex}.spin-icon[data-v-15dcd575]{animation:.9s linear infinite spin-15dcd575}@keyframes spin-15dcd575{to{transform:rotate(360deg)}}.alarm-panel[data-v-15dcd575]{width:340px}.alarm-list[data-v-15dcd575]{max-height:360px;padding:6px 0;overflow-y:auto}.alarm-row[data-v-15dcd575]{cursor:pointer;border-left:3px solid #0000;flex-direction:column;gap:3px;padding:10px 16px;transition:background .12s;display:flex}.alarm-row[data-v-15dcd575]:hover{background:#f9fafb}.ar-top[data-v-15dcd575]{align-items:center;gap:6px;display:flex}.ar-level-badge[data-v-15dcd575]{border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:700}.ar-type[data-v-15dcd575]{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:500;overflow:hidden}.ar-time[data-v-15dcd575]{color:var(--text-muted);flex-shrink:0;font-size:10px}.ar-msg[data-v-15dcd575]{color:var(--text-primary);font-size:12px;line-height:1.4}.user-panel[data-v-15dcd575]{width:260px}.up-profile[data-v-15dcd575]{align-items:center;gap:12px;padding:16px;display:flex}.up-avatar[data-v-15dcd575]{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:flex}.up-info[data-v-15dcd575]{flex:1;min-width:0}.up-name[data-v-15dcd575]{color:var(--text-primary);font-size:14px;font-weight:700}.up-meta[data-v-15dcd575]{align-items:center;gap:4px;margin-top:2px;display:flex}.up-role[data-v-15dcd575]{color:var(--primary);background:#1b6fe81a;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:600}.up-sep[data-v-15dcd575],.up-dept[data-v-15dcd575]{color:var(--text-muted);font-size:11px}.up-email[data-v-15dcd575]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.up-menu[data-v-15dcd575]{padding:4px 0}.up-menu-item[data-v-15dcd575]{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:9px 16px;font-size:13px;transition:background .12s;display:flex}.up-menu-item[data-v-15dcd575]:hover{color:var(--text-primary);background:#f9fafb}.up-logout[data-v-15dcd575]{color:#ef4444;cursor:pointer;text-align:left;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.up-logout[data-v-15dcd575]:hover{background:#fef2f2}.header-time[data-v-15dcd575]{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.layout[data-v-2742b469]{background:var(--bg-body);height:100vh;display:flex}.layout-main[data-v-2742b469]{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.layout-content[data-v-2742b469]{flex-direction:column;flex:1;min-height:0;padding:24px;display:flex;overflow-y:auto}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1b6fe8;--primary-dark:#1459c0;--primary-light:#ebf2ff;--accent:#00c9a7;--accent-light:#e6faf7;--warning:#ff8c00;--warning-light:#fff4e5;--danger:#e53e3e;--danger-light:#fff5f5;--success:#38a169;--success-light:#f0fff4;--sidebar-width:240px;--header-height:60px;--bg-body:#f4f6fa;--bg-white:#fff;--bg-sidebar:#0f1a2e;--bg-sidebar-hover:#1b2d4f;--bg-sidebar-active:#1b6fe8;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#718096;--text-sidebar:#a0aec0;--text-sidebar-active:#fff;--border:#e2e8f0;--border-light:#f0f4f8;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;color:var(--text-primary);font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}html,body{background:var(--bg-body);height:100%}#app{height:100%}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a0aec0}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.w-full{width:100%}.text-sm{font-size:12px}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.font-semibold{font-weight:600}
