html,body,#root{min-height:100%}*{box-sizing:border-box}:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f8fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{scroll-behavior:smooth}body{background:#f7f8fa;min-width:320px;margin:0}button,input,select{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #1118271f}.auth-page{background:radial-gradient(circle at 0 0,#1118270f,#0000 34%),#f7f8fa;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;width:100%;max-width:470px;padding:38px;box-shadow:0 20px 60px #0f172a14}.brand,.sidebar-brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:#111827;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:flex}.brand strong,.sidebar-brand strong{letter-spacing:-.02em;font-size:17px;display:block}.brand span,.sidebar-brand span{color:#9ca3af;margin-top:2px;font-size:12px;display:block}.auth-heading{margin-top:48px}.eyebrow{color:#6b7280;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.auth-heading h1{letter-spacing:-.04em;margin:0;font-size:32px;line-height:1.1}.auth-heading p{color:#6b7280;margin:14px 0 0;line-height:1.7}.auth-form{gap:18px;margin-top:30px;display:grid}.auth-form label{color:#374151;gap:8px;font-size:13px;font-weight:700;display:grid}.auth-form input{color:#111827;background:#fff;border:1px solid #dfe3e8;border-radius:11px;width:100%;height:48px;padding:0 14px;transition:border-color .2s,box-shadow .2s}.auth-form input:focus{border-color:#9ca3af;outline:none;box-shadow:0 0 0 4px #1118270d}.primary-button{color:#fff;cursor:pointer;background:#111827;border-radius:11px;min-height:48px;padding:0 20px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.primary-button:hover{background:#1f2937;transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-switch{color:#6b7280;justify-content:center;gap:5px;margin-top:25px;font-size:13px;display:flex}.auth-switch button{color:#111827;cursor:pointer;background:0 0;padding:0;font-weight:700}.error-box{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}.dashboard-error{margin-bottom:24px}.loading-page{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;font-size:14px;display:flex}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#111827;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:245px;padding:28px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{padding:0 10px}.sidebar-nav{gap:6px;margin-top:50px;display:grid}.nav-item{color:#6b7280;text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 13px;font-size:13px;font-weight:700;transition:background .2s,color .2s;display:flex}.nav-item span{color:#9ca3af;width:22px;font-size:16px}.nav-item:hover,.nav-item.active{color:#111827;background:#f3f4f6}.nav-item.active span{color:#111827}.sidebar-bottom{margin-top:auto}.account-mini{border-top:1px solid #f0f1f3;border-bottom:1px solid #f0f1f3;align-items:center;gap:10px;padding:12px;display:flex}.avatar,.top-avatar{color:#fff;background:#111827;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:flex}.account-mini strong{color:#374151;text-overflow:ellipsis;white-space:nowrap;max-width:155px;font-size:12px;display:block;overflow:hidden}.account-mini span{color:#9ca3af;margin-top:2px;font-size:11px;display:block}.logout-button{color:#6b7280;cursor:pointer;background:#f9fafb;border-radius:9px;width:100%;margin-top:12px;padding:10px;font-size:12px;font-weight:700}.logout-button:hover{color:#111827;background:#f3f4f6}.main-content{width:calc(100% - 245px);min-height:100vh;margin-left:245px;padding:38px 52px 80px}.topbar{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto 34px;display:flex}.topbar h1{letter-spacing:-.04em;margin:0;font-size:30px}.topbar-right{align-items:center;gap:16px;display:flex}.live-badge{color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:700;display:flex}.live-badge span{background:#16a34a;border-radius:50%;width:7px;height:7px}.empty-chatbot-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:22px;max-width:1100px;margin:80px auto;padding:70px 30px;box-shadow:0 15px 45px #0f172a0a}.empty-chatbot-icon{color:#fff;background:#111827;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 24px;font-size:24px;display:flex}.empty-chatbot-card h2{letter-spacing:-.04em;margin:0;font-size:30px}.empty-chatbot-card p{color:#6b7280;max-width:570px;margin:14px auto 28px;line-height:1.7}.hero-card{color:#fff;background:#111827;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:30px;max-width:1100px;margin:0 auto 20px;padding:32px;display:flex;box-shadow:0 18px 45px #11182726}.hero-card .eyebrow{color:#9ca3af}.hero-card h2{letter-spacing:-.04em;max-width:680px;margin:0;font-size:32px;line-height:1.15}.hero-card p{color:#cbd5e1;max-width:650px;margin:13px 0 0;line-height:1.7}.hero-stat{background:#1f2937;border:1px solid #374151;border-radius:14px;min-width:130px;padding:18px}.hero-stat span{color:#9ca3af;text-transform:uppercase;font-size:11px;display:block}.hero-stat strong{margin-top:6px;font-size:28px;display:block}.chatbot-selector-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;max-width:1100px;margin:0 auto 20px;padding:20px 24px;display:flex}.chatbot-selector-card h3{margin:0;font-size:18px}.chatbot-selector-card select{color:#111827;cursor:pointer;background:#fff;border:1px solid #dfe3e8;border-radius:9px;min-width:230px;height:42px;padding:0 12px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1100px;margin:0 auto 20px;display:grid}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px}.stat-card span{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;display:block}.stat-card strong{letter-spacing:-.03em;margin-top:9px;font-size:23px;display:block}.status-text.ready{color:#15803d}.status-text.failed{color:#dc2626}.status-text.processing{color:#b45309}.upload-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;max-width:1100px;margin:0 auto 20px;padding:28px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-heading h2,.section-header h2{letter-spacing:-.03em;margin:0;font-size:22px}.section-heading p,.section-header p{color:#6b7280;margin:8px 0 0;font-size:13px;line-height:1.6}.upload-icon{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.upload-button{color:#111827;cursor:pointer;background:#f9fafb;border:1px dashed #cbd5e1;border-radius:12px;width:100%;min-height:50px;margin-top:25px;font-size:14px;font-weight:700;transition:background .2s,border-color .2s}.upload-button:hover{background:#f3f4f6;border-color:#9ca3af}.upload-button:disabled{opacity:.55;cursor:not-allowed}.upload-hint{color:#9ca3af;margin-top:10px;font-size:11px;display:block}.files-section{background:#fff;border:1px solid #e5e7eb;border-radius:18px;max-width:1100px;margin:0 auto 20px;padding:28px}.section-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.refresh-button{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9px;min-height:38px;padding:0 14px;font-size:12px;font-weight:700}.refresh-button:hover{background:#f9fafb}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.files-list{margin-top:22px}.file-row{border-top:1px solid #f0f1f3;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.file-info{align-items:center;gap:13px;min-width:0;display:flex}.file-icon{color:#374151;background:#f3f4f6;border-radius:10px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:9px;font-weight:800;display:flex}.file-info strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:13px;display:block;overflow:hidden}.file-info span{color:#9ca3af;margin-top:4px;font-size:11px;display:block}.file-actions{align-items:center;gap:12px;display:flex}.file-status{text-align:center;text-transform:uppercase;border-radius:999px;min-width:76px;padding:6px 9px;font-size:10px;font-weight:800}.file-status.ready{color:#15803d;background:#ecfdf5}.file-status.failed{color:#dc2626;background:#fef2f2}.file-status.processing{color:#b45309;background:#fffbeb}.delete-file-button{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:8px;min-height:34px;padding:0 12px;font-size:11px;font-weight:700;transition:background .2s,border-color .2s}.delete-file-button:hover{background:#fef2f2;border-color:#fca5a5}.delete-file-button:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:210px;display:flex}.empty-file-icon{color:#9ca3af;background:#f3f4f6;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:7px;display:flex}.empty-state strong{font-size:14px}.empty-state span{color:#9ca3af;max-width:420px;font-size:12px;line-height:1.6}.connect-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;max-width:1100px;margin:0 auto;padding:32px}.connect-content{max-width:800px}.connect-card h2{letter-spacing:-.04em;margin:0;font-size:27px}.connect-card>div>p{color:#6b7280;margin:12px 0 28px;line-height:1.7}.steps{gap:12px;display:grid}.step{background:#fafafa;border:1px solid #eef0f2;border-radius:12px;gap:15px;padding:17px;display:flex}.step>span{color:#9ca3af;font-size:11px;font-weight:800}.step strong{font-size:13px;display:block}.step p{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.5}.code-preview{background:#111827;border-radius:12px;margin-top:22px;overflow:hidden}.integration-note{background:#f9fafb;border-radius:10px;gap:10px;margin-top:14px;padding:13px;display:flex}.integration-note strong{color:#374151;flex:none;font-size:11px}@media (width<=900px){.sidebar{border-bottom:1px solid #e5e7eb;border-right:0;width:100%;height:auto;padding:18px;position:static}.app-shell{display:block}.sidebar-nav{margin-top:18px;display:flex}.nav-item{flex:1}.sidebar-bottom{margin-top:18px}.account-mini{display:none}.logout-button{margin-top:10px}.main-content{width:100%;margin-left:0;padding:28px 20px 60px}}@media (width<=680px){.auth-card{border-radius:18px;padding:28px 22px}.auth-heading{margin-top:35px}.auth-heading h1{font-size:27px}.topbar{align-items:flex-start}.topbar h1{font-size:25px}.live-badge{display:none}.hero-card{flex-direction:column;align-items:stretch;padding:25px}.hero-card h2{font-size:27px}.hero-stat{width:100%}.stats-grid{grid-template-columns:1fr}.chatbot-selector-card{flex-direction:column;align-items:stretch}.chatbot-selector-card select{width:100%}.section-heading,.section-header{flex-direction:column;align-items:flex-start}.refresh-button{width:100%}.file-row{flex-direction:column;align-items:flex-start}.file-actions{justify-content:space-between;width:100%}.file-info strong{max-width:240px}.connect-card,.files-section,.upload-card{padding:22px}}@media (width<=430px){.main-content{padding-left:14px;padding-right:14px}.sidebar{padding-left:12px;padding-right:12px}.sidebar-nav{overflow-x:auto}.nav-item{min-width:125px}.hero-card h2{font-size:24px}.connect-card h2{font-size:23px}.file-actions{flex-direction:column;align-items:stretch}.file-status,.delete-file-button{width:100%}}.install-card{width:100%}.install-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.install-number{color:#fff;background:#111827;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:flex}.install-header strong{color:#111827;font-size:18px;display:block}.install-header p{color:#6b7280;margin:5px 0 0;font-size:14px}.api-key-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:24px;padding:20px}.api-key-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.api-key-header strong{color:#111827;font-size:15px;display:block}.api-key-header p{color:#6b7280;margin:5px 0 0;font-size:13px}.generate-api-key-btn{color:#fff;cursor:pointer;background:#111827;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;transition:transform .15s,opacity .15s}.generate-api-key-btn:hover{transform:translateY(-1px)}.generate-api-key-btn:disabled{opacity:.6;cursor:not-allowed}.api-key-result{margin-top:18px}.api-key-value{background:#fff;border:1px solid #d1d5db;border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.api-key-value code{color:#111827;flex:1;min-width:0;padding:12px 14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;overflow-x:auto}.copy-api-key-btn{color:#111827;cursor:pointer;background:#fff;border:none;border-left:1px solid #e5e7eb;flex-shrink:0;padding:0 16px;font-size:12px;font-weight:600}.copy-api-key-btn:hover{background:#f3f4f6}.api-key-warning{align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.api-key-warning strong{color:#b45309}.api-key-warning span{color:#6b7280}.api-key-error{color:#b91c1c;background:#fef2f2;border-radius:9px;margin-top:12px;padding:10px 12px;font-size:13px}.code-preview{background:#111827;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}.code-top{color:#9ca3af;border-bottom:1px solid #374151;justify-content:space-between;padding:12px 16px;font-size:12px;font-weight:600;display:flex}.code-preview pre{color:#e5e7eb;margin:0;padding:20px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7;overflow-x:auto}.integration-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.integration-step{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:12px;padding:16px;display:flex}.step-number{color:#111827;background:#f3f4f6;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.integration-step strong{color:#111827;font-size:13px;display:block}.integration-step p{color:#6b7280;margin:5px 0 0;font-size:12px;line-height:1.5}.integration-note{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;gap:10px;margin-top:18px;padding:14px 16px;display:flex}.integration-note strong{color:#92400e;flex-shrink:0;font-size:13px}.integration-note span{color:#78350f;font-size:12px;line-height:1.5}@media (width<=800px){.api-key-header{flex-direction:column;align-items:flex-start}.generate-api-key-btn{width:100%}.integration-steps{grid-template-columns:1fr}}@media (width<=520px){.api-key-value{flex-direction:column}.copy-api-key-btn{border-top:1px solid #e5e7eb;border-left:none;padding:10px}}
