@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Serif+Display&display=swap";:root{--brand:#bf253c;--accent:#e94560;--accent-soft:#fde8ec;--surface:#fff;--surface-2:#f7f7f8;--border:#e8e8ec;--text-main:#1a1a2e;--text-sub:#717186;--text-hint:#a9a9bc;--radius:16px;--radius-sm:10px;--green:#17a966;--green-soft:#e6f7ee}*{box-sizing:border-box;margin:0;padding:0}body{background:#eeeef4;justify-content:center;align-items:flex-start;min-height:100vh;padding:0;font-family:DM Sans,sans-serif;display:flex;overflow:hidden}#root{background:var(--surface);flex-direction:column;width:100%;height:100vh;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 40px #1a1a2e1f}@media (width>=500px){body{align-items:center;padding:0;overflow-y:auto}#root{height:800px}}.auth-screen{background:#f8f9fd;flex-direction:column;flex:1;min-width:330px;max-width:450px;margin:auto;padding:40px 28px;display:flex;overflow-y:auto}.logo-header{text-align:center;margin-bottom:32px}.logo-header h1{color:var(--brand);margin-bottom:6px;font-family:DM Serif Display,serif;font-size:32px}.logo-header p{color:var(--text-sub);font-size:14px}.form-group{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.form-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:#fff;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.primary-btn{border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:14px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;transition:all .15s;display:flex}.primary-btn:hover{background:#d03a52}.primary-btn:active{transform:scale(.98)}.primary-btn:disabled{background:var(--border);color:var(--text-hint);cursor:not-allowed;transform:none}.secondary-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-sub);cursor:pointer;text-align:center;background:0 0;margin-top:10px;padding:12px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.secondary-btn:hover{border-color:var(--text-sub);color:var(--text-main)}.error-message{color:#721c24;border-radius:var(--radius-sm);background:#fdf2f4;border:1px solid #f8d7da;margin-bottom:20px;padding:12px;font-size:13px;line-height:1.4}.selector-list{flex-direction:column;gap:10px;max-height:300px;margin-bottom:24px;padding-right:4px;display:flex;overflow-y:auto}.selector-card{border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:12px;padding:14px;transition:all .15s;display:flex}.selector-card:hover{border-color:var(--accent)}.selector-card.selected{border-color:var(--accent);background:var(--accent-soft)}.selector-logo{object-fit:cover;width:40px;height:40px;color:var(--brand);background:#eee;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.selector-details{flex:1}.selector-title{color:var(--text-main);font-size:15px;font-weight:500}.idle-screen{text-align:center;color:#fff;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.idle-logo-container{cursor:pointer;justify-content:center;align-items:center;margin-bottom:30px;display:flex}.idle-logo{object-fit:contain;max-width:100%;max-height:100%}.idle-title{margin-bottom:12px;font-family:DM Serif Display,serif;font-size:28px}.idle-subtitle{color:#000;font-size:15px;line-height:1.5}.connection-pill{background:var(--brand);color:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;display:inline-flex;position:absolute;bottom:24px}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.connected{background:var(--green)}.status-dot.disconnected{background:var(--accent)}.top-bar{background:var(--brand);color:#fff;padding:20px 24px 16px}.top-bar-row{justify-content:space-between;align-items:center;display:flex}.logo-label{letter-spacing:-.3px;color:#fff;font-family:DM Serif Display,serif;font-size:20px}.queue-chip{color:#ffffffbf;background:#ffffff1f;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.top-bar-sub{color:#ffffff8c;margin-top:4px;font-size:13px}.progress-bar-wrap{margin-top:14px}.progress-label{color:#ffffff80;justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.progress-track{background:#ffffff26;border-radius:99px;height:3px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:99px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.scroll-body{flex-direction:column;flex:1;gap:14px;padding:20px 20px 80px;display:flex;overflow-y:auto}.scroll-body::-webkit-scrollbar{display:none}.q-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .2s;animation:.25s slideIn}.q-card.answered{border-color:#c8e6d5}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.q-num{color:var(--accent);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:11px;font-weight:600}.q-text{color:var(--text-main);margin-bottom:14px;font-size:15px;font-weight:500;line-height:1.4}.q-required{color:var(--accent);margin-left:2px}.rating-row{gap:6px;display:flex}.rating-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;color:var(--text-sub);text-align:center;flex:1;padding:10px 0;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s}.rating-btn:active{transform:scale(.95)}.rating-btn.selected{border-color:var(--accent);background:var(--accent);color:#fff}.open-input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:var(--surface-2);resize:none;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.5;transition:border-color .15s}.open-input:focus{border-color:var(--accent);background:#fff}.open-input::placeholder{color:var(--text-hint)}.answered-badge{background:var(--green-soft);color:var(--green);border-radius:20px;align-items:center;gap:4px;margin-bottom:8px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.footer-bar{border-top:1px solid var(--border);background:#fff;justify-content:flex-end;align-items:center;padding:14px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.success-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 32px;animation:.3s slideIn;display:flex}.success-icon{background:var(--green-soft);width:72px;height:72px;color:var(--green);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;font-size:32px;display:flex}.success-title{color:var(--text-main);margin-bottom:10px;font-family:DM Serif Display,serif;font-size:26px}.success-sub{color:var(--text-sub);font-size:14px;line-height:1.6}.ticket-chip{background:var(--brand);color:#fff;border-radius:var(--radius-sm);margin-top:20px;padding:10px 20px;font-size:15px;font-weight:600}.loading-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:60px 32px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-sub);font-size:13px}.lock-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.lock-modal{border-radius:var(--radius);text-align:center;background:#fff;width:100%;max-width:320px;padding:24px;box-shadow:0 10px 25px #0000004d}.lock-modal h3{color:var(--brand);margin-bottom:10px;font-size:18px}.lock-modal p{color:var(--text-sub);margin-bottom:16px;font-size:13px}
