:root{--bg: #14100c;--bg-card: #1d1712;--border: #2c2219;--accent: #b58b4a;--text: #f5efe6;--text-muted: #cbbfae;--error: #e08585}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:.75rem}.login-card h1{margin:0 0 .5rem;color:var(--accent);font-size:1.5rem}.login-card label{font-size:.85rem;color:var(--text-muted)}.login-card input{padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1rem}.login-card input:focus{outline:2px solid var(--accent)}.login-card button{margin-top:.5rem;padding:.7rem;border:none;border-radius:8px;background:var(--accent);color:var(--bg);font-weight:600;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.error{color:var(--error);font-size:.85rem;margin:0}.dashboard-page{min-height:100vh}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.dashboard-header h1{color:var(--accent);font-size:1.25rem;margin:0}.dashboard-title{cursor:pointer}.dashboard-nav{display:flex;gap:1rem;flex:1;margin-left:1.5rem}.dashboard-nav .link-btn{font-size:.9rem}.lang-switcher{display:flex;gap:.25rem;margin-right:.75rem}.lang-btn{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer;font-size:.85rem;line-height:1}.lang-btn.active{background:var(--accent);color:#fff}.dashboard-header>button{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--accent);background:transparent;color:var(--accent);cursor:pointer}main{padding:1.5rem}.departures-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.departures-toolbar h2{margin:0;color:var(--accent);font-size:1.1rem}.departures-toolbar input[type=date]{padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.empty-state{color:var(--text-muted)}.spinner{width:28px;height:28px;margin:2rem auto;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.departures-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.departure-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.departure-main{display:flex;gap:1rem;min-width:0}.departure-time{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.departure-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.departure-tour,.departure-meta{color:var(--text-muted);font-size:.85rem}.departure-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.status-buttons{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.status-btn{padding:.4rem .6rem;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.85rem;cursor:pointer}.status-btn:disabled{opacity:.6;cursor:default}.status-btn.active{border-color:var(--accent);background:var(--accent);color:var(--bg)}.link-btn{padding:0;border:none;background:none;color:var(--accent);text-decoration:underline;font-size:.85rem;cursor:pointer}.conversation-page .link-btn{display:inline-block;margin-bottom:1rem}.conversation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.conversation-header h2{margin:0 0 .15rem;color:var(--accent);font-size:1.1rem}.conversation-thread{display:flex;flex-direction:column;gap:.6rem;max-height:60vh;overflow-y:auto;padding:.25rem;margin-bottom:1rem}.bubble{max-width:75%;border-radius:12px;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border)}.bubble-in{align-self:flex-start}.bubble-out{align-self:flex-end;background:var(--accent);color:var(--bg);border-color:var(--accent)}.bubble-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.2rem}.bubble-out .bubble-meta{color:var(--bg);opacity:.75}.bubble-body{margin:0;white-space:pre-wrap;word-break:break-word}.composer{display:flex;gap:.5rem}.composer select{border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);padding:.5rem}.composer input{flex:1;min-width:0;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.composer button{padding:.6rem 1rem;border-radius:8px;border:none;background:var(--accent);color:var(--bg);font-weight:600;cursor:pointer}.composer button:disabled{opacity:.6;cursor:default}.search-toolbar{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.search-toolbar h2{margin:0;color:var(--accent);font-size:1.1rem}.search-toolbar input{padding:.65rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);font-size:1rem}.search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.load-more-btn{align-self:center;margin-top:1rem;padding:.5rem 1.25rem;border-radius:8px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:.9rem}.load-more-btn:disabled{opacity:.6;cursor:default}.conversation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;max-width:720px}.conversation-row{width:100%;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem 1rem;cursor:pointer;display:block;transition:border-color .15s}.conversation-row:hover{border-color:#2563eb}.conversation-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.conversation-name{font-weight:600}.conversation-time{font-size:.8rem;color:#64748b;white-space:nowrap}.conversation-preview{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.9rem;color:#334155;min-width:0}.preview-body{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-badge{font-size:.7rem;font-weight:600;background:#dbeafe;color:#1e40af;border-radius:4px;padding:.1rem .4rem;white-space:nowrap}.search-result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.search-result-btn{width:100%;padding:1rem;border:none;background:none;color:inherit;text-align:left;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.search-result-card>.departure-info{padding:1rem}.status-badge{padding:.2rem .5rem;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font-size:.75rem;white-space:nowrap}.client-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.client-header h2{margin:0 0 .15rem;color:var(--accent);font-size:1.1rem}.client-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.client-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.client-field{display:flex;flex-direction:column;gap:.15rem}.vibe-section{margin-top:1.25rem}.vibe-section h3{margin:0 0 .5rem;color:var(--accent);font-size:1rem}.notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.note-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:.6rem .75rem}.note-card .bubble-time{color:var(--text-muted);font-size:.75rem}@media (max-width: 480px){.dashboard-nav{margin-left:.75rem;gap:.75rem}.search-result-btn,.client-header{flex-direction:column}.client-card{gap:1rem}.conversation-header{flex-direction:column}.bubble{max-width:90%}.composer{flex-wrap:wrap}.composer input{order:1;flex-basis:100%}.login-card{padding:1.25rem}.dashboard-header{padding:1rem}.departure-card{flex-direction:column}.departure-actions{align-items:flex-start;width:100%}.status-buttons{justify-content:flex-start}}
