.modal-overlay[data-v-648cda3c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-648cda3c]{background:var(--bg);border-radius:var(--radius-md);width:90%;max-width:520px;max-height:85vh;overflow-y:auto}.modal-content.modal-sm[data-v-648cda3c]{max-width:400px}.modal-content.modal-lg[data-v-648cda3c]{max-width:800px}.modal-header[data-v-648cda3c]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-light)}.modal-header h3[data-v-648cda3c]{margin:0;font-size:var(--font-lg)}.modal-close[data-v-648cda3c]{width:32px;height:32px;background:none;border:0;font-size:22px;cursor:pointer;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal-body[data-v-648cda3c]{padding:var(--space-4)}.modal-footer[data-v-648cda3c]{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4);border-top:1px solid var(--border-light)}.base-btn[data-v-e39b1df1]{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 16px;height:32px;border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-sm[data-v-e39b1df1]{height:28px;padding:4px 12px;font-size:var(--font-xs)}.btn-primary[data-v-e39b1df1]{background:var(--color-primary);color:#fff;border-radius:var(--radius-button, 6px)}.btn-primary[data-v-e39b1df1]:hover{background:var(--color-primary-hover)}.btn-outline[data-v-e39b1df1]{background:var(--bg);border-color:var(--border);color:var(--text-secondary)}.btn-outline[data-v-e39b1df1]:hover{color:var(--color-primary);border-color:var(--color-primary)}.btn-danger[data-v-e39b1df1]{background:var(--color-danger);color:#fff}.btn-text[data-v-e39b1df1]{background:none;border:0;color:var(--color-primary);padding:4px 8px}.base-btn[data-v-e39b1df1]:disabled{cursor:not-allowed;box-shadow:none}.base-btn[data-v-e39b1df1]:disabled:hover{cursor:not-allowed;box-shadow:none}.btn-primary[data-v-e39b1df1]:disabled,.btn-primary[data-v-e39b1df1]:disabled:hover{background:#cbd5e1;border-color:#cbd5e1;color:#fff;opacity:1}.btn-outline[data-v-e39b1df1]:disabled,.btn-outline[data-v-e39b1df1]:disabled:hover{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;opacity:1}.btn-danger[data-v-e39b1df1]:disabled,.btn-danger[data-v-e39b1df1]:disabled:hover{background:#fecaca;border-color:#fecaca;color:#991b1b;opacity:1}.btn-text[data-v-e39b1df1]:disabled,.btn-text[data-v-e39b1df1]:disabled:hover{background:transparent;color:#94a3b8;opacity:1}.confirm-message[data-v-7d7d45dc]{margin:0;color:var(--text);font-size:var(--font-base);line-height:1.6}.brand-logo[data-v-c5fa5120]{display:block;width:auto;max-width:240px;object-fit:contain}.brand-logo-text[data-v-c5fa5120]{display:block;font-weight:600;letter-spacing:.02em;white-space:nowrap}.brand-logo-text--white[data-v-c5fa5120]{color:#fff}.brand-logo-text--color[data-v-c5fa5120]{color:var(--brand-primary, #1e5eff)}#app{min-height:100vh}.navbar{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:60px;background:#005de9;color:#fff;box-shadow:0 1px 5px #00275c2e}.nav-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600}.nav-links{display:flex;align-items:center;gap:8px}.nav-link{display:flex;align-items:center;gap:6px;padding:8px 16px;color:#ffffffd9;text-decoration:none;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s;background:none;border:none;cursor:pointer}.nav-link:hover{background:#ffffff1f;color:#fff}.nav-link.router-link-active{background:#ffffff29;color:#fff}.account-menu{position:relative}.account-trigger.active{background:#fff3;color:#fff}.account-arrow{transition:transform .2s ease}.account-arrow.open{transform:rotate(180deg)}.account-dropdown{position:absolute;top:calc(100% + 10px);right:0;min-width:180px;padding:8px;border-radius:14px;background:#fff;color:#1f2937;box-shadow:0 16px 36px #0f172a29;z-index:2100}.account-dropdown-name{padding:10px 12px 8px;font-size:13px;font-weight:700;color:#334155;border-bottom:1px solid #e5e7eb;margin-bottom:6px}.account-dropdown-item{width:100%;padding:10px 12px;background:transparent;border:none;border-radius:10px;color:#334155;font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease}.account-dropdown-item:hover{background:#f3f6fb}.account-dropdown-item.danger{color:#dc2626}.account-dropdown-item.danger:hover{background:#fef2f2}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:10px;color:#fff;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:2000;pointer-events:none}.toast.info{background:#334155eb}.toast.success{background:#22c55eeb}.toast.error{background:#ef4444eb}.identity-load-warning{display:flex;align-items:center;justify-content:center;gap:12px;min-height:40px;padding:8px 20px;color:#7c4a03;background:#fff7e6;border-bottom:1px solid #ffd591;font-size:14px}.identity-load-warning--error{color:#8c1d18;background:#fff1f0;border-bottom-color:#ffa39e}.identity-load-warning button{padding:5px 12px;color:#005de9;background:#fff;border:1px solid #91caff;border-radius:6px;cursor:pointer;font:inherit;font-weight:600}.identity-load-warning button:hover{background:#e6f4ff}.toast-enter-active,.toast-leave-active{transition:all .22s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(20px)}.hamburger-btn{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:8px;border-radius:8px}.hamburger-btn:hover{background:#ffffff26}@media (max-width: 768px){.hamburger-btn{display:flex;align-items:center}.navbar{padding:0 16px;position:relative}.nav-links{display:none;position:absolute;top:60px;left:0;right:0;background:linear-gradient(135deg,#3b7bff,#1e5eff);flex-direction:column;padding:8px 16px 16px;gap:4px;box-shadow:0 4px 12px #00000026;z-index:200}.account-menu{width:100%}.account-dropdown{position:static;margin-top:8px;width:100%}.nav-links.open{display:flex}.nav-link{width:100%;padding:12px 16px;border-radius:8px;justify-content:flex-start}}.app-footer[data-v-c54ebfd6]{padding:16px 24px;text-align:center;font-size:13px;color:#97a0b3}:root{--color-primary: #1e5eff;--color-primary-hover: #4d7fff;--color-danger: #ff4d4f;--color-success: #52c41a;--color-warning: #faad14;--brand: #1e5eff;--text: #333333;--text-secondary: #595959;--text-muted: #8c8c8c;--text-faint: #6b7280;--border: #d9d9d9;--border-light: #f0f0f0;--bg: #ffffff;--bg-subtle: #fafbfc;--bg-page: #eef2f5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 2px;--radius-md: 8px;--radius-button: 6px;--font-xs: 12px;--font-sm: 13px;--font-base: 14px;--font-lg: 16px;--sev-p1: #ff4d4f;--sev-p1-bg: #fff1f0;--sev-p2: #fa8c16;--sev-p2-bg: #fff7e6;--sev-p3: #1890ff;--sev-p3-bg: #e6f7ff;--sev-p4: #8c8c8c;--sev-p4-bg: #f5f5f5;--sev-p5: #bfbfbf;--sev-p5-bg: #fafafa;--color-success-bg: #dcfce7;--color-success-light: #f6ffed;--color-danger-bg: #fee2e2;--color-primary-bg: #eef3ff;--text-dim: #666666;--border-input: #e0e0e0;--card-radius: 8px;--card-shadow: 0 3px 6px rgba(47, 46, 63, .07);--card-padding: 20px;--page-padding: 24px;--section-gap: 16px;--table-head-bg: #fafafa;--table-head-fg: #5a607f;--status-pass: #06a561;--table-row-hover: #f8fafc;--font-page-title: 18px;--font-section-title: 15px;--sidebar-w-default: 220px;--sidebar-w-min: 180px;--sidebar-w-max: 320px;--sidebar-w-collapsed: 60px}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-sm, 13px)}.admin-table th,.admin-table td{padding:8px 12px;border-bottom:1px solid var(--border-light);text-align:left}.admin-table th{background:var(--table-head-bg);font-weight:600;font-size:var(--font-xs, 12px);color:var(--text-muted)}.admin-table tbody tr:hover{background:var(--table-row-hover)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;background:#eef2f5;min-height:100vh;min-height:100dvh;color:#333;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:auto;overflow-x:hidden;overflow-y:auto;max-width:100vw}html.chat-scroll-locked,html.chat-scroll-locked body{overscroll-behavior-y:none}#app{width:100%;max-width:100vw;min-height:100vh;min-height:100dvh;background:#eef2f5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}::selection{background:#1e5eff4d;color:inherit}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-hover)}button{font-family:inherit;cursor:pointer;outline:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,textarea{font-family:inherit;outline:none}input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.container{max-width:1200px;margin:0 auto;padding:0 20px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(20px)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.page-enter-active,.page-leave-active{transition:all .3s ease}.page-enter-from{opacity:0;transform:translate(20px)}.page-leave-to{opacity:0;transform:translate(-20px)}@media (max-width: 1200px){.container{max-width:960px}}@media (max-width: 992px){.container{max-width:720px}}@media (max-width: 768px){html{font-size:14px}.container{max-width:540px}input,textarea,select{font-size:16px}}@media (max-width: 576px){.container{padding:0 16px}}@media print{body{background:#fff}.no-print{display:none!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
