body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;color:#333;line-height:1.6;overflow:auto}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.App{min-height:100vh;display:flex;flex-direction:column}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;text-align:center}.login-card{background:white;padding:40px;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:400px;width:100%}.login-card h1{color:#333;font-size:2.5rem;margin-bottom:10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card p{color:#666;margin-bottom:30px;font-size:1.1rem}.features{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.feature{display:flex;align-items:center;gap:10px;color:#555;font-size:.95rem}.feature span:first-child{font-size:1.2rem}.loading-message{background:#e3f2fd;padding:15px;border-radius:10px;margin-bottom:20px;text-align:center;color:#1565c0}.user-info{background:white;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 10px #0000001a;border-bottom:1px solid #e0e0e0;flex-shrink:0}.user-details{display:flex;align-items:center;gap:15px}.user-avatar{width:45px;height:45px;border-radius:50%;border:3px solid #667eea;flex-shrink:0}.user-info-text{display:flex;flex-direction:column}.user-name{font-size:1.1rem;font-weight:600;color:#333}.user-email{font-size:.85rem;color:#666}.logout-button{background:#e74c3c;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s;flex-shrink:0}.logout-button:hover{background:#c0392b}.app-content{display:flex;flex:1;height:calc(100vh - 75px);min-height:0;overflow:hidden}.contact-list{width:350px;background:white;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;min-height:0;flex-shrink:0}.contact-list h2{padding:20px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;margin:0;color:#333;font-size:1.3rem;flex-shrink:0}.search{padding:15px 20px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.search input{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:25px;font-size:14px;outline:none;transition:border-color .2s}.search input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.contact-items{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.contact-item{display:flex;align-items:center;padding:15px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:all .2s;min-height:70px;flex-shrink:0}.contact-item:hover{background:#f8f9fa}.contact-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.contact-item img{width:40px;height:40px;border-radius:50%;margin-right:15px;border:2px solid #e0e0e0;flex-shrink:0}.contact-item.active img{border-color:#fff}.contact-details{display:flex;flex-direction:column;min-width:0;flex:1}.contact-name{font-weight:500;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-email{font-size:.8rem;color:#666;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-item.active .contact-email{color:#fffc}.no-contacts-message{padding:40px 20px;text-align:center;color:#666;flex-shrink:0}.no-contacts-message p{margin-bottom:5px}.no-contacts-message small{color:#999}.add-contact{padding:20px;border-top:1px solid #e0e0e0;background:#f8f9fa;flex-shrink:0}.add-contact h3{margin-bottom:15px;color:#555;font-size:1rem}.add-contact-form{display:flex;flex-direction:column;gap:10px}.form-group{display:flex;flex-direction:column}.form-group input{padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.add-contact-button{padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.add-contact-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.add-contact-button:disabled{background:#95a5a6;cursor:not-allowed;transform:none}.add-contact-help{margin-top:10px;padding:10px;background:#e8f4fd;border-radius:6px;border:1px solid #b3e0ff}.add-contact-help small{color:#06c;line-height:1.4;font-size:.8rem}.backend-status{padding:8px 15px;text-align:center;border-bottom:1px solid #e0e0e0;flex-shrink:0}.backend-status.checking{background:#fff3cd;color:#856404}.backend-status.error{background:#f8d7da;color:#721c24}.backend-status small{font-size:.8rem}.walkie-talkie{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#f8f9fa;min-height:0;overflow-y:auto}.contact-info{text-align:center;margin-bottom:40px}.contact-info img{width:100px;height:100px;border-radius:50%;border:4px solid #667eea;margin-bottom:15px;box-shadow:0 8px 25px #667eea4d}.contact-info h3{font-size:1.5rem;color:#333;margin-bottom:5px}.contact-info p{color:#666;font-size:.9rem}.status-indicators{margin-top:10px}.status{padding:5px 10px;border-radius:15px;font-size:.8rem;margin:2px 0;display:inline-block}.connection-status.connected{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.connection-status.disconnected{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.connection-status.error{background:#fff3cd;color:#856404;border:1px solid #ffeaa7}.speaking-status.active{background:#ffeaa7;color:#856404;border:1px solid #fdcb6e}.listening-status.active{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.audio-status{font-size:.9rem;color:#666;margin-top:5px}.controls{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:40px}.connect-button{padding:20px 30px;font-size:1.2rem;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px #00000026;min-width:250px;min-height:80px;display:flex;align-items:center;justify-content:center;gap:10px}.connect-button.connected{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;transform:scale(1.05)}.connect-button.disconnected{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.connect-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0003}.connect-button:active{transform:scale(.98)}.mute-button{padding:12px 24px;border:2px solid #667eea;background:white;color:#667eea;border-radius:25px;cursor:pointer;font-weight:600;transition:all .2s;font-size:.9rem}.mute-button:hover{background:#667eea;color:#fff;transform:translateY(-2px)}.mute-button.muted{background:#95a5a6;border-color:#95a5a6;color:#fff}.secondary-controls{display:flex;gap:15px;margin-top:20px}.instructions{text-align:center;color:#666;font-size:.9rem;max-width:400px;background:white;padding:20px;border-radius:15px;box-shadow:0 5px 15px #0000001a;margin-top:20px}.instructions h4{color:#333;margin-bottom:15px;font-size:1.1rem}.instructions p{margin-bottom:8px;text-align:left}.audio-tips{margin-top:20px;padding:12px;background:#e8f4fd;border-radius:8px;text-align:center;max-width:400px}.audio-tips small{color:#06c;font-size:.8rem}.no-contact-selected{text-align:center;color:#666;max-width:400px;padding:20px}.no-contact-selected .icon{font-size:4rem;margin-bottom:20px}.no-contact-selected h2{color:#333;margin-bottom:10px;font-size:1.5rem}.no-contact-selected p{margin-bottom:30px;line-height:1.6}@media (max-width: 768px){.app-content{flex-direction:column;flex:1;height:auto;min-height:0;overflow-y:auto}.contact-list{width:100%;height:auto;min-height:0;max-height:none;border-right:none;border-bottom:1px solid #e0e0e0;flex-shrink:0;display:flex;flex-direction:column;overflow:visible}.contact-items{flex:1;min-height:150px;max-height:40vh;overflow-y:auto;display:flex;flex-direction:column}.walkie-talkie{flex:1;min-height:60vh;overflow-y:auto;padding:20px;justify-content:flex-start}.contact-item{padding:12px 15px;min-height:60px;flex-shrink:0}.contact-item img{width:35px;height:35px}.contact-name{font-size:.9rem}.contact-email{font-size:.75rem}.contact-info{margin-bottom:20px;flex-shrink:0}.contact-info img{width:80px;height:80px}.contact-info h3{font-size:1.3rem}.connect-button{width:100%;max-width:280px;min-height:70px;font-size:1.1rem;margin:10px 0}.controls{gap:15px;margin-bottom:20px;flex-shrink:0}.mute-button{min-height:44px;padding:12px 20px}.user-info{padding:10px 15px}.user-avatar{width:40px;height:40px}.user-name{font-size:1rem}.user-email{font-size:.8rem}.logout-button{padding:8px 14px;font-size:.85rem}.login-card{padding:30px 20px;margin:20px}.login-card h1{font-size:2rem}.contact-list h2{padding:15px;font-size:1.2rem}.search{padding:10px 15px}.add-contact{padding:15px}.instructions{font-size:.85rem;flex-shrink:0;margin-top:15px;padding:15px}.audio-tips{margin-top:15px;padding:10px;flex-shrink:0}.status{font-size:.75rem}}@media (max-width: 480px){.contact-info img{width:70px;height:70px}.connect-button{min-height:60px;font-size:1rem;padding:16px 20px}.contact-list h2{padding:12px 15px;font-size:1.1rem}.search{padding:8px 15px}.search input{padding:10px 12px;font-size:13px}.add-contact-form{gap:8px}.form-group input{padding:10px 12px;font-size:13px}.add-contact-button{padding:10px 15px;font-size:13px}.instructions{font-size:.8rem;padding:12px}.instructions p{margin-bottom:5px}.audio-tips small{font-size:.75rem}.no-contact-selected .icon{font-size:3rem}.no-contact-selected h2{font-size:1.3rem}.contact-item{padding:10px 15px;min-height:55px}}@media (max-height: 500px) and (orientation: landscape){.app-content{flex-direction:row;height:calc(100vh - 60px);overflow:hidden}.contact-list{width:40%;height:100%;max-height:100%;border-right:1px solid #e0e0e0;border-bottom:none}.walkie-talkie{width:60%;height:100%;padding:15px}.contact-info{margin-bottom:10px}.contact-info img{width:50px;height:50px}.contact-info h3{font-size:1.1rem}.connect-button{min-height:50px;font-size:.9rem;padding:12px 20px}.contact-items{flex:1;overflow-y:auto;min-height:0}}@media (hover: none) and (pointer: coarse){.contact-item{padding:15px 20px;min-height:65px}.connect-button:active,.mute-button:active{transform:scale(.98)}}@media (max-width: 768px){input,select,textarea{font-size:16px}}.connect-button,.mute-button,.contact-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}audio{-webkit-audio-device-selector:speaker}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;color:#333;line-height:1.6}#root{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
