.app-root[data-v-bab127a1]{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-topbar[data-v-bab127a1]{display:flex;align-items:center;justify-content:space-between;flex:none;height:52px;padding:0 20px;background:#fff;border-bottom:1px solid #eceef1}.brand[data-v-bab127a1]{font-size:15px;font-weight:650;color:#1f2328;letter-spacing:.3px}.topbar-right[data-v-bab127a1]{display:flex;align-items:center;gap:12px}.user-name[data-v-bab127a1]{font-size:13.5px;color:#4b5563}.role-badge[data-v-bab127a1]{padding:2px 8px;font-size:12px;color:#7c3aed;background:#f5f3ff;border-radius:6px}.topbar-link[data-v-bab127a1]{font-size:13.5px;color:#4f46e5;text-decoration:none}.topbar-link[data-v-bab127a1]:hover{text-decoration:underline}.topbar-btn[data-v-bab127a1]{padding:5px 12px;font-size:13px;color:#4b5563;background:transparent;border:1px solid #e3e5e9;border-radius:7px;cursor:pointer;transition:all .15s}.topbar-btn[data-v-bab127a1]:hover{color:#d64545;border-color:#fbd3cd}.app-main[data-v-bab127a1]{flex:1;min-height:0}.sidebar[data-v-057435f5]{display:flex;flex-direction:column;width:260px;height:100%;background:#f7f8fa;border-right:1px solid #e8eaed;transition:width .2s ease;overflow:hidden}.sidebar.collapsed[data-v-057435f5]{width:60px}.sidebar-head[data-v-057435f5]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px 8px}.brand[data-v-057435f5]{display:flex;align-items:center;gap:8px;min-width:0}.brand-logo[data-v-057435f5]{display:flex;align-items:center;justify-content:center;flex:none}.brand-name[data-v-057435f5]{font-size:15px;font-weight:650;color:#1f2328;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn[data-v-057435f5]{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:#6b7280;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.icon-btn[data-v-057435f5]:hover{color:#1f2328;background:#eaecf0}.collapse-btn[data-v-057435f5]{flex:none}.new-chat[data-v-057435f5]{display:flex;align-items:center;gap:8px;margin:4px 12px 10px;padding:8px 10px;font-size:13.5px;font-weight:500;color:#fff;background:linear-gradient(135deg,#4f7cff,#7c5ce7);border:none;border-radius:9px;cursor:pointer;transition:filter .15s,box-shadow .15s}.new-chat[data-v-057435f5]:hover{filter:brightness(1.06);box-shadow:0 2px 10px #4f7cff4d}.new-chat.compact[data-v-057435f5]{justify-content:center;padding:8px 0;margin:4px 12px 10px}.search-box[data-v-057435f5]{position:relative;display:flex;align-items:center;margin:0 12px 10px}.search-icon[data-v-057435f5]{position:absolute;left:9px;color:#9ca3af;pointer-events:none}.search-input[data-v-057435f5]{width:100%;padding:7px 26px 7px 28px;font-family:inherit;font-size:13px;color:#1f2328;background:#fff;border:1px solid #e3e5e9;border-radius:8px;outline:none;transition:border-color .15s}.search-input[data-v-057435f5]:focus{border-color:#a5b4fc}.search-input[data-v-057435f5]::placeholder{color:#9ca3af}.search-clear[data-v-057435f5]{position:absolute;right:6px;width:18px;height:18px;font-size:15px;line-height:1;color:#9ca3af;background:transparent;border:none;border-radius:50%;cursor:pointer}.search-clear[data-v-057435f5]:hover{color:#4b5563;background:#eaecf0}.session-list[data-v-057435f5]{flex:1;padding:0 8px 8px;overflow-y:auto}.group+.group[data-v-057435f5]{margin-top:12px}.group-label[data-v-057435f5]{padding:4px 8px 6px;font-size:11.5px;font-weight:600;color:#9ca3af;letter-spacing:.03em}.session-item[data-v-057435f5]{position:relative;display:flex;align-items:center;gap:6px;padding:8px 10px;margin-bottom:2px;font-size:13.5px;color:#374151;border-radius:8px;cursor:pointer;transition:background .12s}.session-item[data-v-057435f5]:hover{background:#eceef1}.session-item.active[data-v-057435f5]{color:#1f2328;background:#e0e7ff}.session-item.compact[data-v-057435f5]{justify-content:center;padding:8px 0}.pin-flag[data-v-057435f5]{flex:none;font-size:11px}.session-title[data-v-057435f5]{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.session-edit-input[data-v-057435f5]{flex:1;min-width:0;padding:2px 6px;font-family:inherit;font-size:13.5px;color:#1f2328;background:#fff;border:1px solid #a5b4fc;border-radius:5px;outline:none}.session-actions[data-v-057435f5]{display:none;align-items:center;gap:2px;flex:none}.session-item:hover .session-actions[data-v-057435f5]{display:flex}.session-action[data-v-057435f5]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:#6b7280;background:transparent;border:none;border-radius:5px;cursor:pointer}.session-action[data-v-057435f5]:hover{color:#4f46e5;background:#fff}.session-action.danger[data-v-057435f5]:hover{color:#dc2626;background:#fff}.empty-state[data-v-057435f5]{padding:28px 16px;text-align:center}.empty-title[data-v-057435f5]{font-size:13px;color:#6b7280}.empty-hint[data-v-057435f5]{margin-top:4px;font-size:12px;color:#9ca3af}.sidebar-foot[data-v-057435f5]{padding:10px 16px 14px;border-top:1px solid #e8eaed}.foot-text[data-v-057435f5]{font-size:11.5px;color:#9ca3af}@media (max-width: 768px){.sidebar[data-v-057435f5]{position:fixed;top:0;left:0;z-index:60;width:260px;transform:translate(-100%);transition:transform .22s ease}.sidebar.mobile-open[data-v-057435f5]{transform:translate(0);box-shadow:4px 0 20px #0000001f}.sidebar.collapsed[data-v-057435f5]{width:260px}}.markdown-body[data-v-6215729d]{font-size:15px;line-height:1.75;color:#1f2328;word-break:break-word;overflow-wrap:anywhere}.markdown-body[data-v-6215729d]>:first-child{margin-top:0}.markdown-body[data-v-6215729d]>:last-child{margin-bottom:0}.markdown-body[data-v-6215729d] h1,.markdown-body[data-v-6215729d] h2,.markdown-body[data-v-6215729d] h3,.markdown-body[data-v-6215729d] h4{margin:1.4em 0 .6em;font-weight:650;line-height:1.35;color:#111827}.markdown-body[data-v-6215729d] h1{font-size:1.5em}.markdown-body[data-v-6215729d] h2{font-size:1.3em}.markdown-body[data-v-6215729d] h3{font-size:1.15em}.markdown-body[data-v-6215729d] h4{font-size:1.02em}.markdown-body[data-v-6215729d] p{margin:.75em 0}.markdown-body[data-v-6215729d] ul,.markdown-body[data-v-6215729d] ol{margin:.75em 0;padding-left:1.5em}.markdown-body[data-v-6215729d] li{margin:.35em 0}.markdown-body[data-v-6215729d] li>ul,.markdown-body[data-v-6215729d] li>ol{margin:.3em 0}.markdown-body[data-v-6215729d] a{color:#4f46e5;text-decoration:none;border-bottom:1px solid rgba(79,70,229,.35)}.markdown-body[data-v-6215729d] a:hover{border-bottom-color:#4f46e5}.markdown-body[data-v-6215729d] strong{font-weight:650;color:#111827}.markdown-body[data-v-6215729d] blockquote{margin:1em 0;padding:.2em 0 .2em 1em;border-left:3px solid #d8dbe3;color:#5b6472;background:#fafbfc}.markdown-body[data-v-6215729d] hr{margin:1.6em 0;border:none;border-top:1px solid #e6e8eb}.markdown-body[data-v-6215729d] table{width:100%;margin:1em 0;border-collapse:collapse;font-size:14px;display:block;overflow-x:auto}.markdown-body[data-v-6215729d] th,.markdown-body[data-v-6215729d] td{padding:8px 12px;border:1px solid #e6e8eb;text-align:left}.markdown-body[data-v-6215729d] th{background:#f6f7f9;font-weight:600;color:#111827}.markdown-body[data-v-6215729d] tr:nth-child(2n) td{background:#fbfcfd}.markdown-body[data-v-6215729d] code{padding:.15em .4em;font-size:.88em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#f1f2f4;border-radius:4px;color:#c7254e}.markdown-body[data-v-6215729d] .code-block{margin:1em 0;border:1px solid #e6e8eb;border-radius:10px;overflow:hidden;background:#fbfbfd}.markdown-body[data-v-6215729d] .code-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#f4f5f7;border-bottom:1px solid #e6e8eb}.markdown-body[data-v-6215729d] .code-lang{font-size:12px;color:#6b7280;text-transform:lowercase;letter-spacing:.02em}.markdown-body[data-v-6215729d] .code-copy{padding:3px 10px;font-size:12px;color:#4b5563;background:transparent;border:1px solid #d8dbe3;border-radius:6px;cursor:pointer;transition:all .15s}.markdown-body[data-v-6215729d] .code-copy:hover{color:#4f46e5;border-color:#4f46e5;background:#fff}.markdown-body[data-v-6215729d] .code-pre{margin:0;padding:14px 16px;overflow-x:auto;background:#fbfbfd}.markdown-body[data-v-6215729d] .code-pre code{padding:0;font-size:13.5px;line-height:1.65;color:#24292e;background:transparent}.markdown-body[data-v-6215729d] .hljs-comment,.markdown-body[data-v-6215729d] .hljs-quote{color:#8b949e;font-style:italic}.markdown-body[data-v-6215729d] .hljs-keyword,.markdown-body[data-v-6215729d] .hljs-selector-tag,.markdown-body[data-v-6215729d] .hljs-literal,.markdown-body[data-v-6215729d] .hljs-type{color:#cf222e}.markdown-body[data-v-6215729d] .hljs-string,.markdown-body[data-v-6215729d] .hljs-meta .hljs-string,.markdown-body[data-v-6215729d] .hljs-regexp{color:#0a3069}.markdown-body[data-v-6215729d] .hljs-number,.markdown-body[data-v-6215729d] .hljs-variable,.markdown-body[data-v-6215729d] .hljs-template-variable,.markdown-body[data-v-6215729d] .hljs-attr,.markdown-body[data-v-6215729d] .hljs-attribute{color:#0550ae}.markdown-body[data-v-6215729d] .hljs-title,.markdown-body[data-v-6215729d] .hljs-title.class_,.markdown-body[data-v-6215729d] .hljs-title.function_,.markdown-body[data-v-6215729d] .hljs-section{color:#8250df}.markdown-body[data-v-6215729d] .hljs-built_in,.markdown-body[data-v-6215729d] .hljs-builtin-name{color:#953800}.markdown-body[data-v-6215729d] .hljs-symbol,.markdown-body[data-v-6215729d] .hljs-bullet{color:#116329}.markdown-body[data-v-6215729d] .hljs-meta{color:#6e7781}.markdown-body[data-v-6215729d] .hljs-deletion{color:#82071e;background:#ffebe9}.markdown-body[data-v-6215729d] .hljs-addition{color:#116329;background:#dafbe1}.markdown-body[data-v-6215729d] .hljs-emphasis{font-style:italic}.markdown-body[data-v-6215729d] .hljs-strong{font-weight:700}.message[data-v-fb29af9f]{display:flex;gap:12px;padding:6px 0}.message-user[data-v-fb29af9f]{flex-direction:row-reverse}.avatar[data-v-fb29af9f]{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;font-size:13px;font-weight:600;-webkit-user-select:none;user-select:none}.avatar-user[data-v-fb29af9f]{background:#eef0f4;color:#4b5563}.avatar-assistant[data-v-fb29af9f]{background:transparent}.message-body[data-v-fb29af9f]{min-width:0;max-width:min(860px,100%);display:flex;flex-direction:column;gap:6px}.message-user .message-body[data-v-fb29af9f]{align-items:flex-end}.content[data-v-fb29af9f]{min-width:0}.content-user[data-v-fb29af9f]{max-width:78%}.user-text[data-v-fb29af9f]{padding:10px 14px;font-size:15px;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:#1f2328;background:#f2f3f5;border-radius:12px 4px 12px 12px}.caret[data-v-fb29af9f]{display:inline-block;width:7px;height:16px;margin-left:2px;vertical-align:text-bottom;background:#4f46e5;border-radius:1px;animation:caret-blink-fb29af9f 1s steps(2,start) infinite}@keyframes caret-blink-fb29af9f{0%,to{opacity:1}50%{opacity:0}}.pending-hint[data-v-fb29af9f]{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280}.pending-dot[data-v-fb29af9f]{width:6px;height:6px;border-radius:50%;background:#4f46e5;animation:pending-pulse-fb29af9f 1.2s ease-in-out infinite}@keyframes pending-pulse-fb29af9f{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.reasoning[data-v-fb29af9f]{border:1px solid #e6e8eb;border-radius:10px;background:#fafbfc;overflow:hidden}.reasoning-toggle[data-v-fb29af9f]{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;font-size:13px;color:#6b7280;background:transparent;border:none;cursor:pointer;text-align:left}.reasoning-toggle[data-v-fb29af9f]:hover{color:#4f46e5}.reasoning-arrow[data-v-fb29af9f]{transition:transform .18s ease}.reasoning-arrow.open[data-v-fb29af9f]{transform:rotate(90deg)}.reasoning-title[data-v-fb29af9f]{font-weight:500}.reasoning-content[data-v-fb29af9f]{padding:8px 12px 10px;font-size:13.5px;line-height:1.7;color:#6b7280;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto;border-top:1px solid #eef0f2}.error-box[data-v-fb29af9f]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13.5px;line-height:1.6;color:#a1260d;background:#fef3f2;border:1px solid #fbd3cd;border-radius:10px}.error-icon[data-v-fb29af9f]{flex:none;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:2px;font-size:11px;font-weight:700;color:#fff;background:#d64545;border-radius:50%}.actions[data-v-fb29af9f]{display:flex;align-items:center;gap:6px;margin-top:2px}.action-btn[data-v-fb29af9f]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;color:#6b7280;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s}.action-btn[data-v-fb29af9f]:hover{color:#4f46e5;background:#f3f4f6;border-color:#e5e7eb}.meta[data-v-fb29af9f]{margin-left:auto;font-size:11.5px;color:#9ca3af}@media (max-width: 768px){.content-user[data-v-fb29af9f]{max-width:88%}}.composer-wrapper[data-v-a9f4842e]{padding:12px 20px 20px;background:linear-gradient(to bottom,#fff0,#fff 28%)}.composer[data-v-a9f4842e]{max-width:860px;margin:0 auto;padding:10px 12px 8px;background:#fff;border:1px solid #e3e5e9;border-radius:14px;box-shadow:0 2px 12px #1118270d;transition:border-color .15s,box-shadow .15s}.composer.focused[data-v-a9f4842e]{border-color:#a5b4fc;box-shadow:0 2px 16px #4f46e524}.composer-input[data-v-a9f4842e]{display:block;width:100%;max-height:200px;padding:4px 4px 8px;font-family:inherit;font-size:15px;line-height:1.6;color:#1f2328;background:transparent;border:none;outline:none;resize:none;overflow-y:auto}.composer-input[data-v-a9f4842e]::placeholder{color:#9ca3af}.composer-input[data-v-a9f4842e]:disabled{color:#6b7280;cursor:not-allowed}.composer-footer[data-v-a9f4842e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-hint[data-v-a9f4842e]{font-size:11.5px;color:#9ca3af;-webkit-user-select:none;user-select:none}.composer-left[data-v-a9f4842e]{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden}.model-select-inline[data-v-a9f4842e]{max-width:220px;padding:3px 6px;font-family:inherit;font-size:12.5px;color:#4b5563;background:#f6f7f9;border:1px solid transparent;border-radius:7px;outline:none;cursor:pointer;transition:border-color .15s,background .15s}.model-select-inline[data-v-a9f4842e]:hover{border-color:#d8dbe0;background:#f0f1f4}.model-select-inline[data-v-a9f4842e]:focus{border-color:#a5b4fc;background:#fff}.send-btn[data-v-a9f4842e],.stop-btn[data-v-a9f4842e]{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;min-width:30px;padding:0 10px;font-size:13px;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s}.send-btn[data-v-a9f4842e]{background:linear-gradient(135deg,#4f7cff,#7c5ce7)}.send-btn[data-v-a9f4842e]:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 2px 10px #4f7cff59}.send-btn[data-v-a9f4842e]:disabled{color:#9ca3af;background:#eef0f3;cursor:not-allowed}.stop-btn[data-v-a9f4842e]{background:#4b5563}.stop-btn[data-v-a9f4842e]:hover{background:#374151}@media (max-width: 768px){.composer-wrapper[data-v-a9f4842e]{padding:10px 12px 14px}.composer-hint[data-v-a9f4842e]{display:none}.model-select-inline[data-v-a9f4842e]{max-width:150px}}.welcome[data-v-12563664]{display:flex;flex-direction:column;align-items:center;width:100%;max-width:860px;margin:0 auto;padding:6vh 20px 20px}.welcome-head[data-v-12563664]{text-align:center}.welcome-logo[data-v-12563664]{display:inline-flex;margin-bottom:16px}.welcome-title[data-v-12563664]{font-size:26px;font-weight:650;color:#111827;letter-spacing:-.01em}.welcome-sub[data-v-12563664]{max-width:520px;margin:10px auto 0;font-size:14px;line-height:1.7;color:#6b7280}.model-picker[data-v-12563664]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px}.model-picker-label[data-v-12563664]{font-size:13px;color:#6b7280}.model-picker-select[data-v-12563664]{max-width:300px;padding:6px 10px;font-family:inherit;font-size:13px;color:#374151;background:#fff;border:1px solid #e3e5e9;border-radius:8px;outline:none;cursor:pointer}.model-picker-select[data-v-12563664]:focus{border-color:#a5b4fc}.suggestions[data-v-12563664]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:32px}.suggestion[data-v-12563664]{display:flex;align-items:flex-start;gap:10px;padding:14px;text-align:left;background:#fff;border:1px solid #e6e8eb;border-radius:12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.suggestion[data-v-12563664]:hover{border-color:#c7d2fe;box-shadow:0 4px 16px #4f46e514;transform:translateY(-1px)}.suggestion-icon[data-v-12563664]{flex:none;font-size:18px;line-height:1.4}.suggestion-body[data-v-12563664]{display:flex;flex-direction:column;gap:3px;min-width:0}.suggestion-title[data-v-12563664]{font-size:14px;font-weight:600;color:#1f2328}.suggestion-desc[data-v-12563664]{font-size:12.5px;line-height:1.55;color:#6b7280}@media (max-width: 768px){.welcome[data-v-12563664]{padding:3vh 16px 16px}.welcome-title[data-v-12563664]{font-size:21px}.suggestions[data-v-12563664]{grid-template-columns:1fr}}.chat-view[data-v-3e15fe0d]{display:flex;height:100%;overflow:hidden;background:#fff}.mobile-overlay[data-v-3e15fe0d]{display:none}.chat-main[data-v-3e15fe0d]{display:flex;flex-direction:column;flex:1;min-width:0;height:100%}.chat-header[data-v-3e15fe0d]{display:flex;align-items:center;gap:10px;flex:none;height:52px;padding:0 20px;border-bottom:1px solid #eceef1;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-title[data-v-3e15fe0d]{flex:1;min-width:0;font-size:14.5px;font-weight:550;color:#1f2328;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions[data-v-3e15fe0d]{display:flex;align-items:center;gap:8px;flex:none}.text-btn[data-v-3e15fe0d]{padding:5px 10px;font-size:12.5px;color:#6b7280;background:transparent;border:1px solid #e3e5e9;border-radius:7px;cursor:pointer;transition:all .15s}.text-btn[data-v-3e15fe0d]:hover{color:#4f46e5;border-color:#c7d2fe;background:#f5f6ff}.icon-btn[data-v-3e15fe0d]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;color:#4b5563;background:transparent;border:none;border-radius:7px;cursor:pointer}.icon-btn[data-v-3e15fe0d]:hover{background:#f1f2f4}.menu-btn[data-v-3e15fe0d]{display:none}.messages-scroll[data-v-3e15fe0d]{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.messages-inner[data-v-3e15fe0d]{max-width:860px;margin:0 auto;padding:20px 20px 8px}.global-error[data-v-3e15fe0d]{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;color:#a1260d;background:#fef3f2;border:1px solid #fbd3cd;border-radius:10px}.error-icon[data-v-3e15fe0d]{flex:none;display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:11px;font-weight:700;color:#fff;background:#d64545;border-radius:50%}.error-close[data-v-3e15fe0d]{margin-left:auto;width:20px;height:20px;font-size:15px;line-height:1;color:#a1260d;background:transparent;border:none;border-radius:50%;cursor:pointer}.error-close[data-v-3e15fe0d]:hover{background:#d645451f}@media (max-width: 768px){.chat-header[data-v-3e15fe0d]{padding:0 12px}.menu-btn[data-v-3e15fe0d]{display:flex}.mobile-overlay[data-v-3e15fe0d]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#11182759}.messages-inner[data-v-3e15fe0d]{padding:14px 12px 8px}}.login-page[data-v-08ae1002]{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#eef2ff,#f8fafc)}.login-card[data-v-08ae1002]{width:360px;padding:36px 32px 32px;background:#fff;border:1px solid #eceef1;border-radius:16px;box-shadow:0 12px 40px #1f232814}.login-brand[data-v-08ae1002]{display:flex;align-items:center;gap:10px}.logo[data-v-08ae1002]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:20px;font-weight:700;color:#fff;background:#4f46e5;border-radius:10px}.login-title[data-v-08ae1002]{margin:0;font-size:20px;font-weight:650;color:#1f2328}.login-sub[data-v-08ae1002]{margin:6px 0 24px;font-size:13px;color:#8a909a}.field[data-v-08ae1002]{display:block;margin-bottom:16px}.field-label[data-v-08ae1002]{display:block;margin-bottom:6px;font-size:13px;color:#4b5563}.field-input[data-v-08ae1002]{width:100%;height:40px;padding:0 12px;font-size:14px;color:#1f2328;background:#f9fafb;border:1px solid #e3e5e9;border-radius:9px;outline:none;transition:all .15s;box-sizing:border-box}.field-input[data-v-08ae1002]:focus{background:#fff;border-color:#c7d2fe;box-shadow:0 0 0 3px #4f46e51f}.login-error[data-v-08ae1002]{margin:0 0 12px;font-size:13px;color:#d64545}.login-btn[data-v-08ae1002]{width:100%;height:42px;font-size:15px;font-weight:600;color:#fff;background:#4f46e5;border:none;border-radius:9px;cursor:pointer;transition:background .15s}.login-btn[data-v-08ae1002]:hover{background:#4338ca}.login-btn[data-v-08ae1002]:disabled{opacity:.6;cursor:not-allowed}.user-page[data-v-7753e6c1]{height:100%;padding:24px 28px;overflow:auto;background:#f7f8fa;box-sizing:border-box}.page-head[data-v-7753e6c1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-title[data-v-7753e6c1]{margin:0;font-size:18px;font-weight:600;color:#1f2328}.page-error[data-v-7753e6c1]{margin:0 0 12px;color:#d64545;font-size:13px}.primary-btn[data-v-7753e6c1]{height:36px;padding:0 16px;font-size:13.5px;font-weight:600;color:#fff;background:#4f46e5;border:none;border-radius:8px;cursor:pointer}.primary-btn[data-v-7753e6c1]:hover{background:#4338ca}.primary-btn[data-v-7753e6c1]:disabled{opacity:.6;cursor:not-allowed}.text-btn[data-v-7753e6c1]{height:36px;padding:0 16px;font-size:13.5px;color:#4b5563;background:#fff;border:1px solid #e3e5e9;border-radius:8px;cursor:pointer}.text-btn[data-v-7753e6c1]:hover{border-color:#c7d2fe;color:#4f46e5}.table-wrap[data-v-7753e6c1]{background:#fff;border:1px solid #eceef1;border-radius:12px;overflow:hidden}.user-table[data-v-7753e6c1]{width:100%;border-collapse:collapse;font-size:13px;color:#1f2328}.user-table th[data-v-7753e6c1],.user-table td[data-v-7753e6c1]{padding:12px 14px;text-align:left;border-bottom:1px solid #f0f1f3;white-space:nowrap}.user-table th[data-v-7753e6c1]{font-weight:600;color:#6b7280;background:#fafbfc}.user-table tbody tr[data-v-7753e6c1]:hover{background:#f9fafb}.col-action[data-v-7753e6c1]{text-align:right}.empty[data-v-7753e6c1]{text-align:center;color:#9aa1ab;padding:32px 0}.role-tag[data-v-7753e6c1]{display:inline-block;padding:2px 8px;font-size:12px;border-radius:6px}.r-user[data-v-7753e6c1]{color:#2563eb;background:#eff6ff}.r-admin[data-v-7753e6c1]{color:#b45309;background:#fffbeb}.r-super[data-v-7753e6c1]{color:#7c3aed;background:#f5f3ff}.status-dot[data-v-7753e6c1]{font-size:12.5px}.status-dot.on[data-v-7753e6c1]{color:#16a34a}.status-dot.off[data-v-7753e6c1]{color:#9aa1ab}.link-btn[data-v-7753e6c1]{margin-left:10px;font-size:13px;color:#4f46e5;background:none;border:none;cursor:pointer}.link-btn[data-v-7753e6c1]:hover{text-decoration:underline}.link-btn.danger[data-v-7753e6c1]{color:#d64545}.modal-mask[data-v-7753e6c1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182766;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-7753e6c1]{width:420px;max-height:90vh;overflow:auto;padding:24px;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0003}.modal-title[data-v-7753e6c1]{margin:0 0 18px;font-size:16px;font-weight:600}.field[data-v-7753e6c1]{display:block;margin-bottom:14px}.field-label[data-v-7753e6c1]{display:block;margin-bottom:6px;font-size:12.5px;color:#4b5563}.field-input[data-v-7753e6c1]{width:100%;height:38px;padding:0 12px;font-size:13.5px;color:#1f2328;background:#f9fafb;border:1px solid #e3e5e9;border-radius:8px;outline:none;box-sizing:border-box}.field-input[data-v-7753e6c1]:focus{background:#fff;border-color:#c7d2fe;box-shadow:0 0 0 3px #4f46e51f}.form-error[data-v-7753e6c1]{margin:0 0 12px;color:#d64545;font-size:13px}.modal-actions[data-v-7753e6c1]{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}:root{--td-primary: #4f46e5;--td-primary-light: #eef2ff;--td-border: #e6e8eb;--td-text: #1f2328;--td-text-muted: #6b7280;--td-bg: #ffffff;--td-bg-subtle: #f7f8fa}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:15px;color:var(--td-text);background:var(--td-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit}button{cursor:pointer}button,a,input,textarea,select,[role=button]{touch-action:manipulation}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d4d7dd;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b9bec7}*{scrollbar-width:thin;scrollbar-color:#d4d7dd transparent}::selection{background:#4f46e52e}
