*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=light]{--bg-primary: #f5f6fa;--bg-secondary: #ffffff;--bg-chat: #f0f2f5;--bg-sidebar: #1e2235;--bg-sidebar-hover: #2a2f48;--bg-header: #ffffff;--bg-footer: #ffffff;--bg-input: #ffffff;--accent: #667eea;--accent-hover: #5a6fd6;--accent-gradient: linear-gradient(135deg, #272C48, #667eea);--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-on-accent: #ffffff;--user-bg: #e8ecff;--user-text: #1a1a2e;--user-bubble-bg: linear-gradient(145deg, #f0f2ff, #e0e5fb);--assistant-bg: #ffffff;--assistant-text: #1a1a2e;--border: #e5e7eb;--border-light: #f0f0f0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--header-shadow: 0 2px 8px rgba(0, 0, 0, .06);--footer-shadow: 0 -2px 8px rgba(0, 0, 0, .04)}[data-theme=dark]{--bg-primary: #0f1117;--bg-secondary: #1a1d2e;--bg-chat: #12141f;--bg-sidebar: #0d0f18;--bg-sidebar-hover: #1a1d2e;--bg-header: #1a1d2e;--bg-footer: #1a1d2e;--bg-input: #1e2235;--accent: #667eea;--accent-hover: #7b91f7;--accent-gradient: linear-gradient(135deg, #667eea, #8b9fff);--text-primary: #e4e4e7;--text-secondary: #9ca3af;--text-on-accent: #ffffff;--user-bg: #2d3a6e;--user-text: #e4e4e7;--user-bubble-bg: linear-gradient(145deg, #2d3a6e, #3a4a8a);--assistant-bg: #1e2235;--assistant-text: #e4e4e7;--border: #2a2f48;--border-light: #222640;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--header-shadow: 0 2px 8px rgba(0, 0, 0, .3);--footer-shadow: 0 -2px 8px rgba(0, 0, 0, .3)}html,body,#root{height:100%;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.app-layout{display:flex;height:100%;position:relative}.sidebar{width:280px;background:var(--bg-sidebar);color:#c9cdd8;display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06);transform:translate(-100%);position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-header{padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between}.sidebar-header h3{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#9ca3b0}.sidebar-search{display:flex;align-items:center;gap:6px;margin:10px 12px 0;padding:6px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:border-color .2s}.sidebar-search:focus-within{border-color:#667eea80}.sidebar-search-icon{flex-shrink:0;color:#6b7280}.sidebar-search-input{flex:1;min-width:0;background:none;border:none;outline:none;color:#c9cdd8;font-size:13px;font-family:inherit;padding:0}.sidebar-search-input::placeholder{color:#6b7280}.sidebar-search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:#6b7280;cursor:pointer;flex-shrink:0;transition:all .15s}.sidebar-search-clear:hover{background:#ffffff1a;color:#c9cdd8}.sidebar-content{flex:1;overflow-y:auto;padding:12px}.sidebar-placeholder{padding:20px 8px;font-size:13px;color:#6b7280;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.sidebar-spinner{width:24px;height:24px;border:2.5px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.sidebar-new-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:transparent;color:#9ca3b0;cursor:pointer;transition:all .2s;flex-shrink:0}.sidebar-new-btn:hover{background:#ffffff1a;color:#fff;border-color:#ffffff40}.chat-tab{display:flex;align-items:center;gap:6px;padding:10px 12px;margin-bottom:2px;border-radius:8px;cursor:pointer;transition:background .15s}.chat-tab:hover{background:var(--bg-sidebar-hover)}.chat-tab.active{background:var(--bg-sidebar-hover);border-left:3px solid var(--accent);padding-left:9px}.chat-tab-title{flex:1;min-width:0;font-size:13px;font-weight:400;color:#c9cdd8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-tab.active .chat-tab-title{color:#fff;font-weight:500}.chat-tab-rename-input{flex:1;min-width:0;font-size:13px;font-family:inherit;color:#fff;background:#ffffff1a;border:1px solid var(--accent);border-radius:4px;padding:2px 6px;outline:none}.chat-tab-rename{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:5px;background:transparent;color:#6b7280;cursor:pointer;opacity:0;transition:all .15s;flex-shrink:0}.chat-tab:hover .chat-tab-rename{opacity:1}.chat-tab-rename:hover{background:#667eea33;color:var(--accent)}.chat-tab-delete{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:5px;background:transparent;color:#6b7280;cursor:pointer;opacity:0;transition:all .15s;flex-shrink:0}.chat-tab:hover .chat-tab-delete{opacity:1}.chat-tab-delete:hover{background:#ef444433;color:#ef4444}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.main-area{flex:1;display:flex;flex-direction:column;height:100%;min-width:0}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:70px;background:var(--bg-header);border-bottom:1px solid var(--border);box-shadow:var(--header-shadow);flex-shrink:0;z-index:10}.header-left{display:flex;align-items:center;gap:16px}.menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.menu-btn:hover{background:var(--bg-chat);color:var(--text-primary)}.header-logo-link{text-decoration:none;display:flex;align-items:center}.header-logo-img{height:55px;width:auto;object-fit:contain}.logo-text{font-size:18px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}.tia-brand{font-size:2.2rem;font-weight:700;background:linear-gradient(45deg,#272c48,#667eea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;letter-spacing:2px;transition:opacity .2s}.tia-brand:hover{opacity:.85}[data-theme=dark] .tia-brand{background:linear-gradient(45deg,#8b9fff,#b3c1ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(139,159,255,.6));animation:glow-text 3s ease-in-out infinite alternate}@keyframes glow-text{0%{filter:drop-shadow(0 0 10px rgba(139,159,255,.6))}to{filter:drop-shadow(0 0 20px rgba(139,159,255,.9))}}[data-theme=dark] .header-logo-img{filter:drop-shadow(0 0 12px rgba(139,159,255,.5)) drop-shadow(0 0 25px rgba(179,193,255,.4));animation:glow-img 3s ease-in-out infinite alternate}@keyframes glow-img{0%{filter:drop-shadow(0 0 12px rgba(139,159,255,.5)) drop-shadow(0 0 25px rgba(179,193,255,.4))}to{filter:drop-shadow(0 0 20px rgba(139,159,255,.7)) drop-shadow(0 0 35px rgba(179,193,255,.6))}}.header-right{display:flex;align-items:center;gap:12px}.user-status{font-size:13px;color:var(--text-secondary)}.dashboard-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-gradient);color:var(--text-on-accent);border:none;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.dashboard-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.auth-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-area{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--bg-chat)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-logo{width:72px;height:72px;object-fit:contain;margin-bottom:20px}.empty-state h2{font-size:24px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.empty-state p{font-size:15px;max-width:480px;line-height:1.6}.message{display:flex;gap:12px;max-width:1000px;width:100%;margin:0 auto;animation:fadeIn .25s ease}.message.user{flex-direction:row-reverse}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.message.user .message-avatar{background:var(--user-bg);color:var(--user-text)}.message.assistant .message-avatar{background:transparent;padding:0;overflow:hidden}.avatar-logo{width:100%;height:100%;object-fit:contain;border-radius:50%}.message-body{flex:1;min-width:0;display:flex;flex-direction:column}.message.user .message-body{align-items:flex-end}.message-content{width:100%;background:var(--assistant-bg);color:var(--assistant-text);border-radius:14px;padding:14px 18px;font-size:inherit;line-height:1.7;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.message.user .message-content{background:var(--user-bubble-bg);color:var(--user-text);border:none}.copy-btn{align-self:flex-end;margin-top:4px;padding:2px 8px;background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s ease,color .2s ease;border-radius:4px}.message:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--accent)}.copy-btn.copied{opacity:1;color:var(--accent)}.message.user .copy-btn{align-self:flex-end}.message-content p{margin-bottom:8px}.message-content p:last-child{margin-bottom:0}.message-content pre{background:var(--bg-primary);border-radius:8px;padding:14px;overflow-x:auto;margin:10px 0;font-size:13px;border:1px solid var(--border)}.message-content code{background:var(--bg-primary);padding:2px 6px;border-radius:4px;font-size:13px;font-family:Cascadia Code,Fira Code,Consolas,monospace}.message-content pre code{background:none;padding:0}.message-content ul,.message-content ol{padding-left:20px;margin:8px 0}.message-content li{margin-bottom:4px}.message-content h1,.message-content h2,.message-content h3{margin:14px 0 8px;font-weight:600}.message-content h1{font-size:1.4em}.message-content h2{font-size:1.2em}.message-content h3{font-size:1.05em}.message-content blockquote{border-left:3px solid var(--accent);padding-left:14px;margin:10px 0;color:var(--text-secondary)}.message-content a{color:var(--accent);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content table{width:100%;border-collapse:collapse;margin:10px 0}.message-content th,.message-content td{border:1px solid var(--border);padding:8px 12px;text-align:left;font-size:13px}.message-content th{background:var(--bg-primary);font-weight:600}.streaming .cursor{display:inline-block;width:2px;height:16px;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .8s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.status-message{display:flex;align-items:center;gap:10px;padding:4px 0;color:var(--accent);font-size:13px}.status-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.thinking{display:flex;gap:5px;padding:4px 0}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);animation:bounce 1.2s infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-section{padding:12px 24px;background:var(--bg-chat);flex-shrink:0}.input-wrapper{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:14px;padding:8px 12px;max-width:1000px;margin:0 auto;transition:border-color .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #667eea26}.input-wrapper textarea{flex:1;width:100%;min-width:0;background:none;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:inherit;resize:none;height:21px;max-height:120px;line-height:1.5;padding:0;margin:0;overflow-wrap:break-word;word-wrap:break-word;overflow-y:hidden}.input-wrapper textarea::placeholder{color:var(--text-secondary)}.send-btn,.stop-btn{flex-shrink:0;width:36px;height:36px;border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.send-btn{background:var(--accent);color:#fff}.send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.send-btn:disabled{opacity:.25;cursor:default}.stop-btn{background:#ef4444;color:#fff}.stop-btn:hover{background:#dc2626;transform:scale(1.05)}.app-footer{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;background:var(--bg-footer);border-top:1px solid var(--border);box-shadow:var(--footer-shadow);flex-shrink:0}.footer-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.footer-btn.icon-only{padding:7px 10px}.footer-btn:hover{background:var(--bg-chat);color:var(--accent)}.footer-btn svg{flex-shrink:0}.footer-btn span{font-size:12px}.chat-area::-webkit-scrollbar{width:6px}.chat-area::-webkit-scrollbar-track{background:transparent}.chat-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chat-area::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);padding:20px}.login-card{text-align:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;padding:48px 40px;max-width:420px;width:100%;box-shadow:var(--shadow-lg)}.login-logo-img{width:120px;height:auto;margin-bottom:24px}.login-card h1{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.login-card p{font-size:14px;color:var(--text-secondary);margin-bottom:32px}.login-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;background:var(--accent-gradient);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.login-btn:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #667eea59}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.user-name{font-size:13px;font-weight:600;color:var(--text-primary)}.user-email{font-size:11px;color:var(--text-secondary)}.delete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.delete-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:28px 32px;max-width:420px;width:90%;z-index:201;box-shadow:var(--shadow-lg)}.delete-modal h3{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.delete-modal p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.delete-modal-buttons{display:flex;gap:10px;justify-content:flex-end}.delete-modal-cancel{padding:9px 20px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s}.delete-modal-cancel:hover{background:var(--bg-chat)}.delete-modal-confirm{padding:9px 20px;border:none;border-radius:10px;background:#ef4444;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.delete-modal-confirm:hover{background:#dc2626}.footer-btn:disabled{opacity:.35;cursor:default}.footer-btn:disabled:hover{background:transparent;color:var(--text-secondary)}@media (max-width: 768px){.app-header{padding:0 12px;height:56px}.header-right .user-info{display:none}.logo-text{font-size:15px}.tia-brand{font-size:1.6rem}.header-logo-img{height:40px}.chat-area{padding:16px 12px}.input-section{padding:10px 12px}.message{gap:8px}.message-avatar{width:32px;height:32px;font-size:10px}.message-content{padding:10px 14px;font-size:13px}.app-footer{gap:2px;padding:6px 8px;flex-wrap:wrap}.footer-btn{padding:6px 10px;font-size:11px}.footer-btn span{display:none}.footer-btn.icon-only{padding:6px 8px}}@media (min-width: 1200px){.sidebar{position:relative;transform:translate(0)}.sidebar.open{transform:translate(0)}.sidebar:not(.open){transform:translate(-100%);width:0;border:none;overflow:hidden}.sidebar-overlay{display:none}}.db-nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#c9cdd8;cursor:pointer;font-size:13px;font-weight:500;font-family:inherit;transition:background .15s,color .15s;text-decoration:none;border:none;background:transparent;width:100%;text-align:left;margin-bottom:2px}.db-nav-link:hover{background:var(--bg-sidebar-hover);color:#fff}.db-nav-link.active{background:var(--bg-sidebar-hover);border-left:3px solid var(--accent);padding-left:9px;color:#fff}.db-main{flex:1;overflow-y:auto;background:var(--bg-chat);padding:24px}.db-main::-webkit-scrollbar{width:6px}.db-main::-webkit-scrollbar-track{background:transparent}.db-main::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.db-page{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.db-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow-sm)}.db-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.db-card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.2px}.db-usage-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.db-usage-fill{height:100%;background:var(--accent-gradient);border-radius:4px;transition:width .4s ease}.db-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;white-space:nowrap;background:var(--bg-chat);color:var(--text-secondary)}.db-badge-active{background:#22c55e1f;color:#16a34a}.db-badge-pending{background:#eab3081f;color:#a16207}.db-badge-deactivated{background:#6b72801f;color:#6b7280}.db-badge-trialing{background:#3b82f61f;color:#2563eb}.db-badge-cancelled{background:#ef44441f;color:#dc2626}.db-badge-admin{background:#667eea26;color:var(--accent)}[data-theme=dark] .db-badge-active{color:#4ade80}[data-theme=dark] .db-badge-pending{color:#fbbf24}[data-theme=dark] .db-badge-trialing{color:#60a5fa}[data-theme=dark] .db-badge-cancelled{color:#f87171}.db-table-wrapper{overflow-x:auto;border-radius:10px;border:1px solid var(--border-light)}.db-table{width:100%;border-collapse:collapse;font-size:13px}.db-table th{padding:10px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);background:var(--bg-chat);border-bottom:1px solid var(--border);white-space:nowrap}.db-table td{padding:13px 14px;border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:middle}.db-table tbody tr:last-child td{border-bottom:none}.db-table tbody tr:hover td{background:var(--bg-chat);transition:background .1s}.db-avatar-sm{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.db-avatar-inactive{background:var(--border)!important;color:var(--text-secondary)!important}.db-action-btn{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.db-action-primary{background:#667eea1f;color:var(--accent)}.db-action-primary:hover{background:#667eea38}.db-action-secondary{background:var(--bg-chat);color:var(--text-secondary)}.db-action-secondary:hover{background:var(--border)}.db-action-danger{background:#ef44441a;color:#ef4444}.db-action-danger:hover{background:#ef444433}.db-action-success{background:#22c55e1a;color:#16a34a}.db-action-success:hover{background:#22c55e33}.db-action-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.db-billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.db-info-box{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:10px;font-size:13px;background:#667eea14;color:var(--accent);border:1px solid rgba(102,126,234,.15);margin-top:12px;line-height:1.5}.db-info-box-warning{background:#eab30814;color:#a16207;border-color:#eab30833}[data-theme=dark] .db-info-box-warning{color:#fbbf24}.db-trial-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:13px;background:#3b82f614;color:#2563eb;border:1px solid rgba(59,130,246,.15);margin-top:10px}[data-theme=dark] .db-trial-banner{color:#60a5fa}.db-downgrade-notice{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-size:12px;background:#eab30814;color:#a16207;border:1px solid rgba(234,179,8,.2);margin-top:10px}[data-theme=dark] .db-downgrade-notice{color:#fbbf24}.db-toast{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);animation:db-slide-in .3s ease;max-width:380px}.db-toast-success{background:#16a34a;color:#fff}.db-toast-error{background:#dc2626;color:#fff}@keyframes db-slide-in{0%{transform:translateY(16px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.db-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.db-modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;padding:28px 32px;width:100%;max-width:480px;box-shadow:var(--shadow-lg);animation:db-modal-in .2s ease}@keyframes db-modal-in{0%{transform:translateY(-8px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.db-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.db-modal-title{font-size:18px;font-weight:700;color:var(--text-primary)}.db-modal-close{width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-chat);color:var(--text-secondary);cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s;padding:0 0 2px}.db-modal-close:hover{background:var(--border);color:var(--text-primary)}.db-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.db-form-field{margin-bottom:16px}.db-form-field label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.db-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.db-form-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}.db-form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #667eea26}.db-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;background:var(--accent-gradient);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.db-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.db-btn-primary:disabled{opacity:.45;cursor:not-allowed}.db-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:10px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.db-btn-secondary:hover{background:var(--bg-chat)}.db-btn-warning{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;background:#eab30826;color:#a16207;border:1px solid rgba(234,179,8,.25);border-radius:10px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.db-btn-warning:hover:not(:disabled){background:#eab30840}.db-btn-warning:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .db-btn-warning{color:#fbbf24;border-color:#fbbf244d;background:#fbbf241a}.db-btn-white{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:#fff;color:#272c48;border:none;border-radius:8px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.db-btn-white:hover{background:#f0f2ff}.db-plan-summary{display:flex;align-items:center;justify-content:space-between;background:var(--bg-chat);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:16px}.db-annual-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,#272c48,#667eea);border-radius:12px;padding:16px;margin-bottom:8px}.db-license-control{display:flex;align-items:center;gap:10px;margin-top:8px}.db-license-btn{width:36px;height:36px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.db-license-btn:hover:not(:disabled){background:var(--bg-chat);border-color:var(--accent)}.db-license-btn:disabled{opacity:.35;cursor:not-allowed}.db-price-preview{margin-top:14px;padding:14px 16px;background:var(--bg-chat);border:1px solid var(--border);border-radius:10px}.db-analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.db-analytics-stat{position:relative;background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:18px 16px 14px;text-align:center;overflow:hidden}.db-analytics-stat-accent{position:absolute;top:0;left:0;right:0;height:3px;border-radius:10px 10px 0 0}.db-analytics-bar-track{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.db-analytics-bar-fill{height:100%;background:var(--accent-gradient);border-radius:3px;transition:width .4s ease}.db-hourly-chart{display:flex;align-items:stretch;gap:4px;padding:8px 4px 0;height:220px}.db-hourly-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.db-hourly-count{font-size:10px;font-weight:700;color:var(--text-secondary);height:16px;line-height:16px;flex-shrink:0}.db-hourly-bar-track{flex:1;width:100%;position:relative;display:flex;flex-direction:column;justify-content:flex-end}.db-hourly-bar-fill{width:100%;background:linear-gradient(180deg,#667eea,#8b9fff);border-radius:3px 3px 0 0;transition:height .4s ease}.db-hourly-bar-col:hover .db-hourly-bar-fill{background:linear-gradient(180deg,#5a6fd6,#667eea)}.db-hourly-bar-col:hover .db-hourly-count{color:var(--text-primary)}.db-hourly-label{font-size:10px;color:var(--text-secondary);font-weight:500;height:20px;line-height:20px;flex-shrink:0;border-top:1px solid var(--border)}@media (max-width: 768px){.db-main{padding:16px 12px}.db-billing-grid,.db-form-row{grid-template-columns:1fr}.db-modal{padding:22px 20px}.db-card{padding:16px}.db-toast{bottom:12px;right:12px;left:12px}.db-analytics-grid{grid-template-columns:repeat(2,1fr)}.db-hourly-chart{height:120px}.db-hourly-label,.db-hourly-count{font-size:8px}}@media (max-width: 768px){html,body,#root{height:100dvh}.header-right{gap:6px}.auth-btn{padding:6px 8px;font-size:11px;border-color:transparent}.auth-btn svg{width:14px;height:14px}.auth-btn-label{display:none}.app-footer{flex-wrap:wrap;gap:2px;padding:6px 8px}.footer-btn{padding:8px 10px;font-size:11px;min-height:36px;min-width:36px;justify-content:center}.footer-btn.icon-only{padding:8px;min-height:36px;min-width:36px}.footer-btn span{display:none}}
