:root{--kiosk-sidebar-min-width: 320px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.device-setup{max-width:400px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.device-setup h1{font-size:2rem;margin-bottom:.5rem}.device-setup p{color:#888;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#aaa;font-size:.875rem}.form-group input[type=text]{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #333;border-radius:8px;background:#16213e;color:#fff;outline:none;transition:border-color .2s}.form-group input[type=text]:focus{border-color:#0f4c75}.mode-toggle{display:flex;gap:1rem}.mode-btn{flex:1;padding:1rem;border:2px solid #333;border-radius:8px;background:#16213e;color:#aaa;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.25rem}.mode-btn:hover{border-color:#0f4c75}.mode-btn.active{border-color:#3282b8;background:#0f4c75;color:#fff}.mode-desc{font-size:.75rem;color:#888}.mode-btn.active .mode-desc{color:#bbe1fa}.submit-btn{width:100%;padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:#3282b8;color:#fff;cursor:pointer;transition:background .2s}.submit-btn:hover:not(:disabled){background:#0f4c75}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.qr-section{margin-top:2rem;text-align:center;border-top:1px solid #333;padding-top:1.5rem}.qr-toggle{background:none;border:none;color:#888;font-size:.875rem;cursor:pointer;padding:.5rem 1rem;transition:color .2s}.qr-toggle:hover{color:#bbe1fa}.qr-code-container{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.qr-code-container img{border-radius:8px;background:#fff;padding:8px}.qr-url{font-size:.75rem;color:#666;word-break:break-all;max-width:100%;font-family:monospace}.qr-hint{font-size:.75rem;color:#f0a500;margin-top:.5rem}header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#16213e;border-bottom:1px solid #333}.device-info{display:flex;flex-direction:column;gap:.25rem}.device-name{font-weight:600;font-size:1.125rem}.connection-status{font-size:.75rem;color:#f44}.connection-status.connected{color:#4f4}.mode-switch{padding:.5rem 1rem;font-size:.875rem;border:1px solid #333;border-radius:6px;background:transparent;color:#aaa;cursor:pointer;transition:all .2s}.mode-switch:hover{border-color:#3282b8;color:#fff}.input-devices,.output-devices{padding:1rem;background:#16213e;border-bottom:1px solid #333}.input-devices h3,.output-devices h3{font-size:.875rem;color:#888;margin-bottom:.5rem}.input-devices ul,.output-devices ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.input-devices li,.output-devices li{padding:.25rem .75rem;background:#0f4c75;border-radius:16px;font-size:.875rem}.input-mode{display:flex;flex-direction:column;min-height:100vh}.input-area{flex:1;padding:1rem;display:flex;flex-direction:column}.input-area textarea{flex:1;min-height:150px;padding:1rem;font-size:1.125rem;border:2px solid #333;border-radius:8px;background:#16213e;color:#fff;resize:none;outline:none;font-family:inherit}.input-area textarea:focus{border-color:#3282b8}.interim-text{padding:.5rem 1rem;color:#888;font-size:.875rem}.input-controls{display:flex;gap:1rem;padding:1rem;background:#16213e;border-top:1px solid #333}.stt-btn,.send-btn{flex:1;padding:1rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.stt-btn{background:#333;color:#fff}.stt-btn:hover:not(:disabled){background:#444}.stt-btn.listening{background:#c0392b;animation:pulse 1.5s infinite}.stt-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn{background:#3282b8;color:#fff}.send-btn:hover:not(:disabled){background:#0f4c75}.send-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stt-error,.ai-error{padding:.75rem 1rem;margin:.5rem 1rem 1rem;background:#4a1515;border:1px solid #ff6b6b;border-radius:8px;color:#ff6b6b;font-size:.875rem}.ai-error{background:#2a1540;border-color:#a855f7;color:#d8b4fe}.ai-status-indicator{position:fixed;bottom:1rem;right:1rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:#a855f733;border:2px solid #a855f7;border-radius:50%;z-index:1000}.ai-status-indicator.connecting{animation:ai-connecting 1.5s ease-in-out infinite;border-color:#f39c12;background:#f39c1233}.ai-status-indicator.thinking{animation:ai-thinking .8s ease-in-out infinite}.ai-status-indicator.connected{box-shadow:0 0 12px #a855f799;opacity:.8}@keyframes ai-connecting{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}@keyframes ai-thinking{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1;filter:brightness(1.2)}}.output-mode{display:flex;flex-direction:column;min-height:100vh}.tts-toggle{padding:1rem;background:#16213e;border-bottom:1px solid #333;display:flex;align-items:center;gap:.5rem}.tts-toggle label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.tts-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.not-supported{color:#888;font-size:.75rem}.messages{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.no-messages{color:#888;text-align:center;padding:2rem}.message{padding:.75rem 1rem;background:#16213e;border-radius:8px;border-left:3px solid #3282b8}.message.partial{opacity:.7;border-left-color:#888}.message .sender{font-weight:600;color:#3282b8;margin-right:.5rem}.message.partial .sender{color:#888}.message .text{word-break:break-word}.message .typing-indicator{color:#888;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.mode-buttons{display:flex;gap:.5rem}.chat-mode{display:flex;flex-direction:column;min-height:100vh}.chat-participants{padding:.75rem 1rem;background:#16213e;border-bottom:1px solid #333;display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;color:#888}.participant-group{padding:.25rem .75rem;background:#0f4c75;border-radius:16px;color:#bbe1fa}.chat-messages{flex:1;min-height:0}.message.own-message{border-left-color:#27ae60;background:#1e3a2f}.message.own-message .sender{color:#27ae60}.message.own-message.partial .sender{color:#888}.chat-input-area{background:#16213e;border-top:1px solid #333;padding:.75rem 1rem}.chat-input-row{display:flex;gap:.5rem;align-items:center}.chat-input-row input{flex:1;padding:.75rem 1rem;font-size:1rem;border:2px solid #333;border-radius:8px;background:#1a1a2e;color:#fff;outline:none;font-family:inherit}.chat-input-row input:focus{border-color:#3282b8}.stt-btn-small,.send-btn-small{width:48px;height:48px;font-size:1.25rem;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.stt-btn-small{background:#333;color:#fff}.stt-btn-small:hover:not(:disabled){background:#444}.stt-btn-small.listening{background:#c0392b;animation:pulse 1.5s infinite}.stt-btn-small:disabled{opacity:.5;cursor:not-allowed}.send-btn-small{background:#3282b8;color:#fff}.send-btn-small:hover:not(:disabled){background:#0f4c75}.send-btn-small:disabled{opacity:.5;cursor:not-allowed}.auto-submit-toggle{width:36px;height:36px;font-size:1rem;border:2px solid #333;border-radius:6px;background:#1a1a2e;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.auto-submit-toggle:hover{border-color:#555}.auto-submit-toggle.active{border-color:#f0a500;background:#3d2e00}.ai-toggle{width:36px;height:36px;font-size:1.2rem;border:2px solid #333;border-radius:6px;background:#1a1a2e;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.ai-toggle:hover{border-color:#555;background:#252538}.ai-toggle.active{border-color:#9b59b6;background:#2d1f3d;animation:sparkle-glow 2s ease-in-out infinite}.ai-toggle.connecting{border-color:#f39c12;animation:pulse 1s ease-in-out infinite}.ai-toggle.thinking{border-color:#e74c3c;animation:thinking-pulse .6s ease-in-out infinite}.ai-toggle:disabled{opacity:.5;cursor:not-allowed}.ai-status{width:36px;height:36px;font-size:1.2rem;border:2px solid #333;border-radius:6px;background:#1a1a2e;display:flex;align-items:center;justify-content:center}.ai-status.active{border-color:#9b59b6;background:#2d1f3d;animation:sparkle-glow 2s ease-in-out infinite}.ai-status.connecting{border-color:#f39c12;animation:pulse 1s ease-in-out infinite}.ai-status.thinking{border-color:#e74c3c;animation:thinking-pulse .6s ease-in-out infinite}@keyframes sparkle-glow{0%,to{box-shadow:0 0 5px #9b59b6}50%{box-shadow:0 0 15px #9b59b6,0 0 25px #8e44ad}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes thinking-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.kiosk-mode{display:flex;height:100vh;max-height:100vh;overflow:hidden;background:#000}.kiosk-sidebar{width:38.2%;min-width:var(--kiosk-sidebar-min-width);max-width:500px;height:100%;display:flex;flex-direction:column;background:#0a0a0f;border-right:1px solid #222;overflow:hidden}.kiosk-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#111;border-bottom:1px solid #222}.kiosk-header .device-info{display:flex;flex-direction:column;gap:.125rem}.kiosk-header .device-name{font-weight:600;font-size:1rem;color:#fff}.exit-kiosk{width:32px;height:32px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;font-size:1rem;cursor:pointer;transition:all .2s}.exit-kiosk:hover{border-color:#666;color:#fff}.kiosk-participants{padding:.5rem 1rem;background:#0a0a0f;border-bottom:1px solid #222;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem}.kiosk-participants .participant-group{padding:.125rem .5rem;background:#1a1a2e;border-radius:12px;color:#888}.kiosk-tts-toggle{padding:.5rem 1rem;border-bottom:1px solid #222;font-size:.875rem}.kiosk-tts-toggle label{display:flex;align-items:center;gap:.5rem;color:#888;cursor:pointer}.kiosk-tts-toggle input[type=checkbox]{width:14px;height:14px}.kiosk-messages{flex:1;min-height:0;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.kiosk-messages .no-messages{color:#444;text-align:center;padding:1rem;font-size:.875rem}.kiosk-message{padding:.5rem .75rem;background:#111;border-radius:6px;border-left:2px solid #3282b8;font-size:.875rem}.kiosk-message.partial{opacity:.6;border-left-color:#444}.kiosk-message.own-message{border-left-color:#27ae60;background:#0d1f15}.kiosk-message .sender{font-weight:600;color:#3282b8;margin-right:.375rem;font-size:.75rem}.kiosk-message.own-message .sender{color:#27ae60}.kiosk-message.partial .sender{color:#666}.kiosk-message .text{word-break:break-word;color:#ccc}.kiosk-message .typing-indicator{color:#666}.kiosk-input-area{background:#111;border-top:1px solid #222;padding:.5rem}.kiosk-input-area .interim-text{padding:.25rem .5rem;color:#666;font-size:.75rem}.kiosk-input-row{display:flex;gap:.375rem;align-items:center}.kiosk-input-row input{flex:1;padding:.5rem .75rem;font-size:.875rem;border:1px solid #333;border-radius:6px;background:#0a0a0f;color:#fff;outline:none}.kiosk-input-row input:focus{border-color:#3282b8}.kiosk-input-row .stt-btn-small,.kiosk-input-row .send-btn-small{width:36px;height:36px;font-size:1rem}.kiosk-input-row .auto-submit-toggle{width:28px;height:28px;font-size:.75rem}.kiosk-input-area .stt-error{margin:.375rem 0 0;padding:.375rem .5rem;font-size:.75rem}.kiosk-display{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem;overflow:hidden;position:relative}.display-empty{text-align:center;color:#333}.display-empty-icon{font-size:6rem;margin-bottom:1.5rem;opacity:.5}.display-empty-text{font-size:2rem;font-weight:300;margin-bottom:.5rem}.display-empty-hint{font-size:1rem;color:#444}.display-image{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%}.display-image img{max-width:100%;max-height:calc(100vh - 12rem);object-fit:contain;border-radius:8px}.display-title{font-size:2.5rem;font-weight:300;color:#fff;margin-bottom:2rem;text-align:center}.display-markdown{max-width:80%;max-height:100%;overflow:hidden}.display-markdown .markdown-content{font-size:1.75rem;line-height:1.6;color:#eee}.display-markdown h1{font-size:3rem;font-weight:300;margin-bottom:1.5rem;color:#fff}.display-markdown h2{font-size:2.5rem;font-weight:300;margin:1.5rem 0 1rem;color:#fff}.display-markdown h3{font-size:2rem;font-weight:400;margin:1.25rem 0 .75rem;color:#eee}.display-markdown p{margin-bottom:1.25rem}.display-markdown strong{font-weight:600;color:#fff}.display-markdown em{font-style:italic;color:#ccc}.display-markdown code{background:#1a1a2e;padding:.125em .375em;border-radius:4px;font-family:SF Mono,Monaco,Fira Code,monospace;font-size:.9em}.display-markdown pre{background:#0a0a15;padding:1.5rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0}.display-markdown pre code{background:none;padding:0;font-size:1.25rem}.display-markdown a{color:#3282b8;text-decoration:none}.display-markdown a:hover{text-decoration:underline}@media (max-width: 480px){.device-setup{padding:1rem}.mode-toggle{flex-direction:column}header{flex-direction:column;gap:.75rem;align-items:flex-start}.mode-switch{width:100%}.mode-buttons{width:100%;flex-direction:column}}.kiosk-sidebar{transition:transform .3s ease,width .3s ease,visibility 0s .3s}.kiosk-sidebar.closed{transform:translate(calc(-1 * var(--kiosk-sidebar-min-width)));width:0;min-width:0;overflow:hidden;visibility:hidden;pointer-events:none}.kiosk-sidebar.open{transform:translate(0);visibility:visible;pointer-events:auto;transition:transform .3s ease,width .3s ease,visibility 0s}.kiosk-header .header-buttons{display:flex;gap:.5rem}.drawer-toggle{width:32px;height:32px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;font-size:.875rem;cursor:pointer;transition:all .2s}.drawer-toggle:hover{background:#222;color:#fff}.drawer-open-btn{position:fixed;left:0;top:50%;transform:translateY(-50%);width:32px;height:64px;background:#111;border:1px solid #333;border-left:none;border-radius:0 8px 8px 0;color:#888;font-size:.875rem;cursor:pointer;z-index:100;transition:all .2s}.drawer-open-btn:hover{background:#222;color:#fff;width:40px}.kiosk-display.full-width{width:100%}.kiosk-display .qr-code-btn{position:absolute;left:1rem;bottom:1rem;width:48px;height:48px;background:#111c;border:1px solid #333;border-radius:12px;font-size:1.5rem;cursor:pointer;z-index:10;transition:all .2s;display:flex;align-items:center;justify-content:center}.kiosk-display .qr-code-btn:hover{background:#222222e6;transform:scale(1.05)}.kiosk-ai-status{position:absolute;bottom:1rem;right:1rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#a855f733;border:2px solid #a855f7;border-radius:50%;z-index:10}.kiosk-ai-status.connecting{animation:ai-connecting 1.5s ease-in-out infinite;border-color:#f39c12;background:#f39c1233}.kiosk-ai-status.thinking{animation:ai-thinking .8s ease-in-out infinite}.kiosk-ai-status.connected{box-shadow:0 0 12px #a855f799;opacity:.8}.qr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qr-modal{background:#1a1a2e;border:1px solid #333;border-radius:16px;padding:2rem;text-align:center;position:relative;max-width:90vw}.qr-modal h2{color:#fff;font-weight:300;margin-bottom:1.5rem;font-size:1.5rem}.qr-modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:transparent;border:1px solid #333;border-radius:6px;color:#888;font-size:1rem;cursor:pointer;transition:all .2s}.qr-modal-close:hover{background:#333;color:#fff}.qr-modal .qr-code-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.qr-modal .qr-url{color:#888;font-size:.875rem;word-break:break-all}.qr-modal .qr-hint{color:#f39c12;font-size:.875rem;max-width:280px}.kiosk-mode.mobile{flex-direction:column;height:100vh;max-height:100vh}.kiosk-mode.mobile .kiosk-header{flex-shrink:0;padding:.5rem 1rem}.kiosk-mode.mobile .kiosk-messages{flex:1;min-height:0;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.kiosk-mode.mobile .kiosk-input-area{flex-shrink:0;padding:.5rem;background:#111;border-top:1px solid #222}.kiosk-mode.mobile .kiosk-input-row{display:flex;gap:.375rem}.kiosk-mode.mobile .kiosk-input-row input{flex:1;min-width:0}.kiosk-mode.mobile .stt-error,.kiosk-mode.mobile .ai-error{padding:.375rem .5rem;font-size:.75rem;margin:.25rem .5rem}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-card{max-width:400px;width:100%;background:#16213e;border-radius:16px;padding:2.5rem;text-align:center;border:1px solid #333}.login-card h1{font-size:2.5rem;margin-bottom:.75rem}.login-subtitle{color:#888;margin-bottom:2rem;font-size:1.1rem}.login-error{background:#4a1515;border:1px solid #ff6b6b;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;color:#ff6b6b;font-size:.875rem}.github-login-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:#24292e;color:#fff;cursor:pointer;transition:all .2s}.github-login-btn:hover{background:#2f363d;transform:translateY(-1px)}.github-login-btn svg{flex-shrink:0}.login-note{margin-top:1.5rem;font-size:.8rem;color:#666}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#16213e;border-bottom:1px solid #333}.dashboard-title h1{font-size:1.5rem}.dashboard-user{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid #333}.user-name{color:#aaa;font-size:.9rem}.logout-btn{padding:.5rem 1rem;font-size:.875rem;border:1px solid #333;border-radius:6px;background:transparent;color:#888;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#333;color:#fff}.dashboard-main{flex:1;padding:1.5rem;max-width:800px;margin:0 auto;width:100%}.dashboard-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.action-btn{padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.action-btn.primary{background:#3282b8;color:#fff}.action-btn.primary:hover{background:#0f4c75}.action-btn.secondary{background:#333;color:#fff}.action-btn.secondary:hover{background:#444}.action-btn.tertiary{background:transparent;color:#888;border:1px solid #333}.action-btn.tertiary:hover{background:#222;color:#fff}.form-card{background:#16213e;border:1px solid #333;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.form-card h3{font-size:1.1rem;margin-bottom:1rem}.form-card input[type=text]{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #333;border-radius:8px;background:#0a0a15;color:#fff;outline:none;margin-bottom:.75rem}.form-card input[type=text]:focus{border-color:#3282b8}.form-error{color:#ff6b6b;font-size:.875rem;margin-bottom:.75rem}.form-buttons{display:flex;gap:.75rem}.form-buttons button{padding:.75rem 1.25rem;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.form-buttons button[type=submit]{background:#3282b8;color:#fff}.form-buttons button[type=submit]:hover:not(:disabled){background:#0f4c75}.form-buttons button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.form-buttons button[type=button]{background:#333;color:#aaa}.form-buttons button[type=button]:hover:not(:disabled){background:#444;color:#fff}.dashboard-error{background:#4a1515;border:1px solid #ff6b6b;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;color:#ff6b6b}.workspaces-list h2{font-size:1.25rem;margin-bottom:1rem;color:#888;font-weight:400}.no-workspaces{background:#16213e;border:2px dashed #333;border-radius:12px;padding:3rem;text-align:center;color:#666}.no-workspaces p{margin-bottom:.5rem}.workspace-cards{display:flex;flex-direction:column;gap:.75rem}.workspace-card{display:flex;justify-content:space-between;align-items:center;background:#16213e;border:1px solid #333;border-radius:12px;padding:1rem 1.25rem;transition:all .2s}.workspace-card:hover{border-color:#3282b8}.workspace-info h3{font-size:1.1rem;margin-bottom:.25rem}.workspace-meta{display:flex;gap:.75rem;font-size:.8rem}.owner-badge{color:#3282b8;background:#3282b826;padding:.2rem .5rem;border-radius:4px}.member-badge{color:#888;background:#88888826;padding:.2rem .5rem;border-radius:4px}.join-code{color:#666;font-family:monospace}.workspace-actions{display:flex;gap:.5rem}.enter-btn{padding:.5rem 1rem;font-size:.9rem;background:#3282b8;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.enter-btn:hover{background:#0f4c75}.delete-btn{padding:.5rem .75rem;font-size:.9rem;background:transparent;color:#666;border:1px solid #333;border-radius:6px;cursor:pointer;transition:all .2s}.delete-btn:hover{background:#4a1515;color:#ff6b6b;border-color:#ff6b6b}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:#888}.workspace-loading,.workspace-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:#888}.workspace-error h2{color:#ff6b6b;font-weight:400}.workspace-error button{padding:.75rem 1.5rem;font-size:.9rem;background:#333;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.workspace-error button:hover{background:#444}.workspace-container{min-height:100vh;display:flex;flex-direction:column}.workspace-header-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#16213e;border-bottom:1px solid #333}.back-btn{padding:.5rem .75rem;font-size:.875rem;background:transparent;color:#888;border:1px solid #333;border-radius:6px;cursor:pointer;transition:all .2s}.back-btn:hover{background:#333;color:#fff}.workspace-name{font-size:1.1rem;color:#ccc}.loading-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-spinner{color:#888;font-size:1.1rem}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-card{background:#16213e;border:1px solid #333;border-radius:16px;padding:2rem 3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#3282b8;border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:20px;height:20px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#888;font-size:.9rem}.skeleton{background:linear-gradient(90deg,#16213e 25%,#1f2b4d,#16213e 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.skeleton-text{height:1em;margin-bottom:.5rem;width:100%}.skeleton-text.short{width:60%}.skeleton-card{height:80px;border-radius:12px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.qr-label{font-size:.9rem;color:#888;margin-bottom:.5rem}.join-code-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#16213e;border-radius:8px}.join-code-label{font-size:.8rem;color:#888}.join-code{font-family:monospace;font-size:1.2rem;font-weight:600;color:#3282b8;letter-spacing:.1em}.qr-url-container{position:relative;display:flex;flex-direction:column;align-items:center}.qr-url{cursor:pointer;transition:color .2s}.qr-url:hover{color:#3282b8}.copied-indicator{position:absolute;top:-1.5rem;font-size:.75rem;color:#4f4;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.join-code-input{display:flex;flex-direction:column;gap:.75rem;max-width:300px;margin:1rem auto}.join-code-input .join-code-field{padding:.75rem 1rem;font-size:1.25rem;font-family:monospace;text-align:center;letter-spacing:.15em;border:2px solid #333;border-radius:8px;background:#16213e;color:#fff;text-transform:uppercase}.join-code-input .join-code-field:focus{border-color:#3282b8;outline:none}.join-code-input .join-code-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;background:#3282b8;color:#fff;cursor:pointer;transition:all .2s}.join-code-input .join-code-button:hover:not(:disabled){background:#0f4c75}.join-code-input .join-code-button:disabled{opacity:.5;cursor:not-allowed}.join-code-input .join-code-error{color:#ff6b6b;font-size:.875rem;text-align:center}.error-message{background:#4a1515;border:1px solid #ff6b6b;border-radius:8px;padding:.75rem 1rem;color:#ff6b6b;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.error-message.warning{background:#4a3c15;border-color:#f0a500;color:#f0a500}.error-message.info{background:#153a4a;border-color:#3282b8;color:#bbe1fa}.error-icon{flex-shrink:0}.error-dismiss{margin-left:auto;background:transparent;border:none;color:currentColor;cursor:pointer;padding:.25rem;opacity:.7}.error-dismiss:hover{opacity:1}.toast-container{position:fixed;bottom:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:1001;max-width:90vw}.toast{background:#16213e;border:1px solid #333;border-radius:8px;padding:.75rem 1rem;box-shadow:0 4px 12px #0000004d;animation:slideInRight .3s ease;display:flex;align-items:center;gap:.5rem}.toast.success{border-left:3px solid #4f4}.toast.error{border-left:3px solid #ff6b6b}.toast.warning{border-left:3px solid #f0a500}.toast.info{border-left:3px solid #3282b8}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.optimistic{opacity:.7}.optimistic:after{content:"";display:inline-block;width:8px;height:8px;margin-left:.5rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.workspace-card.creating{border-style:dashed;opacity:.7}.workspace-card.deleting{opacity:.5;pointer-events:none}.session-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.session-card{display:flex;justify-content:space-between;align-items:center;background:#16213e;border:1px solid #333;border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:all .2s}.session-card:hover{border-color:#3282b8}.session-card.active{border-color:#4f4;background:#00ff000d}.session-info{display:flex;flex-direction:column;gap:.25rem}.session-name{font-weight:500}.session-meta{font-size:.8rem;color:#888;display:flex;gap:.75rem}.session-devices{display:flex;align-items:center;gap:.25rem}.session-actions{display:flex;gap:.5rem}.session-btn{padding:.375rem .75rem;font-size:.8rem;border:1px solid #333;border-radius:4px;background:transparent;color:#888;cursor:pointer;transition:all .2s}.session-btn:hover{background:#333;color:#fff}.session-btn.primary{background:#3282b8;border-color:#3282b8;color:#fff}.session-btn.primary:hover{background:#0f4c75}.device-reconnect-banner{background:#153a4a;border:1px solid #3282b8;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.device-reconnect-banner .banner-text{color:#bbe1fa}.device-reconnect-banner .reconnect-btn{padding:.375rem .75rem;font-size:.8rem;background:#3282b8;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .2s}.device-reconnect-banner .reconnect-btn:hover{background:#0f4c75}.workspace-home{min-height:100vh;background:#1a1a2e;display:flex;flex-direction:column}.workspace-home.loading,.workspace-home.error{display:flex;justify-content:center;align-items:center;text-align:center;padding:2rem}.workspace-home.error h2{margin-bottom:1rem}.workspace-home.error button{margin-top:1rem;padding:.75rem 1.5rem;background:#3282b8;border:none;border-radius:8px;color:#fff;cursor:pointer}.workspace-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#16213e;border-bottom:1px solid #333}.workspace-title-area{display:flex;align-items:center;gap:1rem}.workspace-dropdown-container{position:relative}.workspace-dropdown-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid #333;border-radius:8px;color:#fff;font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .2s}.workspace-dropdown-trigger:hover{border-color:#3282b8;background:#3282b81a}.dropdown-arrow{font-size:.75rem;color:#888}.workspace-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#16213e;border:1px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:100;overflow:hidden}.workspace-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:#ccc;font-size:.95rem;text-align:left;cursor:pointer;transition:background .2s}.workspace-dropdown-item:hover{background:#3282b833}.workspace-dropdown-item.active{background:#3282b84d;color:#fff}.workspace-dropdown-item .owner-badge{font-size:.7rem;padding:.2rem .4rem;background:#3282b8;border-radius:4px;color:#fff}.header-actions{display:flex;align-items:center;gap:1rem}.user-info{display:flex;align-items:center;gap:.5rem}.user-avatar{width:32px;height:32px;border-radius:50%}.user-name{color:#ccc;font-size:.9rem}.workspace-content{flex:1;padding:1.5rem;max-width:800px;margin:0 auto;width:100%}.workspace-content section{margin-bottom:2rem;background:#16213e;border-radius:12px;padding:1.25rem}.workspace-content h2{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#888;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.section-icon{font-size:1.1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin-bottom:0}.empty-message{color:#666;font-style:italic;padding:.5rem 0}.devices-list{display:flex;flex-direction:column;gap:.5rem}.device-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1a1a2e;border-radius:8px;transition:background .2s}.device-row:hover{background:#1f1f3a}.device-row.current{border:1px solid #3282b8;background:#3282b81a}.device-icon{font-size:1.25rem}.device-details{flex:1;display:flex;align-items:center;gap:.5rem}.device-name-text{display:flex;align-items:center;gap:.25rem;cursor:pointer}.device-name-text:hover .rename-btn{opacity:1}.rename-btn{background:none;border:none;font-size:.8rem;opacity:0;cursor:pointer;transition:opacity .2s}.device-name-input{padding:.25rem .5rem;font-size:1rem;background:#1a1a2e;border:1px solid #3282b8;border-radius:4px;color:#fff;outline:none;width:200px}.device-name-editing{display:flex;align-items:center;gap:.5rem}.rename-error{font-size:.75rem;color:#ff6b6b;margin-left:.5rem}.current-badge{font-size:.75rem;color:#3282b8}.device-last-seen{font-size:.85rem;color:#666}.remove-device-btn{background:none;border:none;font-size:1rem;opacity:0;cursor:pointer;padding:.25rem;transition:opacity .2s,transform .2s}.device-row:hover .remove-device-btn{opacity:.6}.remove-device-btn:hover{opacity:1!important;transform:scale(1.1)}.device-message{padding:.5rem .75rem;border-radius:6px;font-size:.85rem;margin-bottom:.5rem}.device-message.success{background:#00c85326;border:1px solid #00c853;color:#00c853}.device-message.error{background:#ff444426;border:1px solid #ff6b6b;color:#ff6b6b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#1a1a2e;border-radius:12px;padding:1.5rem;max-width:400px;width:90%;animation:slideIn .15s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h3{margin:0 0 1rem;font-size:1.25rem;color:#fff}.modal-content p{margin:.75rem 0;color:#ccc}.modal-warning{font-size:.9rem;color:#ff9800!important}.modal-error{font-size:.9rem;color:#ff6b6b!important;background:#ff6b6b1a;padding:.5rem;border-radius:4px}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.modal-btn{padding:.6rem 1.2rem;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;transition:background .2s,opacity .2s}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn.cancel{background:#333;color:#fff}.modal-btn.cancel:hover:not(:disabled){background:#444}.modal-btn.danger{background:#dc3545;color:#fff}.modal-btn.danger:hover:not(:disabled){background:#c82333}.new-session-btn{padding:.5rem 1rem;font-size:.9rem;background:#3282b8;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:background .2s}.new-session-btn:hover:not(:disabled){background:#0f4c75}.new-session-btn:disabled{opacity:.6;cursor:not-allowed}.sessions-list{display:flex;flex-direction:column;gap:.5rem}.session-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#1a1a2e;border-radius:8px;transition:background .2s}.session-row:hover{background:#1f1f3a}.session-row.active{border-left:3px solid #4f4}.session-row .session-info{flex:1}.session-row .session-name{font-weight:500;color:#fff}.session-row .session-meta{font-size:.8rem;color:#666;margin-top:.125rem}.session-last-active{font-size:.85rem;color:#666;min-width:80px;text-align:right}.view-session-btn{padding:.375rem .75rem;font-size:.85rem;background:transparent;border:1px solid #3282b8;border-radius:4px;color:#3282b8;cursor:pointer;transition:all .2s}.view-session-btn:hover{background:#3282b8;color:#fff}.session-name-text{display:flex;align-items:center;gap:.25rem;cursor:pointer;font-weight:500;color:#fff}.session-name-text:hover .rename-btn{opacity:1}.session-name-editing{display:flex;align-items:center;gap:.5rem}.session-name-input{padding:.25rem .5rem;font-size:1rem;background:#1a1a2e;border:1px solid #3282b8;border-radius:4px;color:#fff;outline:none;width:200px}.session-name-input:focus{border-color:#4f94d4;box-shadow:0 0 0 2px #4f94d44d}.session-kebab-menu{position:relative}.session-kebab-btn{background:none;border:none;font-size:1.2rem;color:#666;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s,color .2s}.session-kebab-btn:hover{background:#ffffff1a;color:#fff}.session-dropdown{position:absolute;top:100%;right:0;background:#1f1f3a;border:1px solid #333;border-radius:6px;box-shadow:0 4px 12px #0000004d;z-index:100;min-width:140px;overflow:hidden}.session-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;color:#fff;font-size:.9rem;cursor:pointer;text-align:left;transition:background .2s}.session-dropdown-item:hover{background:#ffffff1a}.session-dropdown-item.archive{color:#ffc107}.session-dropdown-item.archive:hover{background:#ffc10726}.archive-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#1f1f3a;color:#fff;padding:.75rem 1.25rem;border-radius:8px;box-shadow:0 4px 12px #0006;border:1px solid #333;z-index:1000;animation:toast-fade-in .3s ease}@keyframes toast-fade-in{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.modal-hint{font-size:.9rem;color:#888;margin-bottom:1rem}.modal-btn.primary{background:#3282b8;border-color:#3282b8}.modal-btn.primary:hover:not(:disabled){background:#2a6f9f}.settings-content{display:flex;flex-direction:column;gap:1rem}.setting-row{display:flex;flex-direction:column;gap:.25rem}.setting-row label{font-size:.85rem;color:#888}.setting-row .join-code{display:inline-block;padding:.5rem 1rem;background:#1a1a2e;border-radius:4px;font-size:1.25rem;font-family:monospace;letter-spacing:.1em}.setting-hint{font-size:.75rem;color:#666;margin-top:.25rem}.invite-link-setting{margin-bottom:.5rem}.invite-link-row{display:flex;gap:.5rem;align-items:center}.copy-invite-btn{padding:.625rem 1rem;font-size:.9rem;font-weight:500;border:2px solid #3282b8;border-radius:6px;background:transparent;color:#3282b8;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.copy-invite-btn:hover{background:#3282b8;color:#fff}.copy-invite-btn.copied{background:#00c853;border-color:#00c853;color:#fff}.copy-invite-btn.error{background:#d32f2f;border-color:#d32f2f;color:#fff}.join-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#1a1a2e}.join-card{background:#16213e;border-radius:12px;padding:2.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 4px 24px #0000004d}.join-card h1{font-size:1.75rem;margin-bottom:.75rem;color:#fff}.join-subtitle{font-size:1rem;color:#aaa;margin-bottom:1.5rem}.join-redirect{font-size:.9rem;color:#888;margin-top:1rem}.join-error-message{font-size:1rem;color:#ccc;margin-bottom:1.5rem;line-height:1.5}.join-actions{display:flex;flex-direction:column;gap:.75rem}.join-btn{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.join-btn.primary{background:#3282b8;color:#fff}.join-btn.primary:hover{background:#0f4c75}.join-btn.secondary{background:transparent;border:2px solid #444;color:#aaa}.join-btn.secondary:hover{border-color:#666;color:#fff}.connection-indicator{position:fixed;bottom:1rem;right:1rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border-radius:50%;z-index:1000;transition:all .3s ease}.connection-indicator.connected{background:#00c85333;border:2px solid #00c853;box-shadow:0 0 12px #00c85366}.connection-indicator.disconnected{background:#f443;border:2px solid #ff4444;animation:pulse-disconnect 1.5s infinite}@keyframes pulse-disconnect{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.kiosk-display .connection-indicator{position:absolute;bottom:1rem;right:1rem}.kiosk-ai-status{bottom:4.5rem}.display-idle-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.idle-qr-title{font-size:2rem;font-weight:300;color:#888;margin-bottom:2rem}.display-idle-qr .qr-code-container{background:#1a1a2e80;padding:2rem;border-radius:16px;border:1px solid #333}.display-idle-qr .qr-code-container img{border-radius:12px}.display-idle-qr .qr-label{color:#666;font-size:1rem;margin-bottom:1rem}.display-idle-qr .qr-url{max-width:400px;word-break:break-all;cursor:pointer;padding:.5rem;border-radius:4px;transition:background .2s}.display-idle-qr .qr-url:hover{background:#3282b833}@media (max-width: 767px){.connection-indicator{width:2rem;height:2rem;font-size:1rem}.idle-qr-title{font-size:1.5rem}.display-idle-qr .qr-code-container{padding:1.5rem}}.display-greeting{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;width:100%;height:100%;position:relative;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.greeting-content{max-width:600px}.greeting-title{font-size:3rem;font-weight:300;color:#e0e0e0;margin:0 0 1rem;letter-spacing:.05em}.greeting-subtitle{font-size:1.25rem;color:#888;margin:0}.mini-qr-overlay{position:absolute;bottom:5rem;right:1rem;display:flex;flex-direction:column;align-items:center;padding:.5rem;background:#1a1a2ecc;border:1px solid #444;border-radius:12px;cursor:pointer;transition:all .3s ease;z-index:100}.mini-qr-overlay:hover{background:#282846e6;border-color:#3282b8;transform:scale(1.05);box-shadow:0 4px 20px #3282b84d}.mini-qr-overlay .qr-code-container{background:transparent;padding:0;border:none}.mini-qr-overlay .qr-code-container img{border-radius:8px}.mini-qr-hint{font-size:.7rem;color:#888;margin-top:.25rem;transition:color .2s}.mini-qr-overlay:hover .mini-qr-hint{color:#3282b8}.display-idle-qr,.display-greeting{transition:opacity .3s ease,transform .3s ease}@media (max-width: 767px){.greeting-title{font-size:2rem}.greeting-subtitle{font-size:1rem}.mini-qr-overlay{bottom:4rem;padding:.375rem}.mini-qr-overlay .qr-code-container img{width:70px;height:70px}.mini-qr-hint{font-size:.6rem}}.api-key-setting{padding-top:1rem;border-top:1px solid #333;margin-top:.5rem}.api-key-status{margin-bottom:.5rem}.status-configured{color:#00c853;font-weight:500}.status-not-configured{color:#f0a500}.api-key-input-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.api-key-input{flex:1;min-width:200px;padding:.5rem .75rem;font-size:.9rem;background:#1a1a2e;border:1px solid #333;border-radius:6px;color:#fff;outline:none;transition:border-color .2s}.api-key-input:focus{border-color:#3282b8}.api-key-input::placeholder{color:#666}.api-key-btn{padding:.5rem .75rem;font-size:.85rem;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.api-key-btn:disabled{opacity:.5;cursor:not-allowed}.api-key-btn.save-btn{background:#3282b8;color:#fff}.api-key-btn.save-btn:hover:not(:disabled){background:#0f4c75}.api-key-btn.test-btn{background:#444;color:#fff}.api-key-btn.test-btn:hover:not(:disabled){background:#555}.api-key-btn.remove-btn{background:#7f1d1d;color:#fca5a5}.api-key-btn.remove-btn:hover:not(:disabled){background:#991b1b}.api-key-message{padding:.5rem .75rem;border-radius:6px;font-size:.85rem;margin-bottom:.5rem}.api-key-message.success{background:#00c85326;border:1px solid #00c853;color:#00c853}.api-key-message.error{background:#ff444426;border:1px solid #ff6b6b;color:#ff6b6b}.setting-hint a{color:#3282b8;text-decoration:none}.setting-hint a:hover{text-decoration:underline}.waiting-for-approval-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a14f2;display:flex;align-items:center;justify-content:center;z-index:1000}.waiting-for-approval-card{background:#1a1a2e;border-radius:16px;padding:2.5rem;text-align:center;max-width:400px;width:90%;box-shadow:0 20px 40px #0006}.waiting-for-approval-card h2{color:#fff;margin:1.5rem 0 .5rem;font-size:1.5rem}.waiting-for-approval-card .workspace-name{color:#9ca3af;margin:.5rem 0 1rem;font-size:1rem}.waiting-for-approval-card .workspace-name strong{color:#fff}.waiting-for-approval-card .waiting-hint{color:#6b7280;font-size:.9rem;margin-bottom:1.5rem}.waiting-spinner{width:48px;height:48px;margin:0 auto}.cancel-request-btn{background:transparent;border:1px solid #4b5563;color:#9ca3af;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s}.cancel-request-btn:hover{background:#ffffff0d;color:#fff;border-color:#6b7280}.join-request-stack{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:1000;max-width:380px}.join-request-notification{display:flex;align-items:center;gap:1rem;background:#1a1a2e;border-radius:12px;padding:1rem;box-shadow:0 8px 24px #0006;animation:slide-in-right .3s ease-out;border:1px solid #2a2a4e}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.join-request-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.join-request-avatar img{width:100%;height:100%;object-fit:cover}.join-request-avatar .avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#3282b8,#0f4c75);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:600}.join-request-content{flex:1;min-width:0}.join-request-title{color:#9ca3af;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.join-request-user{color:#fff;font-size:1rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.join-request-user .username{color:#6b7280;font-size:.85rem}.join-request-hint{color:#6b7280;font-size:.8rem;margin-top:.25rem}.join-request-actions{display:flex;gap:.5rem;flex-shrink:0}.join-request-actions button{width:36px;height:36px;border:none;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.join-request-actions .approve-btn{background:#10b981;color:#fff}.join-request-actions .approve-btn:hover{background:#059669;transform:scale(1.1)}.join-request-actions .deny-btn{background:#ef4444;color:#fff}.join-request-actions .deny-btn:hover{background:#dc2626;transform:scale(1.1)}.mobile-mode{display:flex;flex-direction:column;min-height:100vh;height:100vh;height:100dvh}.mobile-participants{padding:.5rem 1rem;background:#16213e;border-bottom:1px solid #333;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.875rem}.mobile-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-input-area{background:#16213e;border-top:1px solid #333;padding:.75rem;flex-shrink:0;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.mobile-input-row{display:flex;gap:.5rem;align-items:center}.mobile-input-row input{flex:1;min-width:0;padding:.75rem 1rem;font-size:1rem;border:2px solid #333;border-radius:8px;background:#1a1a2e;color:#fff;outline:none}.mobile-input-row input:focus{border-color:#3282b8}.mobile-input-row input::placeholder{color:#666}.mobile-input-row .stt-btn-small,.mobile-input-row .send-btn-small{width:44px;height:44px;flex-shrink:0}.mobile-input-row .ai-toggle,.mobile-input-row .auto-submit-toggle{width:40px;height:40px;flex-shrink:0}.mobile-input-area .interim-text{padding:.25rem .5rem .5rem;color:#888;font-size:.875rem}.version-footer{position:fixed;bottom:8px;right:12px;font-size:.75rem;color:var(--text-muted, #888);opacity:.6;pointer-events:none}.danger-zone-section{margin-top:2rem;padding:1.5rem;border:1px solid #dc3545;border-radius:8px;background:#dc35450d}.danger-zone-section h2{color:#dc3545;margin:0 0 1rem;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.danger-zone-content{display:flex;flex-direction:column;gap:1rem}.danger-zone-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#0003;border-radius:6px}.danger-zone-info{flex:1}.danger-zone-info strong{display:block;color:#fff;margin-bottom:.25rem}.danger-zone-info p{color:#9ca3af;font-size:.875rem;margin:0;line-height:1.4}.delete-workspace-trigger{background:#dc3545;color:#fff;border:none;padding:.625rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.delete-workspace-trigger:hover{background:#c82333}.delete-workspace-modal{max-width:480px}.delete-workspace-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.delete-workspace-header .warning-icon{font-size:1.5rem}.delete-workspace-header h3{color:#dc3545;margin:0;font-size:1.25rem}.delete-workspace-warning{color:#d1d5db;line-height:1.5;margin-bottom:1rem}.deletion-counts{background:#0000004d;border-radius:6px;padding:1rem;margin-bottom:1.5rem}.deletion-counts p{color:#9ca3af;margin:0 0 .75rem;font-size:.875rem}.deletion-counts ul{margin:0;padding-left:1.5rem;color:#d1d5db}.deletion-counts li{margin-bottom:.25rem;font-size:.875rem}.deletion-counts.loading,.deletion-counts.error{color:#9ca3af;font-size:.875rem;font-style:italic}.deletion-counts.error{color:#f87171}.delete-confirm-input{margin-bottom:1rem}.delete-confirm-input label{display:block;color:#d1d5db;font-size:.875rem;margin-bottom:.5rem}.delete-confirm-input input{width:100%;padding:.75rem;border:2px solid #4b5563;border-radius:6px;background:#1f2937;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.delete-confirm-input input:focus{border-color:#dc3545}.delete-confirm-input input::placeholder{color:#6b7280}.delete-workspace-error{color:#f87171;font-size:.875rem;margin-bottom:1rem;padding:.5rem;background:#f871711a;border-radius:4px}.modal-btn.danger.delete-workspace-btn{background:#dc3545;min-width:140px}.modal-btn.danger.delete-workspace-btn:hover:not(:disabled){background:#c82333}.modal-btn.danger.delete-workspace-btn:disabled{background:#6b2730;color:#9ca3af;cursor:not-allowed}
