@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sidebar-w:260px;--topbar-h:64px;--bg:#0f1117;--bg-card:#181b23;--bg-card-hover:#1e2230;--bg-sidebar:#14161e;--border:#ffffff0f;--border-hover:#ffffff1f;--border-active:#6384ff66;--text:#e8eaf0;--text-muted:#7a8299;--text-dim:#505669;--brand:#6384ff;--brand-glow:#6384ff26;--brand-soft:#6384ff14;--ok:#3dd68c;--ok-bg:#3dd68c1a;--warn:#f5a623;--warn-bg:#f5a6231a;--danger:#e55b5b;--danger-bg:#e55b5b1a;--radius:12px;--radius-sm:8px;--shadow:0 8px 32px #0000004d;--transition:.2s cubic-bezier(.4,0,.2,1);--input-bg:#ffffff0a;--surface-subtle:#ffffff05;--surface-hover:#ffffff0a;--surface-hover-strong:#ffffff14;--overlay:#00000080;--overlay-strong:#0009;--page-header-bg:#0f1117cc;--code-bg:#0000004d;--code-text:#c4c9d8;--chart-bg:#00000026;--select-option-bg:#252a35;--select-option-color:#e8eaf0;--nav-active-text:#fff;--auth-card-bg:#181b23e6;--auth-aside-bg:#ffffff05;--scrollbar-thumb:#ffffff1a;--scrollbar-thumb-hover:#fff3;--metric-text-gradient:linear-gradient(135deg, #e8eaf0, #b0b8d0);--sentiment-neutral:#ffffff1f}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f0f2f7;--bg-card:#fff;--bg-card-hover:#f5f7fc;--bg-sidebar:#fff;--border:#00000014;--border-hover:#00000024;--border-active:#6384ff73;--text:#1a1d26;--text-muted:#5c6478;--text-dim:#8b93a8;--brand-glow:#6384ff2e;--brand-soft:#6384ff1a;--ok-bg:#3dd68c1f;--warn-bg:#f5a6231f;--danger-bg:#e55b5b1a;--shadow:0 8px 32px #0f172a14;--input-bg:#fff;--surface-subtle:#00000005;--surface-hover:#0000000a;--surface-hover-strong:#0000000f;--overlay:#0f172a59;--overlay-strong:#0f172a73;--page-header-bg:#ffffffeb;--code-bg:#f4f6fb;--code-text:#2d3348;--chart-bg:#6384ff0f;--select-option-bg:#fff;--select-option-color:#1a1d26;--nav-active-text:var(--brand);--auth-card-bg:#fffffff5;--auth-aside-bg:#6384ff0a;--scrollbar-thumb:#0000001f;--scrollbar-thumb-hover:#00000038;--metric-text-gradient:linear-gradient(135deg, #1a1d26, #5c6478);--sentiment-neutral:#0000001f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}.app-layout{height:100vh;display:flex}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:20;flex-direction:column;display:flex;overflow:hidden auto}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px 20px 16px;display:flex}.sidebar-brand-icon{color:#fff;background:linear-gradient(135deg,#6384ff,#8b5cf6);border-radius:12px;place-items:center;width:40px;height:40px;font-size:16px;font-weight:800;display:grid;box-shadow:0 4px 16px #6384ff4d}.sidebar-brand h2{font-size:15px;font-weight:700;line-height:1.3}.sidebar-brand p{color:var(--text-muted);margin-top:2px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);transition:var(--transition);cursor:pointer;border:1px solid #0000;align-items:center;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{color:var(--text);background:var(--surface-hover)}.nav-item.active{color:var(--nav-active-text);background:var(--brand-soft);border-color:var(--border-active);box-shadow:0 0 20px var(--brand-glow)}.nav-item.active svg{color:var(--brand)}.nav-item svg{flex-shrink:0;width:18px;height:18px}.nav-section-divider{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-top:4px;padding:10px 14px 4px;font-size:10px;font-weight:700;display:flex}.nav-section-divider:after{content:"";background:var(--border);flex:1;height:1px}.sidebar-footer{border-top:1px solid var(--border);align-items:center;gap:10px;padding:16px;display:flex}.sidebar-avatar{color:#fff;background:linear-gradient(135deg,#6384ff,#8b5cf6);border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.sidebar-footer-info strong{font-size:13px;display:block}.sidebar-footer-info span{color:var(--text-muted);font-size:11px}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.page-header{border-bottom:1px solid var(--border);background:var(--page-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px 16px;display:flex}.page-header h1{font-size:22px;font-weight:700}.page-header p{color:var(--text-muted);margin-top:2px;font-size:13px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.page-body{flex:1;padding:24px 28px 40px;overflow:hidden auto}.btn{border-radius:var(--radius-sm);cursor:pointer;height:36px;transition:var(--transition);white-space:nowrap;vertical-align:middle;border:none;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.btn svg{flex-shrink:0;width:16px;height:16px}.btn-primary{color:#fff;background:linear-gradient(135deg,#6384ff,#7c5cfc);box-shadow:0 4px 16px #6384ff40}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-ghost{background:var(--surface-hover);color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-hover-strong);color:var(--text);border-color:var(--border-hover)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #e55b5b33}.btn-danger:hover{background:#e55b5b2e}.btn-sm{height:28px;padding:0 10px;font-size:12px}.btn-sm svg{width:14px;height:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);padding:20px}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-header h2{font-size:16px;font-weight:600}.card-header-title{align-items:center;gap:8px;display:flex}.card-header-title h2{margin:0}.metric-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);padding:20px;position:relative;overflow:hidden}.metric-card:before{content:"";background:linear-gradient(90deg, var(--brand), #8b5cf6);opacity:0;height:2px;transition:var(--transition);position:absolute;top:0;left:0;right:0}.metric-card:hover:before{opacity:1}.metric-card:hover{border-color:#ffffff1a}.metric-label{color:var(--text-muted);margin-bottom:8px;font-size:13px}.metric-value{letter-spacing:-.5px;font-size:32px;font-weight:800}.metric-foot{color:var(--text-muted);margin-top:6px;font-size:12px}.metric-foot em{color:var(--ok);margin-left:4px;font-style:normal}.table-wrap{position:relative;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:13px}th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}tr:hover td{background:var(--surface-subtle)}td{color:var(--text);vertical-align:middle}.table-compact th,.table-compact td{font-size:12.5px;padding:10px 8px!important}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.table-wrap table th:last-child,.table-wrap table td:last-child{background:var(--bg-card);z-index:5;border-left:1px solid var(--border);position:sticky;right:0;box-shadow:-4px 0 12px #0000000d}.table-wrap table th:last-child{z-index:6}.table-wrap table tr:hover td:last-child{background:var(--bg-card-hover)!important}.table-wrap.no-sticky table th:last-child,.table-wrap.no-sticky table td:last-child{box-shadow:none!important;background:0 0!important;border-left:none!important;position:static!important}.tag-list{flex-wrap:wrap;gap:4px;display:flex}.tag{background:var(--brand-soft);color:var(--brand);border:1px solid #6384ff26;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.status-pill{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.status-pill.ok{background:var(--ok-bg);color:var(--ok)}.status-pill.warn{background:var(--warn-bg);color:var(--warn)}.status-pill.danger{background:var(--danger-bg);color:var(--danger)}.status-pill.info{background:var(--brand-soft);color:var(--brand)}.filters-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.input,.select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--input-bg);color:var(--text);transition:var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.input::placeholder{color:var(--text-dim)}.select option,select.input option,.select optgroup,select.input optgroup{background-color:var(--select-option-bg);color:var(--select-option-color)}input[type=date],input[type=datetime-local],input[type=time]{color-scheme:inherit}.drawer-overlay{background:var(--overlay);z-index:100;opacity:0;pointer-events:none;transition:opacity .3s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:all}.drawer-panel{background:var(--bg-card);border-left:1px solid var(--border);z-index:101;width:min(600px,90vw);box-shadow:var(--shadow);flex-direction:column;transition:right .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:-600px}.drawer-panel.open{right:0}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.drawer-header h2{font-size:18px;font-weight:700}.drawer-close{background:var(--surface-hover-strong);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);border:none;border-radius:8px;place-items:center;font-size:18px;display:grid}.drawer-close:hover{background:var(--surface-hover);color:var(--text);border:1px solid var(--border-hover)}.drawer-body{flex:1;padding:24px;overflow-y:auto}.detail-row{margin-bottom:12px}.detail-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px;font-size:12px;font-weight:600}.detail-value{color:var(--text);word-break:break-word;font-size:14px}.profile-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;display:grid}.profile-card{flex-direction:column;min-height:100%;display:flex}.profile-card-body{flex-direction:column;flex:1;padding:0 20px 20px;display:flex}.profile-info-list{margin:0;padding:0;list-style:none}.profile-info-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.profile-info-item:last-child{border-bottom:none}.profile-info-label{color:var(--text-muted);flex-shrink:0;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.profile-info-label svg{opacity:.75;color:var(--text-dim)}.profile-info-value{color:var(--text);text-align:right;word-break:break-word;font-size:14px;font-weight:500}.profile-edit-form,.profile-password-form{flex-direction:column;flex:1;gap:16px;display:flex}.profile-form-actions{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.profile-sessions-card{margin-top:20px}@media (width<=900px){.profile-top-grid{grid-template-columns:1fr}}.code-block{border-radius:var(--radius-sm);background:var(--code-bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;max-height:360px;color:var(--code-text);padding:14px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.6;overflow:auto}.pipeline-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px;display:grid}.pipe-step{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:var(--transition);padding:16px}.pipe-step[data-status=done]{border-color:#3dd68c4d}.pipe-step[data-status=running]{border-color:var(--border-active)}.pipe-title{margin-bottom:4px;font-size:14px;font-weight:700}.pipe-sub{color:var(--text-muted);font-size:12px}.pipe-count{color:var(--brand);margin-top:8px;font-size:20px;font-weight:700}.split-row{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.split-row-unequal{grid-template-columns:2fr 3fr;gap:20px;margin-bottom:24px;display:grid}.split-row>.card,.split-row-unequal>.card{min-width:0}.pager{justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}.pager span{color:var(--text-muted);font-size:13px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.stat-key{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.stat-val{margin-top:4px;font-size:18px;font-weight:700}.progress-bar{background:var(--surface-hover-strong);border-radius:999px;height:6px;overflow:hidden}.progress-bar>span{background:linear-gradient(90deg, var(--brand), #8b5cf6);border-radius:999px;height:100%;transition:width .5s;display:block}.settings-form{gap:16px;max-width:640px;display:grid}.settings-form-wide{max-width:100%}.setting-row label{color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.setting-row .input{width:100%}.setting-row-full{grid-column:1/-1}.setting-help{color:var(--text-dim);margin-top:4px;font-size:12px;display:block}.llm-endpoints-editor{flex-direction:column;gap:12px;width:100%;display:flex}.llm-endpoints-empty{color:var(--text-muted);margin:0;font-size:13px}.llm-endpoint-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);padding:14px}.llm-endpoint-card-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.llm-endpoint-card-header .input{flex:1;min-width:160px}.llm-endpoint-index{color:var(--text-dim);font-size:12px;font-weight:600}.llm-endpoint-drag{color:var(--text-dim);opacity:.5}.llm-endpoint-toggle{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.llm-endpoint-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.setting-help{color:var(--text-dim);margin-top:3px;font-size:11px}.email-config-card{max-width:720px}.email-config-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:0 20px 24px;display:grid}.email-config-form .setting-row-full{grid-column:1/-1}.email-config-host-row{align-items:stretch;gap:12px;display:flex}.email-config-host-row .input{flex:1;min-width:0}.email-config-host-row .email-config-port{flex-shrink:0;width:108px}.email-config-custom-block{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.email-config-options{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;grid-column:1/-1;gap:20px;padding:12px 16px;display:flex}.email-config-option{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.email-config-option input{accent-color:var(--brand)}.email-config-actions{border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;gap:10px;margin-top:4px;padding-top:16px;display:flex}@media (width<=560px){.email-config-form{grid-template-columns:1fr}.email-config-host-row{flex-direction:column}.email-config-host-row .email-config-port{width:100%}}.toast-container{z-index:9999;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-msg{border-radius:var(--radius-sm);color:#fff;box-shadow:var(--shadow);padding:10px 20px;font-size:13px;font-weight:500;animation:.3s toastIn,.3s 2s forwards toastOut}.toast-msg.success{background:linear-gradient(135deg,#1a5c3a,#1a3c2a);border:1px solid #3dd68c4d}.toast-msg.error{background:linear-gradient(135deg,#5c1a1a,#3c1a1a);border:1px solid #e55b5b4d}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;pointer-events:none}}@media (width<=1200px){.metric-grid{grid-template-columns:repeat(2,1fr)}.split-row,.split-row-unequal{grid-template-columns:1fr}}@media (width<=900px){.pipeline-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.sidebar{display:none}.metric-grid{grid-template-columns:1fr}.pipeline-grid{grid-template-columns:1fr 1fr}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.4s both fadeUp}.file-label{cursor:pointer}.file-label input[type=file]{display:none}textarea.input{resize:vertical;min-height:100px;font-family:JetBrains Mono,monospace}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.chart-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--chart-bg);padding:16px}.chart-legend{color:var(--text-muted);gap:16px;margin-top:8px;font-size:12px;display:flex}.chart-legend i{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.modal-overlay{z-index:200;padding:max(16px, env(safe-area-inset-top,0px)) 16px max(16px, env(safe-area-inset-bottom,0px));background:var(--overlay-strong);-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;animation:.2s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);flex-direction:column;margin:auto;animation:.3s fadeUp;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 14px;display:flex}.modal-header h3{margin:0;font-size:18px;font-weight:700;line-height:1.3}.modal-close{background:var(--surface-hover-strong);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:var(--transition);border:none;border-radius:8px;flex-shrink:0;place-items:center;font-size:20px;line-height:1;display:grid}.modal-close:hover{background:var(--surface-hover);color:var(--text)}.modal-body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:16px 20px;overflow-y:auto}.modal-footer,.modal-actions{border-top:1px solid var(--border);background:var(--bg-card);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:12px 20px 18px;display:flex}.modal-box .form-group{margin-bottom:12px}.modal-box .form-group:last-child{margin-bottom:0}.modal-box .form-group label{color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-box .form-group .input,.modal-box .form-group .select,.modal-box .form-group textarea.input{width:100%}.modal-box:not(:has(.modal-body)){padding:24px;overflow-y:auto}.modal-box:not(:has(.modal-body)) h3{margin-bottom:16px;font-size:18px}.modal-box:not(:has(.modal-footer)) .modal-actions{border-top:1px solid var(--border);margin-top:0;padding-top:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.donut-chart{border-radius:50%;width:180px;height:180px;margin:0 auto;position:relative}.donut-chart:after{content:"";background:var(--bg-card);border:1px solid var(--border);border-radius:50%;position:absolute;inset:36px}.legend-grid{gap:8px;display:grid}.legend-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.legend-left{align-items:center;gap:8px;display:flex}.swatch{border-radius:50%;width:10px;height:10px}.auth-page{z-index:100;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.auth-theme-toggle{z-index:2;position:absolute;top:20px;right:20px}.auth-bg{z-index:0;background:radial-gradient(at 20%,#6384ff1f 0%,#0000 60%),radial-gradient(at 80% 20%,#8b5cf61a 0%,#0000 50%),radial-gradient(at 50% 80%,#3dd68c0f 0%,#0000 50%);animation:8s ease-in-out infinite alternate bgPulse;position:absolute;inset:0}@keyframes bgPulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.auth-container{z-index:1;width:100%;max-width:920px;padding:20px 24px;position:relative}.auth-card{background:var(--auth-card-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid #ffffff14;border-radius:20px;animation:.6s fadeUp;overflow:hidden;box-shadow:0 24px 80px #0006,0 0 40px #6384ff0f}.auth-card-layout{grid-template-columns:280px 1fr;min-height:min(480px,100dvh - 40px);max-height:calc(100dvh - 40px);display:grid}.auth-card--register .auth-card-layout{min-height:min(600px,100dvh - 40px)}.auth-aside{background:var(--auth-aside-bg);border-right:1px solid var(--border);flex-direction:column;padding:36px 28px 28px;display:flex}.auth-main{flex-direction:column;justify-content:center;min-width:0;padding:36px 40px;display:flex}.auth-card--register .auth-main{justify-content:flex-start;padding-top:32px;padding-bottom:32px}.auth-logo{text-align:left;margin-bottom:32px}.auth-logo-icon{color:#fff;background:linear-gradient(135deg,#6384ff,#8b5cf6);border-radius:16px;place-items:center;width:60px;height:60px;margin-bottom:16px;font-size:22px;font-weight:800;display:inline-grid;box-shadow:0 8px 24px #6384ff59}.auth-logo h1{margin-bottom:4px;font-size:22px;font-weight:700}.auth-logo p{color:var(--text-muted);font-size:13px}.auth-tabs{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.auth-tab{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600}.auth-tab:hover{color:var(--text);background:var(--surface-hover)}.auth-tab.active{color:var(--nav-active-text);border-color:var(--border-active);box-shadow:0 0 12px var(--brand-glow);background:linear-gradient(135deg,#6384ff40,#8b5cf62e)}.auth-form{flex-direction:column;flex:1;gap:14px;display:flex}.auth-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-field .input{width:100%;padding:12px 14px;font-size:14px}.auth-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-reg-tabs{flex-direction:column;flex:1;gap:8px;display:flex}.auth-reg-tab{border-radius:var(--radius-sm);background:var(--surface-subtle);border:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.auth-reg-tab svg{flex-shrink:0;width:15px;height:15px}.auth-reg-tab:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-hover)}.auth-reg-tab.active{color:var(--brand);background:var(--brand-soft);border-color:var(--border-active);box-shadow:0 0 12px var(--brand-glow)}.auth-phone-row{gap:8px;display:flex}.auth-phone-row .input{flex:1}.auth-code-btn{white-space:nowrap;min-width:100px;padding:8px 12px!important;font-size:12px!important}.auth-code-btn:disabled{opacity:.5;cursor:not-allowed}.auth-hint{color:var(--text-dim);border-radius:var(--radius-sm);background:#6384ff0d;border:1px solid #6384ff1a;align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:flex}.auth-hint svg{color:var(--brand);opacity:.6;flex-shrink:0}.auth-submit{border-radius:var(--radius-sm);justify-content:center;width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:700}.auth-error{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);border:1px solid #e55b5b33;margin-bottom:8px;padding:10px 14px;font-size:13px;animation:.3s fadeUp}.auth-footer{text-align:left;margin-top:auto;padding-top:20px}.auth-footer p{color:var(--text-dim);font-size:11px;line-height:1.5}.auth-main .auth-error{margin-bottom:12px}@media (width<=768px){.auth-container{max-width:520px;padding:16px}.auth-card-layout{min-height:unset;grid-template-columns:1fr}.auth-aside{border-right:none;border-bottom:1px solid var(--border);padding:24px 24px 20px}.auth-logo{text-align:center;margin-bottom:20px}.auth-tabs{flex-direction:row}.auth-tab{text-align:center}.auth-reg-tabs{flex-direction:row;flex:unset}.auth-reg-tab{flex:1;justify-content:center}.auth-footer{text-align:center;border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.auth-main{padding:24px}.auth-row{grid-template-columns:1fr}.auth-phone-row{flex-direction:column}.auth-code-btn{min-width:unset}}@media (height<=700px){.auth-card-layout{min-height:unset}.auth-aside{padding:20px}.auth-main{padding:20px 24px}.auth-form{gap:10px}.auth-field .input{padding:10px 12px}.auth-logo{margin-bottom:16px}.auth-logo-icon{width:48px;height:48px;margin-bottom:10px;font-size:18px}}.meeting-tabs{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;gap:4px;width:fit-content;margin-bottom:24px;padding:4px;display:flex}.meeting-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .25s;display:inline-flex;position:relative;overflow:hidden}.meeting-tab:before{content:"";opacity:0;border-radius:inherit;background:linear-gradient(135deg,#6384ff26,#8b5cf61a);transition:opacity .25s;position:absolute;inset:0}.meeting-tab:hover{color:var(--text)}.meeting-tab:hover:before{opacity:.5}.meeting-tab.active{color:var(--nav-active-text);box-shadow:0 2px 12px #6384ff33, inset 0 1px 0 var(--surface-hover);background:linear-gradient(135deg,#6384ff33,#8b5cf626)}.meeting-tab.active:before{opacity:1}.meeting-tab svg{flex-shrink:0;width:16px;height:16px}.meeting-tab .tab-badge{color:var(--brand);text-align:center;background:#6384ff33;border-radius:999px;min-width:18px;padding:1px 6px;font-size:10px;font-weight:700}.meeting-tab.active .tab-badge{background:var(--surface-hover-strong);color:var(--nav-active-text)}.meeting-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-bottom:24px;display:grid}.meeting-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:14px;padding:0;transition:all .3s;position:relative;overflow:hidden}.meeting-card:before{content:"";background:linear-gradient(90deg, var(--brand), #8b5cf6, #ec4899);opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.meeting-card:hover{border-color:#6384ff4d;transform:translateY(-2px);box-shadow:0 12px 40px #00000040,0 0 20px #6384ff14}.meeting-card:hover:before{opacity:1}.meeting-card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 0;display:flex}.meeting-card-head h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.meeting-card-body{padding:12px 20px 16px}.meeting-meta{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:12px;display:flex}.meeting-meta-item{align-items:center;gap:4px;display:inline-flex}.meeting-meta-item svg{opacity:.7;width:13px;height:13px}.meeting-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.meeting-avatars{margin-right:-6px;display:flex}.meeting-avatar{background:linear-gradient(135deg, var(--brand), #8b5cf6);color:#fff;border:2px solid var(--bg-card);border-radius:50%;place-items:center;width:26px;height:26px;margin-right:-6px;font-size:10px;font-weight:700;transition:transform .2s;display:grid}.meeting-avatar:hover{z-index:1;transform:scale(1.15)}.meeting-avatar.more{background:var(--surface-hover-strong);color:var(--text-muted);font-size:9px}.meeting-status{border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.meeting-status:before{content:"";border-radius:50%;width:6px;height:6px}.meeting-status.live{color:var(--ok);background:#3dd68c1f}.meeting-status.live:before{background:var(--ok);animation:1.5s ease-in-out infinite statusPulse}.meeting-status.scheduled{background:var(--brand-soft);color:var(--brand)}.meeting-status.scheduled:before{background:var(--brand)}.meeting-status.ended{background:var(--surface-subtle);color:var(--text-muted)}.meeting-status.ended:before{background:var(--text-muted)}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.meeting-empty{text-align:center;color:var(--text-muted);padding:60px 20px}.meeting-empty-icon{background:#6384ff14;border:1px solid #6384ff26;border-radius:20px;place-items:center;width:72px;height:72px;margin:0 auto 20px;display:grid}.meeting-empty-icon svg{width:32px;height:32px;color:var(--brand);opacity:.6}.meeting-empty h3{color:var(--text);margin-bottom:6px;font-size:16px}.meeting-empty p{max-width:320px;margin:0 auto;font-size:13px}.analysis-layout{grid-template-columns:320px 1fr;gap:20px;min-height:400px;display:grid}@media (width<=960px){.analysis-layout{grid-template-columns:1fr}}.analysis-sidebar{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.analysis-sidebar-head{border-bottom:1px solid var(--border);padding:16px 18px;font-size:14px;font-weight:700}.analysis-list{flex:1;padding:8px;overflow-y:auto}.analysis-item{cursor:pointer;border:1px solid #0000;border-radius:10px;margin-bottom:4px;padding:12px 14px;transition:all .2s}.analysis-item:hover{background:var(--surface-hover)}.analysis-item.active{background:var(--brand-soft);border-color:var(--border-active)}.analysis-item h4{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:13px;font-weight:600;overflow:hidden}.analysis-item .analysis-item-meta{color:var(--text-muted);gap:10px;font-size:11px;display:flex}.analysis-main{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.analysis-main-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.analysis-main-head h2{font-size:17px;font-weight:700}.analysis-main-body{flex:1;padding:24px;overflow-y:auto}.analysis-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}@media (width<=1200px){.analysis-metrics{grid-template-columns:repeat(2,1fr)}}.analysis-metric{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;padding:16px;transition:all .25s}.analysis-metric:hover{background:#6384ff0a;border-color:#6384ff40}.analysis-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;font-size:11px;font-weight:600}.analysis-metric-value{letter-spacing:-.3px;background:var(--metric-text-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800}.analysis-metric-sub{color:var(--text-muted);margin-top:4px;font-size:11px}.meeting-timeline{padding-left:28px;position:relative}.meeting-timeline:before{content:"";background:linear-gradient(180deg, var(--brand), #6384ff1a);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:10px}.timeline-item{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:14px 18px;transition:all .2s;position:relative}.timeline-item:hover{background:var(--surface-hover);border-color:#6384ff33}.timeline-item:before{content:"";background:var(--brand);border:2px solid var(--bg-card);border-radius:50%;width:10px;height:10px;position:absolute;top:18px;left:-23px;box-shadow:0 0 8px #6384ff66}.timeline-time{color:var(--brand);margin-bottom:4px;font-size:11px;font-weight:600}.timeline-speaker{margin-bottom:4px;font-size:13px;font-weight:700}.timeline-text{color:var(--text-muted);font-size:13px;line-height:1.6}.keyword-cloud{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.keyword-tag{color:var(--brand);background:#6384ff14;border:1px solid #6384ff26;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.keyword-tag:hover{background:#6384ff26;transform:translateY(-1px)}.keyword-tag.hot{color:var(--warn);background:#f5a6231a;border-color:#f5a62333}.sentiment-bar{border-radius:999px;height:8px;margin:8px 0 12px;display:flex;overflow:hidden}.sentiment-bar>span{height:100%;transition:width .5s}.sentiment-bar .positive{background:linear-gradient(90deg,#3dd68c,#34d399)}.sentiment-bar .neutral{background:var(--sentiment-neutral)}.sentiment-bar .negative{background:linear-gradient(90deg,#e55b5b,#f87171)}.sentiment-legend{color:var(--text-muted);gap:16px;font-size:12px;display:flex}.sentiment-legend span{align-items:center;gap:6px;display:inline-flex}.sentiment-legend span:before{content:"";border-radius:50%;width:8px;height:8px}.sentiment-legend .pos:before{background:var(--ok)}.sentiment-legend .neu:before{background:var(--sentiment-neutral)}.sentiment-legend .neg:before{background:var(--danger)}.export-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.export-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:14px;padding:24px;transition:all .3s;position:relative;overflow:hidden}.export-card:after{content:"";opacity:0;background:linear-gradient(135deg,#6384ff0f,#0000);transition:opacity .3s;position:absolute;inset:0}.export-card:hover{border-color:#6384ff4d;transform:translateY(-2px);box-shadow:0 8px 30px #0003}.export-card:hover:after{opacity:1}.export-card-icon{z-index:1;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:16px;display:grid;position:relative}.export-card-icon svg{width:22px;height:22px}.export-card-icon.docx{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf833}.export-card-icon.pdf{color:var(--danger);background:#e55b5b1f;border:1px solid #e55b5b33}.export-card-icon.md{color:#8b5cf6;background:#8b5cf61f;border:1px solid #8b5cf633}.export-card-icon.txt{color:var(--ok);background:#3dd68c1f;border:1px solid #3dd68c33}.export-card h3{z-index:1;margin-bottom:4px;font-size:15px;font-weight:700;position:relative}.export-card p{color:var(--text-muted);z-index:1;font-size:12px;line-height:1.5;position:relative}.section-title{align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:700;display:flex}.section-title:before{content:"";background:linear-gradient(180deg, var(--brand), #8b5cf6);border-radius:2px;width:3px;height:16px}.action-items{flex-direction:column;gap:8px;display:flex}.action-item{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.action-item:hover{background:var(--surface-hover)}.action-check{border:2px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;place-items:center;width:18px;height:18px;margin-top:1px;transition:all .2s;display:grid}.action-check.done{background:var(--ok);border-color:var(--ok)}.action-check.done:after{content:"✓";color:#fff;font-size:11px;font-weight:700}.action-item-content{flex:1;min-width:0}.action-item-text{font-size:13px;line-height:1.5}.action-item-assignee{color:var(--text-muted);align-items:center;gap:4px;margin-top:3px;font-size:11px;display:flex}.meeting-form{gap:16px;display:grid}.meeting-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=520px){.meeting-form-row{grid-template-columns:1fr}}.meeting-card:first-child{animation-delay:0s}.meeting-card:nth-child(2){animation-delay:50ms}.meeting-card:nth-child(3){animation-delay:.1s}.meeting-card:nth-child(4){animation-delay:.15s}.meeting-card:nth-child(5){animation-delay:.2s}.meeting-card:nth-child(6){animation-delay:.25s}.meeting-grid .meeting-card{animation:.4s both fadeUp}.theme-toggle-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-hover);color:var(--text-muted);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.theme-toggle-btn:hover{color:var(--text);border-color:var(--border-hover);background:var(--surface-hover-strong)}.theme-toggle-btn svg{flex-shrink:0;width:16px;height:16px}.sidebar-theme{padding:10px 16px 0}.sidebar-theme .theme-toggle-btn{justify-content:flex-start;width:100%}.appearance-options{flex-wrap:wrap;gap:12px;display:flex}.appearance-option{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface-subtle);cursor:pointer;min-width:140px;transition:var(--transition);text-align:left;color:inherit;flex:1;padding:16px;font-family:inherit}.appearance-option:hover{border-color:var(--border-hover);background:var(--surface-hover)}.appearance-option.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px var(--brand-glow)}.appearance-option strong{color:var(--text);margin-bottom:4px;font-size:14px;display:block}.appearance-option span{color:var(--text-muted);font-size:12px}.appearance-preview{border:1px solid var(--border);border-radius:8px;height:48px;margin-bottom:10px}.appearance-preview.dark-preview{background:linear-gradient(135deg,#14161e 40%,#181b23 40% 60%,#6384ff 60%)}.appearance-preview.light-preview{background:linear-gradient(135deg,#fff 40%,#f0f2f7 40% 60%,#6384ff 60%)}[data-theme=light] .metric-card:hover{border-color:#0000001a}[data-theme=light] .auth-card{border-color:#00000014;box-shadow:0 24px 80px #0f172a14,0 0 40px #6384ff0f}[data-theme=light] .auth-tab.active{color:#fff}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.comments-section{border-top:1px solid var(--border);flex-direction:column;gap:16px;margin-top:24px;padding-top:20px;display:flex}.comments-title{color:var(--text);align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:600;display:flex}.comments-list{flex-direction:column;gap:12px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}.comment-item{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);transition:var(--transition);gap:12px;padding:12px;display:flex}.comment-item:hover{background:var(--surface-hover);border-color:var(--border-hover)}.comment-avatar{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border:1px solid var(--border-active);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.comment-content-area{flex:1;min-width:0}.comment-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.comment-author-name{color:var(--text);font-size:13px;font-weight:600}.comment-meta{align-items:center;gap:8px;display:flex}.comment-time{color:var(--text-muted);font-size:11px}.comment-delete-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px;display:flex}.comment-delete-btn:hover{color:var(--danger);background:var(--danger-bg)}.comment-text{color:var(--text);white-space:pre-wrap;word-break:break-all;font-size:13px;line-height:1.5}.comment-form{flex-direction:column;gap:8px;margin-top:8px;display:flex}.comment-textarea{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:72px;color:var(--text);resize:vertical;transition:var(--transition);padding:10px 12px;font-family:inherit;font-size:13px}.comment-textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow);outline:none}.comment-form-actions{justify-content:flex-end;display:flex}.comments-empty{text-align:center;color:var(--text-muted);background:var(--surface-subtle);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:24px;font-size:13px}
