/* Base styles extracted from original main.css for general layout */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background:#f7f7f8; color:#202123; min-height:100vh; }

/* Header & basic layout shared */
.header { background:#fff; border-bottom:1px solid #e5e5e5; padding:1rem 2rem; display:flex; align-items:center; justify-content:space-between; box-shadow:0 1px 3px rgba(0,0,0,0.08); }
.logo { font-size:1.4rem; font-weight:600; }

/* Utility classes */
.hidden { display:none !important; }
.status-indicator { display:flex; align-items:center; gap:6px; font-size:0.85rem; }
.status-indicator.connected { color:#047857; }
.status-indicator.disconnected { color:#dc2626; }
.status-indicator.processing { color:#d97706; }

/* Scrollbar (webkit) */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:rgba(0,0,0,0.05); }
::-webkit-scrollbar-thumb { background:rgba(0,0,0,0.25); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(0,0,0,0.4); }

/* Simple chat message primitives (optional use) */
.message { display:flex; gap:12px; margin-bottom:1.5rem; }
.message-content { background:#fff; padding:12px 16px; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,0.08); line-height:1.5; }
.message.user .message-content { background:#1a73e8; color:#fff; }

/* Live partial transcript chip */
.live-partial { font-style:italic; opacity:.85; padding:8px 12px; background:#f5f7fa; border-left:4px solid #667eea; border-radius:6px; margin:8px 0; }
.live-partial.hidden { display:none; }

/* Badge */
.streaming-badge { display:none; font-size:0.65rem; background:#4f46e5; color:#fff; padding:2px 6px; border-radius:4px; margin-left:6px; letter-spacing:.5px; }
body.streaming-mode .streaming-badge { display:inline-flex; align-items:center; gap:4px; }
body.streaming-mode [data-vad-only] { display:none !important; }

/* Voice status toast */
.voice-status { position:absolute; bottom:80px; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.8); color:#fff; padding:8px 16px; border-radius:16px; font-size:14px; opacity:0; transition:opacity .2s; pointer-events:none; }
.voice-status.show { opacity:1; }

@media (max-width:768px){ .header { padding:1rem; } }
