:root{--bg-deep:#0f2a24;--bg-mid:#163a32;--bg-soft:#1e4a40;--panel:#f7f3e9f0;--panel-solid:#f7f3e9;--ink:#1a2e28;--ink-muted:#5a6f68;--line:#1a2e281f;--accent:#c45c26;--accent-hover:#a84b1c;--teal:#2f7a6b;--teal-soft:#d8ebe5;--danger:#b42318;--shadow:0 18px 50px #081c1647;--radius:18px;color:var(--ink);background:var(--bg-deep);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.55}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:radial-gradient(80% 50% at 10% 0,#c45c2638,#0000 55%),radial-gradient(70% 45% at 90% 10%,#2f7a6b59,#0000 50%),linear-gradient(160deg,#0c221d 0%,#14352d 45%,#1a4339 100%);min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#1a2e2840;border-radius:999px}.app-shell[data-v-43046afe]{max-width:1280px;min-height:100vh;margin:0 auto;padding:28px 20px 36px}.topbar[data-v-43046afe]{color:#f4efe4;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.brand[data-v-43046afe]{align-items:center;gap:14px;display:flex}.brand-mark[data-v-43046afe]{background:linear-gradient(135deg,#c45c26 0%,#e08a4f 45%,#2f7a6b 100%);border-radius:14px;width:46px;height:46px;animation:3.6s ease-in-out infinite pulse-43046afe;box-shadow:0 10px 24px #c45c2659}.brand h1[data-v-43046afe]{letter-spacing:.04em;margin:0;font-family:ZCOOL XiaoWei,Noto Sans SC,serif;font-size:2rem;font-weight:400}.brand p[data-v-43046afe]{opacity:.78;margin:2px 0 0;font-size:.92rem}.top-actions[data-v-43046afe]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.status[data-v-43046afe]{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.88rem;display:flex}.status .dot[data-v-43046afe]{background:#c45c26;border-radius:50%;width:8px;height:8px}.status.online .dot[data-v-43046afe]{background:#57c39a;box-shadow:0 0 0 4px #57c39a2e}.status .meta[data-v-43046afe]{opacity:.7}.settings-trigger-btn[data-v-43046afe]{color:#f7d7c4;background:#c45c262e;border:1px solid #c45c2673;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:500;transition:all .2s;display:inline-flex}.settings-trigger-btn[data-v-43046afe]:hover{color:#fff;background:#c45c2659;border-color:#e08a4f;transform:translateY(-1px)}.layout[data-v-43046afe]{grid-template-columns:360px 1fr;gap:18px;min-height:calc(100vh - 140px);display:grid}.panel[data-v-43046afe]{background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #ffffff59;overflow:hidden}.sidebar[data-v-43046afe]{flex-direction:column;min-height:640px;display:flex}.tabs[data-v-43046afe]{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.tabs.three-tabs[data-v-43046afe]{grid-template-columns:repeat(3,1fr)}.tabs button[data-v-43046afe]{color:var(--ink-muted);background:0 0;border:0;padding:13px 6px;font-size:.88rem}.tabs button.active[data-v-43046afe]{color:var(--teal);box-shadow:inset 0 -2px 0 var(--teal);font-weight:600}.pane[data-v-43046afe]{flex:1;padding:14px;overflow:auto}.attendance-pane[data-v-43046afe]{flex-direction:column;gap:12px;display:flex}.att-filter-box[data-v-43046afe]{border:1px solid var(--line);background:#ffffffb3;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.quick-tags[data-v-43046afe]{flex-direction:column;gap:6px;display:flex}.quick-label[data-v-43046afe]{color:var(--ink-muted);font-size:.75rem}.tag-chips[data-v-43046afe]{flex-wrap:wrap;gap:5px;display:flex}.tag-chip[data-v-43046afe]{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:3px 8px;font-size:.76rem;transition:all .15s}.tag-chip.active[data-v-43046afe]{background:var(--teal);color:#fff;border-color:var(--teal)}.filter-inputs[data-v-43046afe]{flex-direction:column;gap:6px;display:flex}.att-field[data-v-43046afe]{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;width:100%;padding:6px 10px;font-size:.82rem}.att-field[data-v-43046afe]:focus{border-color:var(--teal)}.filter-row-two[data-v-43046afe]{grid-template-columns:1fr 1.2fr;gap:6px;display:grid}.filter-btn-row[data-v-43046afe]{gap:8px;margin-top:2px;display:flex}.att-search-btn[data-v-43046afe]{background:var(--teal);color:#fff;border:0;border-radius:8px;flex:1;padding:6px 10px;font-size:.82rem;font-weight:500}.att-reset-btn[data-v-43046afe]{border:1px solid var(--line);color:var(--ink-muted);background:#fff;border-radius:8px;padding:6px 12px;font-size:.82rem}.att-initial-tip[data-v-43046afe]{text-align:center;border:1.5px dashed var(--line);background:#ffffff73;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;margin-top:4px;padding:32px 16px;display:flex}.att-initial-tip .tip-icon[data-v-43046afe]{opacity:.85;margin-bottom:8px;font-size:2.2rem}.att-initial-tip strong[data-v-43046afe]{color:var(--ink);margin-bottom:6px;font-size:.95rem}.att-initial-tip p[data-v-43046afe]{color:var(--ink-muted);max-width:280px;margin:0;font-size:.8rem;line-height:1.5}.att-stat-strip[data-v-43046afe]{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.stat-pill[data-v-43046afe]{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;padding:3px 8px;font-size:.74rem}.pill-normal[data-v-43046afe]{color:#166534;background:#e6f9f0;border-color:#bbf7d0}.pill-late[data-v-43046afe]{color:#9a3412;background:#fff7ed;border-color:#ffedd5}.pill-leave[data-v-43046afe]{color:#1e40af;background:#eff6ff;border-color:#dbeafe}.pill-early[data-v-43046afe]{color:#6b21a8;background:#faf5ff;border-color:#f3e8ff}.att-card-list[data-v-43046afe]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.att-card[data-v-43046afe]{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;box-shadow:0 2px 6px #00000005}.card-head[data-v-43046afe]{justify-content:space-between;align-items:center;display:flex}.st-main[data-v-43046afe]{flex-direction:column;display:flex}.st-main strong[data-v-43046afe]{color:var(--ink);font-size:.92rem}.st-main span[data-v-43046afe]{color:var(--ink-muted);font-size:.75rem}.status-badge[data-v-43046afe]{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:500}.badge-normal[data-v-43046afe]{color:#15803d;background:#dcfce7}.badge-late[data-v-43046afe]{color:#c2410c;background:#ffedd5}.badge-leave[data-v-43046afe]{color:#1d4ed8;background:#dbeafe}.badge-early[data-v-43046afe]{color:#7e22ce;background:#f3e8ff}.badge-other[data-v-43046afe]{color:#4b5563;background:#f3f4f6}.card-body[data-v-43046afe]{background:#faf8f5;border-radius:8px;grid-template-columns:1fr 1fr 1fr;gap:6px;padding:6px 8px;display:grid}.time-item[data-v-43046afe]{flex-direction:column;gap:2px;display:flex}.time-lbl[data-v-43046afe]{color:var(--ink-muted);font-size:.7rem}.time-val[data-v-43046afe]{color:var(--ink);font-family:monospace;font-size:.78rem}.in-val[data-v-43046afe]{color:#15803d;font-weight:600}.out-val[data-v-43046afe]{color:#c2410c;font-weight:600}.card-remark[data-v-43046afe]{color:#555;background:#fdfaf3;border-radius:6px;align-items:flex-start;gap:4px;padding:4px 6px;font-size:.76rem;line-height:1.35;display:flex}.rem-icon[data-v-43046afe]{font-size:.8rem}.embedding-summary-card[data-v-43046afe]{cursor:pointer;background:#2f7a6b14;border:1px solid #2f7a6b38;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;transition:background .2s;display:flex}.embedding-summary-card[data-v-43046afe]:hover{background:#2f7a6b26}.summary-info[data-v-43046afe]{flex-direction:column;min-width:0;display:flex}.summary-info .label[data-v-43046afe]{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.summary-info .val[data-v-43046afe]{color:var(--teal);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.summary-info .subval[data-v-43046afe]{color:var(--ink-muted);font-family:monospace;font-size:.72rem}.mini-config-btn[data-v-43046afe]{color:var(--teal);white-space:nowrap;background:#fff;border:1px solid #2f7a6b59;border-radius:6px;padding:3px 8px;font-size:.75rem}.upload-box[data-v-43046afe]{text-align:center;cursor:pointer;background:linear-gradient(#eef7f3,#f7f3e9);border:1.5px dashed #2f7a6b73;border-radius:14px;margin-bottom:14px;padding:18px 14px;transition:transform .2s,border-color .2s}.upload-box[data-v-43046afe]:hover{border-color:var(--teal);transform:translateY(-1px)}.upload-box strong[data-v-43046afe]{margin-bottom:4px;display:block}.upload-box span[data-v-43046afe],.upload-box em[data-v-43046afe]{color:var(--ink-muted);font-size:.86rem;font-style:normal;display:block}.doc-list[data-v-43046afe],.chat-list[data-v-43046afe]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.doc-list li[data-v-43046afe],.chat-list li[data-v-43046afe]{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.chat-list li[data-v-43046afe]{cursor:pointer}.chat-list li.active[data-v-43046afe]{background:var(--teal-soft);border-color:#2f7a6b73}.doc-main[data-v-43046afe],.chat-list li>div[data-v-43046afe]{flex-direction:column;gap:2px;min-width:0;display:flex}.doc-main strong[data-v-43046afe],.chat-list li strong[data-v-43046afe]{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.doc-main span[data-v-43046afe],.chat-list li span[data-v-43046afe]{color:var(--ink-muted);font-size:.78rem}.empty[data-v-43046afe]{color:var(--ink-muted);text-align:center;padding:16px;font-size:.84rem;background:0 0!important;border-style:dashed!important;justify-content:center!important}.chat[data-v-43046afe]{flex-direction:column;min-height:640px;display:flex}.chat-head[data-v-43046afe]{border-bottom:1px solid var(--line);padding:18px 20px 12px}.chat-head h2[data-v-43046afe]{margin:0;font-size:1.15rem}.chat-head p[data-v-43046afe]{color:var(--ink-muted);margin:4px 0 0;font-size:.88rem}.messages[data-v-43046afe]{background:linear-gradient(180deg, #ffffff59, transparent 120px), var(--panel-solid);flex-direction:column;flex:1;gap:14px;padding:18px 20px;display:flex;overflow:auto}.welcome[data-v-43046afe]{text-align:center;max-width:540px;margin:auto;animation:.5s fadeUp-43046afe}.welcome h3[data-v-43046afe]{margin:0 0 8px;font-family:ZCOOL XiaoWei,serif;font-size:1.6rem;font-weight:400}.welcome p[data-v-43046afe]{color:var(--ink-muted)}.suggestions[data-v-43046afe]{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.suggestions button[data-v-43046afe]{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:8px 12px;font-size:.84rem;transition:background .2s,transform .2s}.suggestions button[data-v-43046afe]:hover{background:var(--teal-soft);transform:translateY(-1px)}.bubble[data-v-43046afe]{max-width:min(760px,92%);animation:.35s fadeUp-43046afe}.bubble.user[data-v-43046afe]{align-self:flex-end}.bubble.assistant[data-v-43046afe]{align-self:flex-start}.bubble .role[data-v-43046afe]{color:var(--ink-muted);align-items:center;margin-bottom:4px;font-size:.75rem;display:flex}.meta-tag[data-v-43046afe]{color:#1a7452;background:#d1f2e5;border-radius:4px;margin-left:8px;padding:1px 6px;font-size:.7rem}.bubble .content[data-v-43046afe]{white-space:pre-wrap;word-break:break-word;border-radius:14px;padding:12px 14px;line-height:1.65}.bubble.user .content[data-v-43046afe]{color:#fff;background:linear-gradient(135deg,#2f7a6b,#3f9483);border-bottom-right-radius:4px}.bubble.assistant .content[data-v-43046afe]{border:1px solid var(--line);background:#fff;border-bottom-left-radius:4px}.bubble.typing .content[data-v-43046afe]{color:var(--ink-muted)}.composer[data-v-43046afe]{border-top:1px solid var(--line);background:#ffffff8c;grid-template-columns:1fr auto;gap:10px;padding:14px 16px 16px;display:grid}.composer textarea[data-v-43046afe]{resize:none;border:1px solid var(--line);background:#fff;border-radius:12px;outline:none;padding:12px 14px}.composer textarea[data-v-43046afe]:focus{border-color:#2f7a6b8c;box-shadow:0 0 0 3px #2f7a6b1f}.primary[data-v-43046afe]{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:10px 16px;font-weight:600;transition:background .2s,transform .2s}.primary[data-v-43046afe]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.primary[data-v-43046afe]:disabled{opacity:.55;cursor:not-allowed}.primary.block[data-v-43046afe]{width:100%;margin-bottom:12px}.send[data-v-43046afe]{align-self:end;min-width:96px}.ghost[data-v-43046afe]{color:var(--ink-muted);background:0 0;border:0;padding:2px 4px;font-size:.8rem}.ghost.danger[data-v-43046afe]:hover{color:var(--danger)}.error[data-v-43046afe]{color:var(--danger);background:#fdecea;border-radius:10px;margin:0 16px;padding:10px 12px;font-size:.88rem}.modal-backdrop[data-v-43046afe]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0c221db8;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn-43046afe;display:flex;position:fixed;inset:0}.modal-box[data-v-43046afe]{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:760px;max-height:90vh;animation:.25s scaleUp-43046afe;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000059}.modal-header[data-v-43046afe]{border-bottom:1px solid var(--line);background:#fbf9f4;justify-content:space-between;align-items:flex-start;padding:18px 24px;display:flex}.title-wrap[data-v-43046afe]{align-items:center;gap:12px;display:flex}.title-wrap .icon[data-v-43046afe]{font-size:1.8rem}.title-wrap h3[data-v-43046afe]{color:var(--ink);margin:0;font-size:1.25rem}.title-wrap p[data-v-43046afe]{color:var(--ink-muted);margin:4px 0 0;font-size:.82rem}.modal-close[data-v-43046afe]{color:var(--ink-muted);background:0 0;border:0;border-radius:6px;padding:4px;font-size:1.3rem}.modal-close[data-v-43046afe]:hover{color:var(--ink);background:#0000000f}.modal-body[data-v-43046afe]{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.section-label[data-v-43046afe]{color:var(--ink);font-size:.88rem;font-weight:600}.preset-grid[data-v-43046afe]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.preset-card[data-v-43046afe]{border:1.5px solid var(--line);cursor:pointer;background:#faf8f3;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;transition:all .2s;display:flex}.preset-card[data-v-43046afe]:hover{border-color:var(--teal);background:#f1f8f5;transform:translateY(-1px)}.preset-card.selected[data-v-43046afe]{border-color:var(--teal);background:var(--teal-soft);box-shadow:0 0 0 1.5px var(--teal)}.preset-top[data-v-43046afe]{justify-content:space-between;align-items:center;gap:6px;display:flex}.preset-label[data-v-43046afe]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.badge[data-v-43046afe]{color:#1a7452;white-space:nowrap;background:#d1f2e5;border-radius:999px;padding:2px 6px;font-size:.68rem;font-weight:500}.badge.warn[data-v-43046afe]{color:#c45c26;background:#fde8e4}.preset-desc[data-v-43046afe]{color:var(--ink-muted);font-size:.74rem;line-height:1.35}.preset-model[data-v-43046afe]{color:#555;margin-top:2px;font-family:monospace;font-size:.72rem}.form-container[data-v-43046afe]{border:1px solid var(--line);background:#fbf9f4;border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.form-row[data-v-43046afe]{flex-direction:column;gap:6px;display:flex}.form-row label[data-v-43046afe]{color:var(--ink);font-size:.84rem;font-weight:600}.form-control[data-v-43046afe]{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:9px 12px;font-size:.88rem;transition:border-color .2s}.form-control[data-v-43046afe]:focus{border-color:var(--teal);box-shadow:0 0 0 3px #2f7a6b1f}.input-with-eye[data-v-43046afe]{align-items:center;display:flex;position:relative}.input-with-eye .form-control[data-v-43046afe]{flex:1;padding-right:42px}.eye-btn[data-v-43046afe]{cursor:pointer;opacity:.7;background:0 0;border:0;padding:4px;font-size:1.1rem;position:absolute;right:8px}.eye-btn[data-v-43046afe]:hover{opacity:1}.notice-box[data-v-43046afe]{color:#7a5405;background:#fff9e6;border:1px solid #fedf89;border-radius:12px;gap:10px;padding:12px 14px;font-size:.82rem;line-height:1.5;display:flex}.notice-icon[data-v-43046afe]{flex-shrink:0;font-size:1.2rem}.result-alert[data-v-43046afe]{border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;display:flex}.result-alert.success[data-v-43046afe]{color:#027a48;background:#ecfdf3;border:1px solid #a6f4c5}.result-alert.error[data-v-43046afe]{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.modal-footer[data-v-43046afe]{border-top:1px solid var(--line);background:#fbf9f4;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.footer-left[data-v-43046afe],.footer-right[data-v-43046afe]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-test[data-v-43046afe]{color:var(--teal);background:#fff;border:1px solid #2f7a6b66;border-radius:10px;padding:9px 14px;font-size:.86rem;font-weight:500;transition:all .2s}.btn-test[data-v-43046afe]:hover:not(:disabled){background:var(--teal-soft);border-color:var(--teal)}.btn-secondary[data-v-43046afe]{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:9px 14px;font-size:.86rem;font-weight:500;transition:all .2s}.btn-secondary[data-v-43046afe]:hover:not(:disabled){background:#eee}.btn-cancel[data-v-43046afe]{color:var(--ink-muted);background:0 0;border:0;padding:9px 12px;font-size:.86rem}.btn-cancel[data-v-43046afe]:hover{color:var(--ink)}.btn-primary-highlight[data-v-43046afe]{color:#fff;background:linear-gradient(135deg,#c45c26,#df7938);border:0;border-radius:10px;padding:9px 16px;font-size:.86rem;font-weight:600;transition:all .2s;box-shadow:0 4px 14px #c45c2659}.btn-primary-highlight[data-v-43046afe]:hover:not(:disabled){background:linear-gradient(135deg,#a84b1c,#c45c26);transform:translateY(-1px)}.btn-primary-highlight[data-v-43046afe]:disabled,.btn-test[data-v-43046afe]:disabled,.btn-secondary[data-v-43046afe]:disabled{opacity:.55;cursor:not-allowed}@keyframes fadeIn-43046afe{0%{opacity:0}to{opacity:1}}@keyframes scaleUp-43046afe{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes fadeUp-43046afe{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-43046afe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (width<=960px){.layout[data-v-43046afe]{grid-template-columns:1fr}.sidebar[data-v-43046afe],.chat[data-v-43046afe]{min-height:auto}.messages[data-v-43046afe]{min-height:420px}.topbar[data-v-43046afe]{flex-direction:column;align-items:flex-start}}
