@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&family=Orbitron:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--navy:#1b1f3b;--navy-light:#242848;--navy-lighter:#2d3258;--charcoal:#14172b;--cream:#f0e8d4;--cream-dim:#f0e8d499;--cream-muted:#f0e8d459;--teal:#6a8fa7;--teal-dim:#6a8fa780;--steel:#3d5a80;--error:#e85d5d;--success:#5dcc8a;--font-display:"Orbitron", monospace;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--charcoal);color:var(--cream);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex}.auth-page{background:var(--charcoal);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.auth-page:before{content:"";background:radial-gradient(circle, var(--cream) 1px, transparent 1px);opacity:.02;pointer-events:none;background-size:24px 24px;position:absolute;inset:0}.auth-card{background:var(--navy);z-index:1;border:1px solid #f0e8d414;border-radius:2px;width:100%;max-width:420px;padding:48px 40px;position:relative}.auth-brand{text-align:center;margin-bottom:36px}.auth-brand .logo{font-family:var(--font-display);letter-spacing:4px;color:var(--cream);text-transform:uppercase;font-size:28px;font-weight:700}.auth-brand .tagline{font-family:var(--font-mono);letter-spacing:2px;color:var(--teal);text-transform:uppercase;margin-top:8px;font-size:11px}.auth-card h1{font-family:var(--font-body);text-align:center;color:var(--cream-dim);letter-spacing:.5px;margin-bottom:24px;font-size:18px;font-weight:500}.auth-card form{flex-direction:column;gap:14px;display:flex}.auth-card input{background:var(--charcoal);font-family:var(--font-body);color:var(--cream);border:1px solid #f0e8d41a;border-radius:2px;outline:none;padding:12px 16px;font-size:14px;transition:border-color .2s}.auth-card input::placeholder{color:var(--cream-muted)}.auth-card input:focus{border-color:var(--teal)}.auth-card button[type=submit]{background:var(--teal);color:var(--charcoal);font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;margin-top:4px;padding:12px 16px;font-size:14px;font-weight:600;transition:background .2s,transform .1s}.auth-card button[type=submit]:hover{background:#7da4b8}.auth-card button[type=submit]:active{transform:scale(.98)}.divider{text-align:center;color:var(--cream-muted);letter-spacing:2px;text-transform:uppercase;margin:20px 0;font-size:11px;position:relative}.divider:before,.divider:after{content:"";background:#f0e8d41a;width:38%;height:1px;position:absolute;top:50%}.divider:before{left:0}.divider:after{right:0}.google-btn{text-align:center;font-family:var(--font-body);color:var(--cream-dim);border:1px solid #f0e8d41a;border-radius:2px;padding:12px 16px;font-size:14px;text-decoration:none;transition:background .2s,border-color .2s;display:block}.google-btn:hover{background:#f0e8d40a;border-color:#f0e8d433}.auth-link{text-align:center;color:var(--cream-muted);margin-top:20px;font-size:13px}.auth-link a{color:var(--teal);text-decoration:none;transition:color .15s}.auth-link a:hover{color:#7da4b8}.error{color:var(--error);text-align:center;font-size:13px;font-family:var(--font-mono);margin-bottom:12px}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--navy);border-right:1px solid #f0e8d40f;flex-direction:column;flex-shrink:0;width:260px;min-width:260px;height:100vh;display:flex}.sidebar-header{justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.sidebar-brand{font-family:var(--font-display);letter-spacing:3px;color:var(--cream);text-transform:uppercase;font-size:16px;font-weight:600}.sidebar-toggle{width:32px;height:32px;color:var(--cream-muted);cursor:pointer;background:0 0;border:1px solid #f0e8d414;border-radius:2px;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.sidebar-toggle:hover{color:var(--cream-dim);border-color:#f0e8d433}.sidebar-toggle svg{width:16px;height:16px}.new-chat-btn{font-family:var(--font-body);color:var(--cream-dim);cursor:pointer;background:0 0;border:1px solid #f0e8d41a;border-radius:2px;align-items:center;gap:8px;margin:4px 12px 12px;padding:10px 14px;font-size:13px;transition:background .2s,border-color .2s;display:flex}.new-chat-btn:hover{background:#f0e8d40a;border-color:#f0e8d433}.conversation-list{flex:1;padding:0 8px;overflow-y:auto}.conversation-list::-webkit-scrollbar{width:4px}.conversation-list::-webkit-scrollbar-thumb{background:#f0e8d41a;border-radius:2px}.conversation-item{cursor:pointer;border-radius:2px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .15s;display:flex;position:relative}.conversation-item:hover{background:#f0e8d40a}.conversation-item.active{border-left:2px solid var(--teal);background:#6a8fa71a;padding-left:10px}.conversation-title{color:var(--cream-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13px;overflow:hidden}.conversation-item.active .conversation-title{color:var(--cream)}.conversation-delete{opacity:0;color:var(--cream-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;transition:opacity .15s,color .15s}.conversation-item:hover .conversation-delete{opacity:1}.conversation-delete:hover{color:var(--error)}.sidebar-footer{border-top:1px solid #f0e8d40f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.chat-layout{background:var(--charcoal);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex}.chat-header{background:var(--navy);border-bottom:1px solid #f0e8d40f;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.chat-header .brand{font-family:var(--font-display);letter-spacing:3px;color:var(--cream);text-transform:uppercase;font-size:16px;font-weight:600}.menu-btn{color:var(--cream-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.menu-btn:hover{color:var(--cream)}.logout-btn{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--cream-muted);cursor:pointer;background:0 0;border:1px solid #f0e8d41a;border-radius:2px;padding:6px 16px;font-size:11px;transition:border-color .2s,color .2s}.logout-btn:hover{color:var(--cream-dim);border-color:#f0e8d440}.status{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;display:flex}.status:before{content:"";border-radius:50%;width:6px;height:6px;display:inline-block}.status.connected:before{background:var(--success)}.status.disconnected:before{background:var(--error)}.status.connected{color:var(--success)}.status.disconnected{color:var(--error)}.message-list{flex-direction:column;flex:1;padding:32px 0;display:flex;overflow-y:auto}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:#f0e8d41a;border-radius:3px}.message-list::-webkit-scrollbar-thumb:hover{background:#f0e8d433}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 24px;display:flex}.empty-state .empty-icon{border:1px solid #f0e8d41f;border-radius:2px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:24px;display:flex}.empty-state .empty-icon svg{width:24px;height:24px;stroke:var(--teal);fill:none;stroke-width:1.5px}.empty-state h3{font-family:var(--font-display);letter-spacing:3px;text-transform:uppercase;color:var(--cream-dim);margin-bottom:12px;font-size:14px;font-weight:500}.empty-state p{color:var(--cream-muted);max-width:360px;font-size:14px;line-height:1.6}.loading-text{text-align:center;color:var(--cream-muted);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;margin-top:60px;font-size:12px}.message-row{width:100%;max-width:720px;margin:0 auto;padding:20px 24px}.message-row+.message-row{border-top:1px solid #f0e8d40a}.message-row.user{background:#f0e8d408}.message-row .message-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:500}.message-row.user .message-label{color:var(--cream-dim)}.message-row.agent .message-label{color:var(--teal)}.message-row .message-content{color:var(--cream);white-space:pre-wrap;word-wrap:break-word;font-size:15px;line-height:1.7}.message-row.agent .message-content{color:#f0e8d4d9}.message-row .message-time{font-family:var(--font-mono);color:var(--cream-muted);letter-spacing:.5px;margin-top:8px;font-size:10px}.input-area{background:var(--charcoal);flex-shrink:0;padding:16px 24px 24px}.input-container{max-width:720px;margin:0 auto;position:relative}.input-container textarea{background:var(--navy);width:100%;min-height:52px;max-height:200px;font-family:var(--font-body);color:var(--cream);resize:none;border:1px solid #f0e8d414;border-radius:2px;outline:none;padding:14px 52px 14px 18px;font-size:15px;line-height:1.5;transition:border-color .2s}.input-container textarea::placeholder{color:var(--cream-muted)}.input-container textarea:focus{border-color:#6a8fa780}.input-container textarea:disabled{opacity:.5}.send-btn{background:var(--teal);cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,opacity .2s;display:flex;position:absolute;bottom:10px;right:10px}.send-btn:hover:not(:disabled){background:#7da4b8}.send-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn svg{width:18px;height:18px;fill:var(--charcoal)}.input-hint{font-family:var(--font-mono);color:var(--cream-muted);text-align:center;letter-spacing:.5px;margin-top:8px;font-size:10px}.typing-row{width:100%;max-width:720px;margin:0 auto;padding:12px 24px}.typing-indicator{align-items:center;gap:8px;display:flex}.typing-label{font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);font-size:11px}.typing-dots{gap:4px;display:flex}.typing-dots .dot{background:var(--teal);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both typing-pulse}.typing-dots .dot:first-child{animation-delay:0s}.typing-dots .dot:nth-child(2){animation-delay:.2s}.typing-dots .dot:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.sidebar-backdrop{display:none}@media (width<=640px){.auth-card{margin:16px;padding:36px 24px}.sidebar-backdrop{z-index:99;background:#00000080;display:block;position:fixed;inset:0}.sidebar{z-index:100;position:fixed;top:0;left:0;box-shadow:4px 0 24px #00000080}.chat-layout,.app-layout,#root{height:100dvh}.message-row{padding-left:16px;padding-right:16px}.input-area{padding:8px 12px 12px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.input-container textarea{min-height:44px;padding:10px 48px 10px 14px;font-size:16px}.send-btn{width:32px;height:32px;bottom:8px;right:8px}.chat-header{padding:10px 12px}.chat-header .brand{letter-spacing:2px;font-size:14px}.input-hint{display:none}.message-list{padding:16px 0}.empty-state{padding:40px 16px}.empty-state h3{font-size:12px}.empty-state p{font-size:13px}}
