*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:#0f172a;color:#e2e8f0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;min-height:100vh}.app-loading{color:#94a3b8;font-size:16px;height:100vh}.app-loading,.login-bg{align-items:center;display:flex;justify-content:center}.login-bg{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);min-height:100vh;padding:20px}.login-card{background:#1e293b;border:1px solid #334155;border-radius:16px;box-shadow:0 25px 50px #00000080;max-width:400px;padding:40px 36px;width:100%}.login-logo{font-size:48px;margin-bottom:12px;text-align:center}.login-title{color:#f1f5f9;font-size:26px;font-weight:700;margin-bottom:4px;text-align:center}.login-subtitle{color:#94a3b8;font-size:13px;margin-bottom:28px;text-align:center}.login-form{gap:16px}.form-field,.login-form{display:flex;flex-direction:column}.form-field{gap:6px}.form-field label{color:#cbd5e1;font-size:13px;font-weight:600}.form-field input{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:14px;padding:10px 14px;transition:border-color .2s;width:100%}.form-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.login-error{background:#ef444426;border:1px solid #ef444466;border-radius:8px;color:#fca5a5;font-size:13px;padding:10px 14px}.login-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:4px;padding:12px;transition:background .2s,transform .1s}.login-btn:hover:not(:disabled){background:#2563eb}.login-btn:active:not(:disabled){transform:scale(.98)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.login-hint{color:#64748b;font-size:12px;margin-top:20px;text-align:center}.login-hint code{background:#0f172a;border-radius:4px;color:#93c5fd;font-size:11px;padding:2px 6px}.dashboard{display:flex;flex-direction:column;min-height:100vh}.dash-header{background:#1e293b;border-bottom:1px solid #334155;gap:16px;height:60px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dash-brand,.dash-header{align-items:center;display:flex}.dash-brand{flex-shrink:0;gap:10px}.dash-logo{font-size:22px}.dash-title{color:#f1f5f9;font-size:17px;font-weight:700;white-space:nowrap}.dash-tabs{display:flex;gap:4px}.tab-btn{background:#0000;border:1px solid #0000;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:13px;font-weight:500;padding:7px 16px;transition:all .15s;white-space:nowrap}.tab-btn:hover{background:#334155;color:#e2e8f0}.tab-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.dash-user{align-items:center;display:flex;flex-shrink:0;gap:10px}.user-role-badge{background:#1d4ed8;border-radius:12px;color:#bfdbfe;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.user-name{color:#cbd5e1;font-size:13px;white-space:nowrap}.logout-btn{background:#0000;border:1px solid #475569;border-radius:6px;color:#94a3b8;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .15s;white-space:nowrap}.logout-btn:hover{background:#ef4444;border-color:#ef4444;color:#fff}.dash-main{flex:1 1;overflow:auto;padding:24px}.chat-wrap{display:flex;flex-direction:column;gap:12px;height:calc(100vh - 108px);margin:0 auto;max-width:860px}.chat-suggestions{flex-shrink:0}.suggestions-label{color:#64748b;display:block;font-size:12px;margin-bottom:6px}.suggestions-row{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chip{background:#1e293b;border:1px solid #334155;border-radius:20px;color:#93c5fd;cursor:pointer;font-size:12px;padding:5px 12px;transition:all .15s;white-space:nowrap}.suggestion-chip:hover:not(:disabled){background:#1d4ed8;border-color:#3b82f6;color:#fff}.suggestion-chip:disabled{cursor:not-allowed;opacity:.4}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:4px 2px;scrollbar-color:#334155 #0000;scrollbar-width:thin}.msg-row{align-items:flex-start;display:flex;gap:10px}.msg-row.user{flex-direction:row-reverse}.msg-row.assistant{flex-direction:row}.msg-avatar{align-items:center;background:#1e293b;border:1px solid #334155;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.msg-bubble{word-wrap:break-word;border-radius:16px;font-size:14px;line-height:1.6;max-width:75%;padding:12px 16px}.msg-bubble.assistant{background:#1e293b;border:1px solid #334155;border-top-left-radius:4px;color:#e2e8f0}.msg-bubble.user{background:#1d4ed8;border-top-right-radius:4px;color:#fff}.msg-bubble.error{background:#ef44441a;border-color:#ef444466;color:#fca5a5}.msg-text{white-space:pre-wrap}.msg-sql-section{border-top:1px solid #334155;margin-top:10px;padding-top:8px}.sql-toggle-btn{background:none;border:none;color:#64748b;cursor:pointer;font-size:11px;padding:0;transition:color .15s}.sql-toggle-btn:hover{color:#93c5fd}.sql-code{background:#0f172a;border:1px solid #334155;border-radius:6px;color:#7dd3fc;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:11px;margin-top:6px;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.typing-indicator{align-items:center;display:flex;gap:4px;padding:4px 0}.typing-indicator span{animation:bounce 1.2s ease-in-out infinite;background:#475569;border-radius:50%;height:7px;width:7px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{background:#3b82f6;transform:translateY(-6px)}}.chat-input-area{align-items:flex-end;display:flex;flex-shrink:0;gap:8px}.chat-textarea{background:#1e293b;border:1px solid #334155;border-radius:12px;color:#f1f5f9;flex:1 1;font-family:inherit;font-size:14px;line-height:1.5;padding:12px 16px;resize:none;transition:border-color .2s}.chat-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;outline:none}.chat-textarea:disabled{cursor:not-allowed;opacity:.5}.chat-textarea::placeholder{color:#475569}.chat-send-btn{align-items:center;background:#3b82f6;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;transition:background .15s,transform .1s;width:48px}.chat-send-btn:hover:not(:disabled){background:#2563eb}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{cursor:not-allowed;opacity:.4}.product-section{margin:0 auto;max-width:1000px}.product-section h2{border-bottom:1px solid #334155;color:#f1f5f9;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.form-group{margin-bottom:14px}.form-group label{color:#cbd5e1;display:block;font-size:13px;font-weight:600;margin-bottom:5px}.form-group input{background:#0f172a;border:1px solid #334155;border-radius:7px;color:#f1f5f9;font-size:14px;padding:9px 13px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#3b82f6;outline:none}.btn{border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:all .15s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-danger{background:#ef4444;color:#fff;font-size:12px;padding:5px 12px}.btn-danger:hover{background:#dc2626}.product-table{border-collapse:collapse;font-size:13px;margin-top:16px;width:100%}.product-table th{background:#1e293b;border-bottom:2px solid #334155;color:#93c5fd;font-weight:600;padding:10px 12px;text-align:left}.product-table td{border-bottom:1px solid #1e293b;color:#e2e8f0;padding:9px 12px}.product-table tr:hover td{background:#1e293b}.loading{color:#94a3b8;padding:16px 0}.error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;margin:8px 0;padding:12px 16px}.no-data{color:#64748b;padding:16px 0}.settings-page{gap:20px;margin:0 auto;max-width:720px}.settings-card,.settings-page{display:flex;flex-direction:column}.settings-card{background:#1e293b;border:1px solid #334155;border-radius:14px;gap:24px;padding:28px 32px}.settings-header{align-items:flex-start;display:flex;gap:16px}.settings-icon{flex-shrink:0;font-size:28px;line-height:1.2}.settings-title{color:#f1f5f9;font-size:17px;font-weight:700;margin-bottom:4px}.settings-subtitle{color:#94a3b8;font-size:13px;line-height:1.5}.settings-note{background:#3b82f614;border:1px solid #3b82f640;border-radius:8px;color:#93c5fd;font-size:12px;padding:10px 14px}.setting-row{grid-gap:16px;align-items:start;border-bottom:1px solid #1e293b;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding-bottom:20px}.setting-row:last-of-type{border-bottom:none;padding-bottom:0}.setting-label-wrap{display:flex;flex-direction:column;gap:4px}.setting-label{color:#e2e8f0;font-size:13px;font-weight:600}.setting-hint{color:#64748b;font-size:12px;line-height:1.5}.setting-control{display:flex;flex-direction:column;gap:6px}.setting-select{-webkit-appearance:auto;appearance:auto;background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;cursor:pointer;font-size:13px;padding:9px 13px;transition:border-color .2s;width:100%}.setting-select:focus{border-color:#3b82f6;outline:none}.setting-select:disabled{cursor:not-allowed;opacity:.5}.setting-input-wrap{align-items:center;display:flex;gap:8px}.setting-input{background:#0f172a;border:1px solid #334155;border-radius:8px;color:#f1f5f9;font-size:13px;padding:9px 13px;transition:border-color .2s;width:100px}.setting-input:focus{border-color:#3b82f6;outline:none}.setting-input:disabled{cursor:not-allowed;opacity:.5}.setting-unit{color:#64748b;font-size:12px}.setting-range-label{color:#475569;font-size:11px}.settings-status{border-radius:8px;font-size:13px;font-weight:500;padding:10px 16px}.settings-status.ok{background:#34d3991a;border:1px solid #34d3994d;color:#6ee7b7}.settings-status.err{background:#ef44441a;border:1px solid #ef44444d;color:#fca5a5}.settings-actions{display:flex;justify-content:flex-end}.settings-save-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 28px;transition:background .15s,transform .1s}.settings-save-btn:hover:not(:disabled){background:#2563eb}.settings-save-btn:active:not(:disabled){transform:scale(.98)}.settings-save-btn:disabled{cursor:not-allowed;opacity:.5}.settings-info-panel{background:#0f172a;border:1px solid #334155;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:20px 24px}.info-panel-title{color:#93c5fd;font-size:13px;font-weight:600;margin-bottom:4px}.info-panel-text{color:#94a3b8;font-size:13px}.info-panel-text code{border-radius:4px;padding:1px 6px}.info-panel-code,.info-panel-text code{background:#1e293b;color:#7dd3fc;font-size:12px}.info-panel-code{border:1px solid #334155;border-radius:6px;font-family:Cascadia Code,Fira Code,Consolas,monospace;overflow-x:auto;padding:10px 14px;white-space:pre}.outboard-badge{background:#eab3081a;border:1px solid #eab3084d;border-radius:8px;color:#fde047;font-size:12px;line-height:1.5;margin-top:8px;padding:8px 12px}.outboard-badge code{background:#0000004d;border-radius:4px;font-size:11px;padding:1px 5px}.input-mode-toggle{display:flex;flex-direction:column;flex-shrink:0;gap:4px}.mode-btn{align-items:center;background:#1e293b;border:1px solid #334155;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:38px;justify-content:center;transition:all .15s;width:38px}.mode-btn:hover:not(:disabled){background:#334155}.mode-btn.active{background:#3b82f6;border-color:#3b82f6}.mode-btn:disabled{cursor:not-allowed;opacity:.4}.audio-input-area{background:#1e293b;border:1px solid #334155;border-radius:12px;flex:1 1;gap:16px;padding:10px 16px}.audio-input-area,.mic-btn{align-items:center;display:flex}.mic-btn{background:#3b82f6;border:none;border-radius:50%;box-shadow:0 4px 14px #3b82f659;color:#fff;cursor:pointer;flex-shrink:0;font-size:26px;height:64px;justify-content:center;transition:background .15s,transform .1s,box-shadow .15s;width:64px}.mic-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.05)}.mic-btn:active:not(:disabled){transform:scale(.97)}.mic-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.4}.mic-btn.recording{animation:pulse-rec 1.2s ease-in-out infinite;background:#ef4444;box-shadow:0 0 0 6px #ef444440}@keyframes pulse-rec{0%,to{box-shadow:0 0 0 4px #ef444440}50%{box-shadow:0 0 0 10px #ef44441a}}.mic-hint{color:#94a3b8;font-size:13px;line-height:1.5}@media (max-width:768px){.dash-header{flex-wrap:wrap;gap:8px;height:auto;padding:10px 16px}.dash-brand{order:1}.dash-user{margin-left:auto;order:2}.user-role-badge{display:none}.dash-tabs{gap:6px;justify-content:center;order:3;width:100%}.tab-btn{flex:1 1;font-size:12px;padding:6px 8px;text-align:center}.dash-main{padding:12px}.chat-wrap{gap:8px;height:calc(100vh - 140px)}.msg-bubble{font-size:13px;max-width:90%}.suggestions-row{gap:4px}.suggestion-chip{font-size:11px;padding:4px 10px}.settings-card{padding:18px 16px}.setting-row{gap:8px;grid-template-columns:1fr}.login-card{padding:28px 20px}}@media (max-width:480px){.dash-title{font-size:15px}.tab-btn{font-size:11px;padding:5px 6px}.user-name{display:none}.chat-wrap{height:calc(100vh - 130px)}.mic-btn{font-size:22px;height:56px;width:56px}}
/*# sourceMappingURL=main.5d78e2fa.css.map*/