.sidebar{width:280px;background:var(--odt-glass);border-right:1px solid var(--odt-stroke-weak);display:flex;flex-direction:column;height:100vh;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.sidebar-header{padding:var(--s-21);border-bottom:1px solid rgba(0,234,255,.1)}.sidebar-brand{display:flex;align-items:center;gap:var(--s-13);margin-bottom:var(--s-21);text-decoration:none;color:inherit}.sidebar-brand-text{display:flex;flex-direction:column}.sidebar-brand-text .h2{font-size:18px;color:var(--odt-accent);line-height:1.2}.sidebar-brand-sub{font-size:11px;color:var(--odt-muted);letter-spacing:.05em}.new-btn{width:100%}.sidebar-list{flex:1;overflow-y:auto;padding:var(--s-13)}.sidebar-empty{padding:var(--s-21);text-align:center;color:var(--odt-muted);font-size:13px}.sidebar-item{padding:var(--s-13) var(--s-13);margin-bottom:4px;border-radius:var(--odt-radius-btn);cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent}.sidebar-item:hover{background:#00eaff0f}.sidebar-item.active{background:#00eaff1a;border-color:var(--odt-stroke-weak)}.sidebar-item-content{flex:1;min-width:0}.sidebar-item-title{color:var(--odt-text);font-size:13px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item-meta{color:var(--odt-muted);font-size:11px}.sidebar-item-delete{width:24px;height:24px;background:none;border:none;color:var(--odt-muted);cursor:pointer;font-size:18px;line-height:1;border-radius:6px;opacity:0;transition:opacity .15s,background .15s,color .15s;flex-shrink:0}.sidebar-item:hover .sidebar-item-delete{opacity:1}.sidebar-item-delete:hover{background:#ff475733;color:var(--odt-error)}.sidebar-footer{padding:var(--s-13);border-top:1px solid rgba(0,234,255,.1)}.sidebar-lang{margin-bottom:var(--s-13);display:flex;justify-content:center}.settings-btn{width:100%;padding:var(--s-13) var(--s-13);background:transparent;border:1px solid rgba(0,234,255,.2);border-radius:var(--odt-radius-btn);cursor:pointer;font-size:13px;color:var(--odt-text);display:flex;align-items:center;gap:var(--s-8);transition:background .15s,border-color .15s}.settings-btn:hover{background:#00eaff0f;border-color:var(--odt-stroke-weak)}.settings-btn svg{color:var(--odt-accent)}.admin-btn{margin-top:var(--s-8);border-color:#ffb8004d}.admin-btn svg{color:var(--odt-warning)}.admin-btn:hover{background:#ffb8001a;border-color:var(--odt-warning)}.providers-badge{margin-left:auto;background:#00eaff26;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.providers-badge.ok{background:#00ff8826;color:var(--odt-success)}.providers-badge.warn{background:#ffb80026;color:var(--odt-warning)}.sidebar-user{display:flex;align-items:center;justify-content:space-between;padding:var(--s-13);margin-top:var(--s-8);background:#0003;border-radius:var(--odt-radius-btn)}.sidebar-user-info{display:flex;align-items:center;gap:var(--s-8);color:var(--odt-muted);font-size:12px}.sidebar-user-info svg{color:var(--odt-accent);opacity:.7}.sidebar-username{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--odt-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.logout-btn:hover{background:#ff475726;border-color:var(--odt-error);color:var(--odt-error)}.btn{border-radius:var(--odt-radius-btn);padding:12px 20px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;font-size:13px;font-weight:500;line-height:20px;color:var(--odt-silver);white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--odt-primary);box-shadow:var(--fx-glow-1),var(--fx-glow-2)}.btn-primary:hover:not(:disabled){box-shadow:0 0 20px #00eaff80,0 0 56px #00eaff38}.btn-ghost{background:transparent;border-color:var(--odt-stroke);color:var(--odt-accent);box-shadow:0 0 16px #00eaff26}.btn-ghost:hover:not(:disabled){background:#00eaff14;box-shadow:0 0 20px #00eaff40}.btn-secondary{background:var(--odt-surface);border-color:#e2e8f033;box-shadow:var(--fx-depth)}.btn-secondary:hover:not(:disabled){background:#121a26e6;border-color:#00eaff4d}.btn-danger{background:#ff475733;border-color:var(--odt-error);color:var(--odt-error)}.btn-danger:hover:not(:disabled){background:#ff47574d}.btn-sm{padding:8px 14px;font-size:12px}.btn-icon{padding:10px;min-width:40px}.lang-switch{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#121a26b3;border:1px solid var(--odt-stroke-weak);border-radius:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lang-btn{background:none;border:none;color:var(--odt-muted);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.05em;padding:4px 8px;cursor:pointer;border-radius:4px;transition:all .15s ease}.lang-btn:hover{color:var(--odt-text);background:#00eaff1a}.lang-btn.active{color:var(--odt-accent);background:#00eaff26;text-shadow:0 0 8px rgba(0,234,255,.5)}.lang-divider{color:var(--odt-stroke);font-size:12px}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--s-21)}.help-modal{background:var(--odt-glass);border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-card);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.help-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-21);border-bottom:1px solid var(--odt-stroke-weak)}.help-title{display:flex;align-items:center;gap:var(--s-13)}.help-title h2{font-size:20px;font-weight:700;color:var(--odt-accent);margin:0}.help-content{flex:1;overflow-y:auto;padding:var(--s-21)}.help-section{margin-bottom:var(--s-21)}.help-section:last-child{margin-bottom:0}.help-section h3{font-size:14px;font-weight:600;color:var(--odt-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--s-13) 0}.help-section p{color:var(--odt-muted);font-size:14px;line-height:1.6;margin:0}.help-stages{display:flex;flex-direction:column;gap:var(--s-13)}.help-stage{display:flex;gap:var(--s-13);padding:var(--s-13);background:#0003;border-radius:var(--odt-radius-btn);border-left:3px solid var(--odt-primary)}.stage-num{width:28px;height:28px;background:var(--odt-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.help-stage strong{color:var(--odt-text);font-size:14px;display:block;margin-bottom:4px}.help-stage p{font-size:13px;margin:0}.help-steps{margin:0;padding-left:20px;color:var(--odt-muted);font-size:14px;line-height:1.8}.help-steps li{margin-bottom:8px}.help-steps li::marker{color:var(--odt-primary);font-weight:600}.help-features{margin:0;padding-left:0;list-style:none}.help-features li{color:var(--odt-muted);font-size:14px;padding:8px 0 8px 24px;position:relative;border-bottom:1px solid rgba(0,234,255,.1)}.help-features li:last-child{border-bottom:none}.help-features li:before{content:"✓";position:absolute;left:0;color:var(--odt-success);font-weight:700}.help-tips{background:#0060ff1a;border:1px solid rgba(0,96,255,.3);border-radius:var(--odt-radius-btn);padding:var(--s-13)!important}.help-tips h3{color:var(--odt-accent)}.help-tips ul{margin:0;padding-left:20px;color:var(--odt-muted);font-size:13px;line-height:1.7}.help-footer{padding:var(--s-21);border-top:1px solid var(--odt-stroke-weak);display:flex;justify-content:flex-end}@media (max-width: 600px){.help-modal{max-height:90vh}.help-stage{flex-direction:column;align-items:flex-start}}.chat-main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.chat-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-21);text-align:center;padding:var(--s-34)}.chat-welcome .h1{font-size:48px;color:var(--odt-accent);text-shadow:var(--fx-glow-1),var(--fx-glow-2)}.chat-welcome p{color:var(--odt-muted);font-size:16px}.chat-welcome-hint{margin-top:var(--s-21);opacity:.6}.chat-messages{flex:1;overflow-y:auto;padding:var(--s-34);display:flex;flex-direction:column;gap:var(--s-21)}.message{max-width:900px;width:100%;margin:0 auto}.message-user{display:flex;justify-content:flex-end}.message-user-content{background:var(--odt-primary);padding:var(--s-13) var(--s-21);border-radius:var(--odt-radius-card);border-bottom-right-radius:4px;max-width:80%;box-shadow:var(--fx-glow-1)}.message-user-content p{margin:0}.assistant-response{background:var(--odt-glass);border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-card);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);overflow:hidden}.response-tabs{display:flex;border-bottom:1px solid rgba(0,234,255,.1);padding:var(--s-8);gap:var(--s-8);background:#0003}.response-tab{padding:var(--s-8) var(--s-13);background:transparent;border:1px solid transparent;border-radius:8px;color:var(--odt-muted);cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;display:flex;align-items:center;gap:6px}.response-tab:hover:not(:disabled){color:var(--odt-text);background:#00eaff0f}.response-tab.active{color:var(--odt-accent);background:#00eaff1a;border-color:var(--odt-stroke-weak)}.response-tab:disabled{opacity:.4;cursor:not-allowed}.response-content{padding:var(--s-21)}.stage-final{display:flex;flex-direction:column;gap:var(--s-13)}.chairman-badge{display:inline-flex;align-items:center;gap:var(--s-8);padding:var(--s-8) var(--s-13);background:#00eaff1a;border:1px solid var(--odt-stroke-weak);border-radius:8px;font-size:12px;color:var(--odt-accent);width:fit-content}.stage-loading{display:flex;align-items:center;gap:var(--s-13);color:var(--odt-muted);padding:var(--s-21)}.loading-spinner{width:20px;height:20px;border:2px solid rgba(0,234,255,.2);border-top-color:var(--odt-accent);border-radius:50%;animation:spin 1s linear infinite}.loading-dot{width:8px;height:8px;background:var(--odt-accent);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.model-tabs{display:flex;flex-wrap:wrap;gap:var(--s-8);margin-bottom:var(--s-13)}.model-tab{padding:6px 12px;background:#00eaff0f;border:1px solid transparent;border-radius:6px;color:var(--odt-muted);cursor:pointer;font-size:11px;font-weight:500;transition:all .15s}.model-tab:hover{color:var(--odt-text);border-color:#00eaff33}.model-tab.active{color:var(--odt-accent);background:#00eaff26;border-color:var(--odt-stroke-weak)}.markdown-content{line-height:1.7}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--odt-accent);margin-top:1.5em;margin-bottom:.5em}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content p{margin:.8em 0}.markdown-content code{background:#00eaff1a;padding:2px 6px;border-radius:4px;font-size:.9em}.markdown-content pre{background:#0000004d;padding:var(--s-13);border-radius:8px;overflow-x:auto;border:1px solid rgba(0,234,255,.1)}.markdown-content pre code{background:none;padding:0}.markdown-content ul,.markdown-content ol{padding-left:1.5em;margin:.8em 0}.markdown-content li{margin:.4em 0}.markdown-content blockquote{border-left:3px solid var(--odt-accent);margin:1em 0;padding-left:1em;color:var(--odt-muted)}.chat-warnings{margin:0 var(--s-34);display:flex;flex-direction:column;gap:var(--s-8)}.chat-warning{padding:var(--s-13) var(--s-21);background:#ffb8001a;border:1px solid var(--odt-warning);border-radius:var(--odt-radius-btn);color:var(--odt-warning);display:flex;align-items:center;gap:var(--s-8);font-size:13px}.warning-icon{font-size:16px}.chat-error{margin:0 var(--s-34);padding:var(--s-13) var(--s-21);background:#ff47571a;border:1px solid var(--odt-error);border-radius:var(--odt-radius-btn);color:var(--odt-error);display:flex;align-items:center;gap:var(--s-8)}.error-icon{width:20px;height:20px;background:var(--odt-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.chat-input-form{padding:var(--s-21) var(--s-34);display:flex;gap:var(--s-13);border-top:1px solid rgba(0,234,255,.1);background:#060b1380}.chat-input{flex:1;background:var(--odt-glass);border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-btn);padding:var(--s-13) var(--s-21);color:var(--odt-text);font-family:inherit;font-size:14px;resize:none;transition:border-color .15s,box-shadow .15s}.chat-input:focus{outline:none;border-color:var(--odt-stroke);box-shadow:0 0 0 3px #00eaff1a}.chat-input::placeholder{color:var(--odt-muted)}.chat-input:disabled{opacity:.5}.chat-send-btn{width:50px;height:50px;background:var(--odt-primary);border:none;border-radius:var(--odt-radius-btn);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,box-shadow .15s;box-shadow:var(--fx-glow-1)}.chat-send-btn:hover:not(:disabled){box-shadow:var(--fx-glow-1),var(--fx-glow-2)}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-input-wrapper{flex:1;display:flex;flex-direction:column;background:var(--odt-glass);border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-btn);transition:border-color .15s,box-shadow .15s}.chat-input-wrapper:focus-within{border-color:var(--odt-stroke);box-shadow:0 0 0 3px #00eaff1a}.chat-input-wrapper.drag-over{border-color:var(--odt-accent);box-shadow:0 0 15px #00eaff4d;background:#00eaff0d}.chat-input-wrapper .chat-input{flex:1;background:transparent;border:none;border-radius:0 0 var(--odt-radius-btn) var(--odt-radius-btn)}.chat-input-wrapper .chat-input:focus{box-shadow:none}.attached-files-bar{display:flex;flex-wrap:wrap;gap:var(--s-8);padding:var(--s-8) var(--s-13);border-bottom:1px solid rgba(0,234,255,.1)}.attached-file{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#00eaff1a;border:1px solid var(--odt-stroke-weak);border-radius:6px;font-size:11px;color:var(--odt-text)}.attached-file.invalid{background:#ff47571a;border-color:var(--odt-error)}.attached-file-icon{font-size:14px}.attached-file-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attached-file-size{color:var(--odt-muted);font-size:10px}.attached-file-error{width:14px;height:14px;background:var(--odt-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:9px;cursor:help}.attached-file-remove{width:16px;height:16px;padding:0;background:transparent;border:none;color:var(--odt-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s}.attached-file-remove:hover{color:var(--odt-error)}.attached-file-remove svg{width:12px;height:12px}.message-attachments{display:flex;flex-wrap:wrap;gap:var(--s-8);margin-bottom:var(--s-8)}.message-attachment{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#00eaff26;border-radius:6px;font-size:11px}.message-attachment-icon{font-size:14px}.save-knowledge-btn{display:flex;align-items:center;gap:var(--s-8);margin:var(--s-13) var(--s-21);padding:var(--s-8) var(--s-13);background:#00eaff14;border:1px solid var(--odt-stroke-weak);border-radius:8px;color:var(--odt-muted);font-size:12px;cursor:pointer;transition:all .15s}.save-knowledge-btn:hover{color:var(--odt-accent);border-color:var(--odt-stroke);background:#00eaff1f}.save-knowledge-btn svg{width:16px;height:16px}.glass{border-radius:var(--odt-radius-card);border:1px solid var(--odt-stroke-weak);background:var(--odt-glass);box-shadow:var(--fx-depth);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);overflow:hidden}.glass-elevated{border-color:var(--odt-stroke);box-shadow:0 0 0 1px #00eaff14 inset,var(--fx-depth)}.glass-head{padding:var(--s-21);padding-bottom:var(--s-8);border-bottom:1px solid rgba(0,234,255,.1)}.glass-title{color:var(--odt-accent);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.glass-subtitle{margin-top:6px;font-size:13px;line-height:18px;color:var(--odt-muted)}.glass-body{padding:var(--s-21)}.knowledge-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#060b13e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100}.knowledge-modal{background:var(--odt-surface);border:1px solid var(--odt-stroke);border-radius:var(--odt-radius-card);width:90%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--fx-depth),var(--fx-glow-2)}.knowledge-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-21);border-bottom:1px solid rgba(0,234,255,.1);flex-shrink:0}.knowledge-title{display:flex;align-items:center;gap:var(--s-13)}.knowledge-title h2{font-size:18px;color:var(--odt-accent);margin:0}.knowledge-form{padding:var(--s-21);border-bottom:1px solid rgba(0,234,255,.1);flex-shrink:0}.form-group{margin-bottom:var(--s-13)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--odt-muted);margin-bottom:var(--s-8)}.form-group input[type=text]{width:100%;padding:12px 14px;background:#0000004d;border:1px solid rgba(0,234,255,.2);border-radius:8px;font-size:14px;font-family:inherit;color:var(--odt-text);transition:border-color .15s}.form-group input[type=text]:focus{outline:none;border-color:var(--odt-stroke)}.tags-container{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:#0000004d;border:1px solid rgba(0,234,255,.2);border-radius:8px;min-height:44px;align-items:center}.tag{display:inline-flex;align-items:center;gap:6px;background:#0060ff33;border:1px solid var(--odt-primary);padding:4px 10px;border-radius:6px;font-size:12px;color:var(--odt-primary)}.tag button{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:14px;line-height:1;opacity:.7;transition:opacity .15s}.tag button:hover{opacity:1}.tag-input{flex:1;min-width:100px;background:none!important;border:none!important;padding:4px!important;font-size:13px;color:var(--odt-text)}.tag-input:focus{outline:none}.tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-suggestion{background:#00eaff1a;border:1px dashed rgba(0,234,255,.3);padding:4px 10px;border-radius:6px;font-size:11px;color:var(--odt-muted);cursor:pointer;transition:all .15s}.tag-suggestion:hover{background:#00eaff33;border-style:solid;color:var(--odt-accent)}.knowledge-preview{flex:1;overflow:hidden;padding:var(--s-21);display:flex;flex-direction:column;min-height:200px}.knowledge-preview label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--odt-muted);margin-bottom:var(--s-8);flex-shrink:0}.markdown-preview{flex:1;background:#0006;border:1px solid rgba(0,234,255,.15);border-radius:8px;padding:14px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;color:var(--odt-silver);overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0}.markdown-preview::-webkit-scrollbar{width:6px}.markdown-preview::-webkit-scrollbar-track{background:transparent}.markdown-preview::-webkit-scrollbar-thumb{background:#00eaff4d;border-radius:3px}.knowledge-actions{display:flex;justify-content:flex-end;gap:var(--s-8);padding:var(--s-21);border-top:1px solid rgba(0,234,255,.1);flex-shrink:0}.save-knowledge-btn{display:inline-flex;align-items:center;gap:6px;background:#0060ff1a;border:1px solid rgba(0,96,255,.3);padding:6px 12px;border-radius:6px;font-size:12px;color:var(--odt-primary);cursor:pointer;transition:all .15s;margin-top:var(--s-13)}.save-knowledge-btn:hover{background:#0060ff33;border-color:var(--odt-primary)}.save-knowledge-btn svg{width:14px;height:14px}.file-upload-btn{width:50px;height:50px;background:var(--odt-glass);border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-btn);color:var(--odt-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.file-upload-btn svg{width:20px;height:20px}.file-upload-btn:hover:not(:disabled){color:var(--odt-accent);border-color:var(--odt-stroke);background:#00eaff1a}.file-upload-btn.drag-active{color:var(--odt-accent);border-color:var(--odt-accent);background:#00eaff26;box-shadow:0 0 15px #00eaff4d}.file-upload-btn:disabled{opacity:.4;cursor:not-allowed}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#060b13d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:var(--odt-surface);border:1px solid var(--odt-stroke);border-radius:var(--odt-radius-card);width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--fx-depth),var(--fx-glow-2)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-21);border-bottom:1px solid rgba(0,234,255,.1)}.settings-title{display:flex;align-items:center;gap:var(--s-13)}.settings-title .h2{font-size:20px;color:var(--odt-accent)}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:var(--odt-muted);padding:4px 10px;border-radius:8px;transition:background .15s,color .15s}.close-btn:hover{background:#ff47571a;color:var(--odt-error)}.settings-error{background:#ff47571a;border-bottom:1px solid var(--odt-error);color:var(--odt-error);padding:var(--s-13) var(--s-21)}.settings-info{padding:var(--s-21);background:#0003;border-bottom:1px solid rgba(0,234,255,.1)}.settings-stats{display:flex;gap:var(--s-34);margin-bottom:var(--s-13)}.stat{display:flex;flex-direction:column}.stat-value{font-size:28px;font-weight:700;color:var(--odt-accent);font-family:Unbounded,sans-serif}.stat-label{font-size:12px;color:var(--odt-muted);text-transform:uppercase;letter-spacing:.1em}.settings-actions{margin-bottom:var(--s-13)}.settings-hint{color:var(--odt-muted);font-size:13px;margin:0}.providers-list{padding:var(--s-21);display:flex;flex-direction:column;gap:var(--s-13)}.provider-item{border:1px solid rgba(0,234,255,.15);border-radius:var(--odt-radius-btn);padding:var(--s-13);transition:border-color .15s,background .15s}.provider-item.has-key{border-color:var(--odt-stroke);background:#00eaff08}.provider-item.valid{border-color:var(--odt-success);background:#00ff880d}.provider-item.invalid{border-color:var(--odt-error);background:#ff47570d}.provider-item.checking{border-color:var(--odt-warning);background:#ffb8000d}.provider-header{display:flex;align-items:center;gap:var(--s-8);margin-bottom:6px}.status-indicator{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700}.status-indicator .dot{width:8px;height:8px;border-radius:50%;background:var(--odt-muted)}.status-indicator.valid{background:#0f83}.status-indicator.valid .check-icon{color:var(--odt-success);text-shadow:0 0 8px rgba(0,255,136,.5)}.status-indicator.invalid{background:#ff475733}.status-indicator.invalid .x-icon{color:var(--odt-error);text-shadow:0 0 8px rgba(255,71,87,.5)}.status-indicator.checking{background:#ffb80033}.spinner{width:12px;height:12px;border:2px solid rgba(255,184,0,.3);border-top-color:var(--odt-warning);border-radius:50%;animation:spin .8s linear infinite}.error-badge{font-size:10px;background:#ff475733;color:var(--odt-error);padding:2px 8px;border-radius:4px;margin-left:auto;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-name{font-weight:600;font-size:14px}.provider-models{color:var(--odt-muted);font-size:11px;margin-bottom:var(--s-13)}.provider-key-input{display:flex;gap:var(--s-8)}.provider-key-input input{flex:1;padding:10px 14px;background:#0000004d;border:1px solid rgba(0,234,255,.2);border-radius:8px;font-size:13px;font-family:inherit;color:var(--odt-text);transition:border-color .15s}.provider-key-input input:focus{outline:none;border-color:var(--odt-stroke)}.provider-key-input input::placeholder{color:var(--odt-muted)}.btn-validate{min-width:50px}.active-models{padding:var(--s-21);background:#00ff880d;border-top:1px solid rgba(0,255,136,.2)}.active-models h3{margin:0 0 var(--s-13) 0;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--odt-success)}.active-models-list{display:flex;flex-wrap:wrap;gap:var(--s-8)}.active-model-badge{background:#00ff881a;border:1px solid rgba(0,255,136,.3);padding:4px 10px;border-radius:6px;font-size:11px;font-family:JetBrains Mono,monospace;color:var(--odt-success);transition:all .15s}.active-model-badge.valid{background:#00ff8826;border-color:var(--odt-success);box-shadow:0 0 8px #00ff884d}.active-model-badge.invalid{background:#ff47571a;border-color:var(--odt-error);color:var(--odt-error)}.password-section{padding:var(--s-21);border-top:1px solid rgba(0,234,255,.1)}.password-section h3{color:var(--odt-text);font-size:14px;margin:0 0 var(--s-13) 0}.password-form{display:flex;flex-direction:column;gap:var(--s-8)}.password-form input{background:#0000004d;border:1px solid var(--odt-stroke);border-radius:var(--odt-radius-btn);padding:var(--s-13);color:var(--odt-text);font-size:14px;font-family:inherit;transition:all .15s}.password-form input:focus{outline:none;border-color:var(--odt-accent);box-shadow:0 0 0 2px #00eaff1a}.password-form input::placeholder{color:var(--odt-muted)}.password-success{background:#00ff881a;border:1px solid var(--odt-success);border-radius:var(--odt-radius-btn);padding:var(--s-13);color:var(--odt-success);font-size:13px;margin-bottom:var(--s-13)}.section-hint{color:var(--odt-muted);font-size:12px;margin:0 0 var(--s-13) 0}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ff47574d;border:1px solid var(--odt-error);transition:all .2s;border-radius:22px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:var(--odt-error);transition:all .2s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background:#00ff884d;border-color:var(--odt-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px);background:var(--odt-success)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.toggle-switch.toggling .toggle-slider:before{animation:pulse .5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.footer{padding:var(--s-13) var(--s-21);border-top:1px solid rgba(0,234,255,.1);display:flex;align-items:center;justify-content:space-between;background:#060b1380}.footer-brand{display:flex;align-items:center;gap:var(--s-13);text-decoration:none;color:inherit}.footer-brand-text{display:flex;flex-direction:column}.footer-title{font-size:12px;color:var(--odt-accent);font-weight:600}.footer-sub{font-size:10px;color:var(--odt-muted);letter-spacing:.05em}.footer-contact{font-size:12px}.footer-contact a{color:var(--odt-muted);transition:color .15s}.footer-contact a:hover{color:var(--odt-accent);text-decoration:none}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s-21);position:relative}.auth-container{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--s-34)}.auth-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-13);text-decoration:none;color:inherit}.auth-title{font-size:36px;font-weight:900;letter-spacing:-.02em;color:var(--odt-accent);text-shadow:var(--fx-glow-1),var(--fx-glow-2);margin:0}.auth-subtitle{color:var(--odt-muted);font-size:14px;margin:0}.auth-form{background:var(--odt-glass);border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-card);padding:var(--s-34);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;gap:var(--s-21)}.auth-form-title{font-size:20px;font-weight:700;color:var(--odt-text);margin:0;text-align:center}.auth-error{padding:var(--s-13);background:#ff47571a;border:1px solid var(--odt-error);border-radius:var(--odt-radius-btn);color:var(--odt-error);display:flex;align-items:center;gap:var(--s-8);font-size:13px}.auth-error .error-icon{width:18px;height:18px;background:var(--odt-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0}.auth-field{display:flex;flex-direction:column;gap:var(--s-8)}.auth-field label{font-size:12px;font-weight:500;color:var(--odt-muted);text-transform:uppercase;letter-spacing:.05em}.auth-field input{background:#0000004d;border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-btn);padding:var(--s-13) var(--s-21);color:var(--odt-text);font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-field input:focus{outline:none;border-color:var(--odt-stroke);box-shadow:0 0 0 3px #00eaff1a}.auth-field input::placeholder{color:var(--odt-muted);opacity:.6}.auth-field input:disabled{opacity:.5}.auth-submit{background:var(--odt-primary);border:none;border-radius:var(--odt-radius-btn);padding:var(--s-13) var(--s-21);color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .15s;box-shadow:var(--fx-glow-1);display:flex;align-items:center;justify-content:center;min-height:48px}.auth-submit:hover:not(:disabled){box-shadow:var(--fx-glow-1),var(--fx-glow-2)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-submit .loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.auth-toggle{text-align:center;font-size:13px;color:var(--odt-muted)}.auth-toggle button{background:none;border:none;color:var(--odt-accent);cursor:pointer;font-family:inherit;font-size:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-toggle button:hover{color:var(--odt-text)}.auth-footer{text-align:center;font-size:11px;color:var(--odt-muted);opacity:.6}.auth-success{background:#00ff881a;border:1px solid var(--odt-success);border-radius:var(--odt-radius-btn);padding:var(--s-13);color:var(--odt-success);font-size:13px;margin-bottom:var(--s-13)}.forgot-link{color:var(--odt-muted)!important;font-size:12px}.forgot-link:hover{color:var(--odt-accent)!important}.auth-divider{color:var(--odt-muted);margin:0 8px}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{flex:1;padding-right:45px}.toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:18px;padding:0;opacity:.6;transition:opacity .15s}.toggle-password:hover{opacity:1}.auth-lang-switch{position:absolute;top:var(--s-21);right:var(--s-21);z-index:10}.admin-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#060b13f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1300}.admin-modal{background:var(--odt-surface);border:1px solid var(--odt-accent);border-radius:var(--odt-radius-card);width:90%;max-width:1000px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 40px #00eaff33}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-21) var(--s-34);border-bottom:1px solid var(--odt-stroke)}.admin-header h2{margin:0;color:var(--odt-accent);font-size:20px;letter-spacing:.05em}.admin-close{width:36px;height:36px;background:transparent;border:1px solid var(--odt-stroke);border-radius:8px;color:var(--odt-muted);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.admin-close:hover{background:#ff475726;border-color:var(--odt-error);color:var(--odt-error)}.admin-loading{display:flex;align-items:center;justify-content:center;padding:var(--s-55)}.admin-error{padding:var(--s-34);text-align:center;color:var(--odt-error)}.admin-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:var(--s-21)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-13);margin-bottom:var(--s-21)}.stat-card{background:#0000004d;border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-btn);padding:var(--s-13) var(--s-21);display:flex;flex-direction:column;align-items:center}.stat-value{font-size:28px;font-weight:700;color:var(--odt-accent);font-family:JetBrains Mono,monospace}.stat-label{font-size:11px;color:var(--odt-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.admin-table-container{flex:1;overflow:auto;border:1px solid var(--odt-stroke-weak);border-radius:var(--odt-radius-btn)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:#00eaff1a;color:var(--odt-accent);font-weight:600;text-align:left;padding:var(--s-13) var(--s-13);border-bottom:1px solid var(--odt-stroke);position:sticky;top:0;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.admin-table td{padding:var(--s-13) var(--s-13);border-bottom:1px solid var(--odt-stroke-weak);color:var(--odt-text)}.admin-table tr:hover td{background:#00eaff08}.admin-table .mono{font-family:JetBrains Mono,monospace;color:var(--odt-muted)}.admin-table .username{font-weight:500;color:var(--odt-text)}.admin-table .date{font-size:12px;color:var(--odt-muted);white-space:nowrap}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.05em}.badge-admin{background:#00eaff33;color:var(--odt-accent);border:1px solid var(--odt-accent)}.badge-user{background:#ffffff0d;color:var(--odt-muted);border:1px solid var(--odt-stroke-weak)}.admin-table .actions{display:flex;gap:6px}.action-btn{width:28px;height:28px;border:1px solid var(--odt-stroke);border-radius:6px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s}.action-btn.promote{color:var(--odt-success)}.action-btn.promote:hover{background:#00ff8826;border-color:var(--odt-success)}.action-btn.demote{color:var(--odt-warning)}.action-btn.demote:hover{background:#ffb80026;border-color:var(--odt-warning)}.action-btn.reset-pwd{color:var(--odt-accent);font-size:12px}.action-btn.reset-pwd:hover{background:#00eaff26;border-color:var(--odt-accent)}.action-btn.delete{color:var(--odt-error);font-size:18px}.action-btn.delete:hover{background:#ff475726;border-color:var(--odt-error)}@media (max-width: 768px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-modal{width:95%;max-height:90vh}}.app{display:flex;height:100vh;overflow:hidden}.main-container{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#060b13e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1200}.confirm-modal{background:var(--odt-surface);border:1px solid var(--odt-warning);border-radius:var(--odt-radius-card);padding:var(--s-34);max-width:450px;width:90%;box-shadow:0 0 30px #ffb80033}.confirm-modal h3{color:var(--odt-warning);margin:0 0 var(--s-13) 0;font-size:18px}.confirm-modal p{color:var(--odt-text);margin:0 0 var(--s-21) 0;line-height:1.6}.confirm-models{background:#0000004d;border:1px solid rgba(0,234,255,.2);border-radius:8px;padding:var(--s-13);margin-bottom:var(--s-21);font-family:JetBrains Mono,monospace;font-size:12px;color:var(--odt-accent)}.confirm-actions{display:flex;gap:var(--s-13);justify-content:flex-end}.btn-cancel{padding:var(--s-13) var(--s-21);background:transparent;border:1px solid var(--odt-stroke);border-radius:var(--odt-radius-btn);color:var(--odt-muted);cursor:pointer;font-family:inherit;font-size:14px;transition:all .15s}.btn-cancel:hover{background:#00eaff1a;color:var(--odt-text)}.btn-confirm{padding:var(--s-13) var(--s-21);background:var(--odt-warning);border:none;border-radius:var(--odt-radius-btn);color:#000;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn-confirm:hover{box-shadow:0 0 20px #ffb80066}.auth-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100vh}.auth-loading .loading-spinner{width:40px;height:40px;border:3px solid rgba(0,234,255,.2);border-top-color:var(--odt-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--odt-primary: #0060FF;--odt-accent: #00EAFF;--odt-bg: #060B13;--odt-surface: #121A26;--odt-silver: #E2E8F0;--odt-glass: rgba(18, 26, 38, .6);--odt-glass-weak: rgba(18, 26, 38, .45);--odt-stroke: rgba(0, 234, 255, .4);--odt-stroke-weak: rgba(0, 234, 255, .28);--odt-text: rgba(226, 232, 240, .92);--odt-muted: rgba(226, 232, 240, .7);--odt-radius-card: 20px;--odt-radius-btn: 12px;--odt-radius-hero: 55px;--s-8: 8px;--s-13: 13px;--s-21: 21px;--s-34: 34px;--s-55: 55px;--fx-glow-1: 0 0 16px rgba(0, 234, 255, .4);--fx-glow-2: 0 0 48px rgba(0, 234, 255, .18);--fx-depth: 0 16px 44px rgba(0, 0, 0, .55);--odt-success: #00FF88;--odt-warning: #FFB800;--odt-error: #FF4757}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{color:var(--odt-text);background:radial-gradient(1200px 700px at 50% 18%,#00eaff1f,#060b1300 55%),radial-gradient(900px 650px at 50% 55%,#0060ff14,#060b1300 60%),var(--odt-bg);font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;line-height:1.5;overflow-x:hidden}a{color:var(--odt-accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}.odt-bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:linear-gradient(to right,rgba(0,234,255,.6) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,234,255,.6) 1px,transparent 1px);background-size:56px 56px;pointer-events:none;z-index:-1}.odt-bg-vignette{position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle at 50% 45%,#060b1300 35%,#060b13eb 80%);pointer-events:none;z-index:-1}.h1{font-family:Unbounded,system-ui,sans-serif;font-weight:900;letter-spacing:-.02em}.h2{font-family:Unbounded,system-ui,sans-serif;font-weight:700;letter-spacing:-.01em}.kbd{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#121a264d}::-webkit-scrollbar-thumb{background:#00eaff4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00eaff80}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
