/**
 * Talking Spaces Chat Interface Styles
 */
.ts-talk-app { max-width:900px; margin:30px auto; padding:30px; border:1px solid #e5e7eb; border-radius:20px; background:#fff; box-shadow:0 10px 40px rgba(0,0,0,0.08); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; }
.ts-balance-bar { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:15px; padding:15px; background:#f8fafc; border-radius:12px; margin-bottom:25px; border:1px solid #e2e8f0; }
.ts-balance-item { padding:8px 12px; background:white; border-radius:8px; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.ts-controls { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:end; margin-bottom:25px; }
.ts-voice-selector label { display:block; margin-bottom:8px; font-weight:600; color:#374151; }
.ts-voice-selector select { width:100%; padding:12px 16px; border:1px solid #d1d5db; border-radius:10px; font-size:16px; background:white; cursor:pointer; }
.ts-action-buttons { display:flex; gap:12px; }
.ts-button { padding:12px 24px; border:none; border-radius:10px; font-size:16px; font-weight:500; cursor:pointer; transition:all .2s; text-decoration:none; display:inline-block; }
.ts-button-primary { background:#4F46E5; color:white; }
.ts-button-primary:hover:not(:disabled) { background:#4338CA; transform:translateY(-1px); box-shadow:0 4px 12px rgba(79,70,229,0.3); }
.ts-button-secondary { background:#f3f4f6; color:#374151; border:1px solid #d1d5db; }
.ts-button-small { padding:8px 16px; font-size:14px; }
.ts-button:disabled { opacity:.5; cursor:not-allowed; }
.ts-voice-panel,.ts-chat-box { margin-bottom:25px; padding:20px; background:#f8fafc; border-radius:12px; border:1px solid #e2e8f0; }
.ts-voice-status { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; flex-wrap:wrap; gap:12px; }
.ts-mic-indicator { display:flex; align-items:center; gap:8px; }
.ts-mic-state { padding:4px 12px; border-radius:20px; font-size:14px; font-weight:500; }
.ts-mic-state--active { background:#dcfce7; color:#166534; animation:pulse 2s infinite; }
.ts-mic-state--muted { background:#fee2e2; color:#991b1b; }
.ts-mic-state--inactive { background:#f3f4f6; color:#4b5563; }
.ts-help-text { margin:0; color:#6b7280; font-size:14px; }
.ts-status { margin-bottom:20px; padding:12px 16px; background:#f3f4f6; border-radius:10px; color:#1f2937; border-left:4px solid #9ca3af; }
.ts-status--error { background:#fee2e2; color:#991b1b; border-left-color:#dc2626; }
.ts-warning { margin-bottom:20px; padding:16px; background:#fffbeb; border:1px solid #fcd34d; border-radius:10px; color:#92400e; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:15px; }
.ts-hard-stop { position:fixed; inset:0; background:rgba(0,0,0,0.8); display:flex; align-items:center; justify-content:center; z-index:9999; }
.ts-hard-stop-content { background:white; padding:40px; border-radius:20px; text-align:center; max-width:400px; margin:20px; }
.ts-transcript { min-height:100px; max-height:300px; overflow-y:auto; margin-bottom:20px; padding:15px; background:#f9fafb; border-radius:12px; border:1px solid #e5e7eb; }
.ts-transcript__item { margin-bottom:10px; padding:8px 12px; background:white; border-radius:8px; box-shadow:0 1px 2px rgba(0,0,0,0.05); }
.ts-transcript__role { display:inline-block; margin-right:10px; font-weight:600; color:#4F46E5; }
.ts-chat-input { margin-top:15px; }
.ts-chat-input textarea { width:100%; padding:12px; border:1px solid #d1d5db; border-radius:8px; font-size:14px; margin-bottom:10px; resize:vertical; font-family:inherit; }
.ts-chat-input button,#ts-remote-audio { width:100%; }
@media (max-width:768px){ .ts-talk-app{padding:20px;margin:15px;} .ts-controls{grid-template-columns:1fr;} .ts-action-buttons,.ts-voice-status,.ts-warning{flex-direction:column;} }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:.5;} }