*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.qr-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.qr-modal-content{background:#2d2d2d;border-radius:16px;box-shadow:0 20px 50px #00000080;color:#fff;max-width:400px;padding:30px;position:relative;text-align:center;width:100%}.qr-modal-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:15px;top:15px;transition:background .2s ease;width:36px}.qr-modal-close:hover{background:#fff3}.qr-modal-content h2{color:#48bb78;font-size:1.5rem;font-weight:600;margin:0 0 10px}.qr-modal-subtitle{color:#aaa;font-size:.95rem;margin:0 0 25px}.qr-code-container{background:#fff;border-radius:12px;display:inline-block;margin-bottom:25px;padding:20px}.meeting-id-display{background:#ffffff0d;border-radius:10px;margin-bottom:20px;padding:15px}.meeting-id-display label{color:#888;display:block;font-size:.8rem;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.meeting-id-display .meeting-id-value{color:#fff;font-family:monospace;font-size:1.1rem;font-weight:600;word-break:break-all}.qr-modal-actions{display:flex;gap:12px;margin-bottom:20px}.qr-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:14px 20px;transition:all .2s ease}.qr-btn.copy-btn{background:#ffffff1a;border:1px solid #fff3;color:#fff}.qr-btn.copy-btn:hover{background:#fff3}.qr-btn.join-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.qr-btn.join-btn:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.qr-modal-note{color:#888;font-size:.85rem;margin:0}@media (max-width:480px){.qr-modal-content{padding:25px 20px}.qr-modal-content h2{font-size:1.3rem}.qr-code-container{padding:15px}.qr-code-container svg{height:160px!important;width:160px!important}.qr-modal-actions{flex-direction:column}.qr-btn{padding:12px 16px}}.logo-container{align-items:center;display:flex;gap:12px}.logo-icon{flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1.2}.logo-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#ef4444 50%,#ec4899);-webkit-background-clip:text;background-clip:text;font-weight:700}.logo-tagline{color:#fff9;font-size:.7em;font-weight:400}.logo-small .logo-name{font-size:1rem}.logo-small .logo-tagline{display:none}.logo-medium .logo-name{font-size:1.5rem}.logo-large .logo-name{font-size:2rem}.logo-large .logo-tagline{font-size:.8rem}.logo-container:hover .logo-icon{transform:scale(1.05);transition:transform .2s ease}.logo-icon{transition:transform .2s ease}.home-page{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f0f23);display:flex;justify-content:center;min-height:100vh;padding:20px}.home-container{background:#1e1e2df2;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 60px #00000080;max-width:500px;padding:40px;width:100%}.home-header{margin-bottom:40px;text-align:center}.header-top{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.user-name{color:#fffc;font-size:14px;font-weight:500}.logout-btn{background:#0000;border:1px solid #f59e0b;border-radius:8px;color:#f59e0b;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s ease}.logout-btn:hover{background:#f59e0b;color:#fff}.home-header h1{color:#fff;font-size:2rem;font-weight:600;margin-bottom:10px}.home-header p{color:#fff9;font-size:1rem;margin:0}.input-section{margin-bottom:30px}.input-group label{color:#fffc}.input-group input{background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;color:#fff}.input-group input::placeholder{color:#fff6}.input-group input:focus{border-color:#f59e0b}.error-message{background:#dc262626;border:1px solid #dc26264d;color:#ef4444}.action-section{margin-top:30px}.primary-btn{background:linear-gradient(135deg,#f59e0b,#ef4444 50%,#ec4899);border-radius:10px;margin-bottom:20px;transition:transform .2s ease,box-shadow .2s ease}.primary-btn:hover:not(:disabled){box-shadow:0 8px 25px #6366f166;transform:translateY(-2px)}.primary-btn:disabled{background:#ffffff1a;box-shadow:none;color:#fff6;transform:none}.secondary-btn{background:#0000;border:1px solid #f59e0b;border-radius:10px;color:#f59e0b;cursor:pointer;font-size:16px;font-weight:600;padding:12px 20px;transition:all .2s ease;width:100%}.secondary-btn:hover{background:#f59e0b;color:#fff}.divider{margin:30px 0;position:relative;text-align:center}.divider:before{background:#e1e5e9;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:#fff;color:#666;font-weight:500;padding:0 20px}.join-section{margin-top:20px}.features-section{border-top:1px solid #e1e5e9;margin-top:30px;overflow:hidden}.features-section.collapsed,.features-section.expanded{padding-top:20px}.features-toggle-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#667eea;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:12px 20px;transition:all .2s;width:100%}.features-toggle-btn:hover{background:#667eea1a}.features-toggle-icon{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:22px;justify-content:center;line-height:1;width:22px}.features-content{animation:slideDown .3s ease;padding:20px 0 0}.features-section h3{color:#333;font-size:1.2rem;margin-bottom:15px}.features-section ul{list-style:none;margin:0;padding:0}.features-section li{color:#666;padding:8px 0 8px 25px;position:relative}.features-section li:before{color:#48bb78;content:"✓";font-weight:700;left:0;position:absolute}@media (max-width:600px){.home-container{margin:10px;padding:30px 20px}.home-header h1{font-size:2rem}}.join-meeting-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.join-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:500px;padding:40px;width:100%}.join-header{margin-bottom:40px;position:relative;text-align:center}.join-header h1{color:#333;font-size:2.2rem;font-weight:600;margin-bottom:10px}.join-header p{color:#666;font-size:1rem;margin:0}.join-form{margin-bottom:30px}.input-group{margin-bottom:20px}.input-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.input-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .2s ease;width:100%}.input-group input:focus{border-color:#667eea;outline:none}.input-group input.error{border-color:#e53e3e}.validation-status{align-items:center;color:#666;display:flex;font-size:14px;margin-top:8px}.spinner{border:2px solid #e1e5e9;border-top-color:#667eea;height:16px;margin-right:8px;width:16px}.primary-btn{font-size:16px;padding:14px 20px}.join-info{border-top:1px solid #e1e5e9;padding-top:30px}.join-info h3{color:#333;font-size:1.1rem;margin-bottom:15px}.join-info ul{list-style:none;margin:0;padding:0}.join-info li{color:#666;font-size:14px;padding:6px 0 6px 25px;position:relative}.join-info li:before{color:#667eea;content:"•";font-weight:700;left:0;position:absolute}@media (max-width:600px){.join-container{margin:10px;padding:30px 20px}.join-header h1{font-size:1.8rem}.back-btn{margin-bottom:20px;position:static;text-align:left}}.participant-list{background:#2d2d2d;display:flex;flex-direction:column;height:100%}.close-btn{align-items:center;border-radius:6px;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.close-btn svg{height:20px;width:20px}.close-btn:hover{background:#ffffff1a}.panel-content{flex:1 1;overflow-y:auto;padding:15px}.no-participants{color:#888;padding:40px 20px;text-align:center}.no-participants p{font-size:14px;margin:0}.participant-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;gap:12px;margin-bottom:8px;padding:12px;transition:background .2s ease}.participant-item:hover{background:#ffffff14}.participant-item.current-user{background:#667eea33;border:1px solid #667eea4d}.participant-item:last-child{margin-bottom:0}.participant-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;width:40px}.participant-info{flex:1 1;min-width:0}.participant-name{color:#fff;font-size:14px;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-badge{background:#48bb78;border-radius:10px;color:#fff;display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.participant-status{align-items:center;display:flex;gap:8px}.status-indicator{align-items:center;display:flex;justify-content:center;transition:opacity .2s ease}.status-indicator svg{height:16px;width:16px}.status-indicator.on{color:#48bb78;opacity:1}.status-indicator.off{color:#e53e3e;opacity:.6}.status-btn{align-items:center;background:#ffffff1a;border:none;border-radius:8px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.status-btn svg{height:18px;width:18px}.status-btn.on{background:#48bb7826;color:#48bb78}.status-btn.on:hover{background:#48bb784d;transform:scale(1.05)}.status-btn.off{background:#e53e3e26;color:#e53e3e}.status-btn.off:hover{background:#e53e3e4d;transform:scale(1.05)}.status-btn:active{transform:scale(.95)}.panel-footer{border-top:1px solid #ffffff1a;padding:15px 20px}.meeting-id{color:#888;font-size:12px;margin:0;text-align:center}.panel-content::-webkit-scrollbar{width:6px}.panel-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.panel-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.host-controls{display:flex;gap:6px;margin-left:auto}.host-control-btn{align-items:center;background:#ffffff1a;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.host-control-btn svg{height:16px;width:16px}.host-control-btn:hover{transform:scale(1.1)}.host-control-btn.mute-btn{background:#ed893633}.host-control-btn.mute-btn:hover{background:#ed893666}.host-control-btn.transfer-btn{background:#48bb7833}.host-control-btn.transfer-btn:hover{background:#48bb7866}.host-control-btn.kick-btn{background:#f5656533}.host-control-btn.kick-btn:hover{background:#f5656566}.host-hint{color:#888;font-size:11px;font-style:italic;margin:8px 0 0;text-align:center}.confirm-dialog-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:absolute;right:0;top:0;z-index:100}.confirm-dialog{background:#3d3d3d;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:300px;padding:24px;width:100%}.confirm-dialog h4{color:#fff;font-size:18px;font-weight:600;margin:0 0 16px}.confirm-dialog p{color:#ccc;font-size:14px;line-height:1.5;margin:0 0 20px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.confirm-dialog-actions .cancel-btn{background:#ffffff1a;color:#fff}.confirm-dialog-actions .cancel-btn:hover{background:#fff3}.confirm-dialog-actions .confirm-btn{background:#667eea;color:#fff}.confirm-dialog-actions .confirm-btn:hover{background:#5a6fd6}.confirm-dialog-actions .confirm-btn.danger{background:#e53e3e}.confirm-dialog-actions .confirm-btn.danger:hover{background:#c53030}.participant-item.phone-participant{background:#8b5cf61a;border:1px solid #8b5cf633}.participant-item.phone-participant.connected{background:#22c55e1a;border-color:#22c55e4d}.participant-item.phone-participant.dialing,.participant-item.phone-participant.ringing{background:#fbbf241a;border-color:#fbbf244d}.participant-avatar.phone-avatar{background:linear-gradient(135deg,#ef4444,#f59e0b)}.participant-avatar.phone-avatar svg{height:20px;width:20px}.phone-badge{background:#8b5cf64d;border-radius:10px;color:#c4b5fd;display:inline-block;font-size:10px;font-weight:500;margin-left:4px;padding:2px 8px}.call-status{align-items:center;color:#a0aec0;display:flex;font-size:12px;gap:6px}.call-status.connected{color:#4ade80}.call-status.dialing,.call-status.ringing{color:#fbbf24}.call-status.failed{color:#f87171}.status-spinner svg{animation:spin 1s linear infinite;height:14px;width:14px}.host-control-btn.end-call-btn{background:#ef444433}.host-control-btn.end-call-btn:hover{background:#ef4444}.host-control-btn.end-call-btn svg{color:#f87171}.host-control-btn.end-call-btn:hover svg{color:#fff}.add-phone-section{border-top:1px solid #ffffff1a;padding:16px}.add-phone-btn{align-items:center;background:linear-gradient(135deg,#8b5cf633,#6366f133);border:1px dashed #8b5cf666;border-radius:10px;color:#c4b5fd;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:12px 16px;transition:all .2s;width:100%}.add-phone-btn:hover{background:linear-gradient(135deg,#8b5cf64d,#6366f14d);border-color:#8b5cf699;color:#fff}.add-phone-btn svg{height:18px;width:18px}.add-phone-form{background:#0003;border-radius:10px;overflow:hidden}.add-phone-form .form-header{align-items:center;background:#8b5cf626;border-bottom:1px solid #8b5cf633;display:flex;justify-content:space-between;padding:12px 16px}.add-phone-form .form-header span{color:#c4b5fd;font-size:13px;font-weight:500}.close-form-btn{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .2s;width:24px}.close-form-btn svg{color:#a0aec0;height:16px;width:16px}.close-form-btn:hover{background:#ffffff1a}.close-form-btn:hover svg{color:#fff}.form-fields{display:flex;flex-direction:column;gap:12px;padding:16px}.form-fields input{background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;color:#fff;font-size:14px;padding:12px 14px;transition:all .2s}.form-fields input::placeholder{color:#fff6}.form-fields input:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33;outline:none}.form-fields input:disabled{cursor:not-allowed;opacity:.6}.dial-error{background:#ef444426;border:1px solid #ef44444d;border-radius:6px;color:#f87171;font-size:13px;padding:10px 12px}.call-btn{align-items:center;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.call-btn:hover:not(:disabled){box-shadow:0 4px 12px #22c55e66;transform:translateY(-1px)}.call-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.btn-spinner svg,.call-btn svg{height:16px;width:16px}.btn-spinner svg{animation:spin 1s linear infinite}.chat-panel{background:#2d2d2d;display:flex;flex-direction:column;height:100%}.panel-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px}.panel-header h3{color:#fff;font-size:1.2rem;font-weight:600;margin:0}.close-btn{background:none;border:none;color:#ccc;cursor:pointer;font-size:24px;line-height:1;padding:5px}.close-btn:hover{color:#fff}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.empty-chat{color:#ccc;margin-top:40px;text-align:center}.empty-chat p{font-weight:500;margin:0 0 10px}.empty-chat small{font-size:.8rem;opacity:.7}.message{word-wrap:break-word;border-radius:8px;display:flex;flex-direction:column;gap:5px;max-width:85%;padding:10px 12px}.own-message{align-self:flex-end;background:#667eea33;border:1px solid #667eea4d}.other-message{align-self:flex-start;background:#ffffff0d;border:1px solid #ffffff1a}.message-header{margin-bottom:3px}.sender-name{color:#667eea;font-size:12px;font-weight:600}.own-message .sender-name{color:#a2b2ff}.timestamp{color:#999;font-size:11px}.chat-input{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:10px;padding:20px}.chat-input textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-family:inherit;font-size:14px;outline:none;padding:12px;resize:none}.chat-input textarea::placeholder{color:#ccc}.chat-input textarea:focus{border-color:#667eea}.send-btn{align-self:flex-end;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.send-btn:hover:not(:disabled){background:#5a67d8}.send-btn:disabled{background:#4a5568;cursor:not-allowed}.message-item{display:flex;flex-direction:column;gap:5px}.message-header{align-items:center;display:flex;gap:10px}.message-sender{color:#667eea;font-size:14px;font-weight:600}.message-time{color:#ccc;font-size:12px}.message-content{word-wrap:break-word;color:#fff;font-size:14px;line-height:1.4}.meeting-info-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.meeting-info-panel{animation:slideUp .3s ease;background:#2d2d2d;border-radius:16px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:420px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.meeting-info-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:20px 24px}.meeting-info-header h2{color:#fff;font-size:1.3rem;font-weight:600;margin:0}.meeting-info-header .close-btn{background:none;border:none;color:#888;cursor:pointer;font-size:1.8rem;line-height:1;padding:0;transition:color .2s}.meeting-info-header .close-btn:hover{color:#fff}.meeting-info-content{padding:24px}.info-section{margin-bottom:20px}.info-section label{color:#888;display:block;font-size:.85rem;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.info-row{align-items:center;background:#0000004d;border-radius:8px;display:flex;gap:12px;padding:12px 16px}.info-value{color:#fff;flex:1 1;font-size:.95rem;word-break:break-all}.info-value.monospace{font-family:Monaco,Menlo,monospace;font-size:1.1rem;letter-spacing:1px}.copy-btn,.info-value.link-value{color:#a3b8ff;font-size:.85rem}.copy-btn{background:#667eea33;border:1px solid #667eea66;border-radius:6px;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.copy-btn:hover{background:#667eea4d;border-color:#667eea99}.copy-btn.copied{background:#48bb7833;border-color:#48bb7866;color:#48bb78}.qr-section{background:#ffffff0d;border-radius:12px;margin:24px 0;padding:20px;text-align:center}.qr-section label{color:#888;display:block;font-size:.85rem;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.qr-container{background:#fff;border-radius:12px;display:inline-block;padding:12px}.qr-hint{color:#666;font-size:.85rem;margin:16px 0 0}.share-actions{display:flex;gap:12px;margin-top:24px}.share-btn{border-radius:10px;display:flex;flex:1 1;font-size:.95rem;justify-content:center;padding:14px 20px;transition:all .2s}.share-btn .icon{font-size:1.1rem}.share-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.share-btn.primary:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.share-btn.secondary{background:#ffffff1a;border:1px solid #fff3;color:#fff}.share-btn.secondary:hover{background:#ffffff26}@media (max-width:480px){.meeting-info-panel{border-radius:12px;margin:10px;max-width:100%}.meeting-info-header{padding:16px 20px}.meeting-info-content{padding:20px}.share-actions{flex-direction:column}.qr-container{padding:8px}.qr-container svg{height:120px!important;width:120px!important}}.meeting-room-page{background:#0f0f0f;color:#fff;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative}.meeting-room-page.fullscreen-mode{bottom:0;height:100vh;height:100dvh;left:0;position:fixed;right:0;top:0;width:100vw;z-index:9999}.meeting-header-minimal{align-items:center;background:linear-gradient(180deg,#000c,#0000);display:flex;justify-content:space-between;left:0;opacity:0;padding:12px 20px;position:absolute;right:0;top:0;transform:translateY(-100%);transition:all .3s ease;z-index:100}.meeting-header-minimal.visible{opacity:1;transform:translateY(0)}.header-hover-zone{height:60px;left:0;position:absolute;right:0;top:0;z-index:99}.header-left{align-items:center;display:flex;gap:12px}.meeting-id-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:20px;font-family:monospace;font-size:.85rem;font-weight:500;padding:6px 12px}.participant-count{background:#667eea4d;border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 10px}.header-right{display:flex;gap:8px}.header-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.header-btn svg{height:18px;width:18px}.header-btn:hover{background:#fff3;transform:scale(1.05)}.main-content,.meeting-layout{display:flex;flex:1 1;min-height:0;overflow:hidden}.main-content{flex-direction:column;min-width:0;position:relative}.video-area-fullscreen{align-items:center;background:#0f0f0f;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.participants-grid{grid-gap:4px;box-sizing:border-box;display:grid;gap:4px;height:100%;padding:0;width:100%}.participants-grid.one-remote,.participants-grid.solo-mode{grid-template-columns:1fr;grid-template-rows:1fr}.participants-grid.two-remote{grid-template-columns:repeat(2,1fr);grid-template-rows:1fr}.participants-grid.three-remote{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.participants-grid.three-remote .participant-video:nth-child(3){grid-column:1/-1}.participants-grid.four-remote{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.participants-grid.multi-remote{grid-auto-rows:1fr;grid-template-columns:repeat(3,1fr)}.participant-video{background:#1a1a1a;border-radius:10px;height:100%;min-height:0;min-width:0;overflow:hidden;position:relative;width:100%}.participant-video video{height:100%;object-fit:cover;width:100%}.participant-video.speaking{box-shadow:0 0 0 3px #48bb78,0 0 30px #48bb784d}.participant-name{align-items:center;background:linear-gradient(#0000,#000c);bottom:0;display:flex;gap:8px;left:0;padding:12px 16px;position:absolute;right:0}.participant-name span{font-size:.9rem;font-weight:500}.badge.host{background:#48bb784d;border-radius:10px;color:#68d391;font-size:.7rem;font-weight:600;padding:2px 8px}.icon-muted{margin-left:auto;opacity:.7}.icon-muted svg{color:#e53e3e;height:16px;width:16px}.participant-placeholder{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);flex-direction:column;gap:12px;height:100%;width:100%}.participant-placeholder,.placeholder-avatar{align-items:center;display:flex;justify-content:center}.placeholder-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:2rem;font-weight:600;height:80px;width:80px}.connecting-status{animation:pulse 1.5s ease-in-out infinite;color:#888;font-size:.85rem}.solo-view{background:#0f0f0f;border-radius:12px;height:100%;overflow:hidden;position:relative;width:100%}.solo-video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.solo-placeholder{background:linear-gradient(135deg,#1a1a2e,#16213e);height:100%;width:100%}.solo-avatar,.solo-placeholder{align-items:center;display:flex;justify-content:center}.solo-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 20px 60px #667eea4d;font-size:4rem;font-weight:600;height:150px;width:150px}.solo-overlay{align-items:flex-end;background:linear-gradient(#0000,#000c);bottom:0;display:flex;justify-content:space-between;left:0;padding:24px;position:absolute;right:0}.solo-info{align-items:center;display:flex;gap:12px}.solo-name{color:#fff;font-size:1.2rem;font-weight:600}.solo-muted svg{color:#e53e3e;height:20px;width:20px}.solo-waiting{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.solo-waiting p{color:#888;font-size:.9rem;margin:0}.share-btn-mini{align-items:center;background:#667eeacc;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.share-btn-mini svg{height:14px;width:14px}.share-btn-mini:hover{background:#667eea;transform:translateY(-1px)}.waiting-room{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;height:100%;justify-content:center;width:100%}.waiting-content{text-align:center}.waiting-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 10px 40px #667eea4d;display:flex;font-size:2.5rem;font-weight:600;height:100px;justify-content:center;margin:0 auto 24px;width:100px}.waiting-content h2{color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:8px}.waiting-content p{color:#888;margin-bottom:24px}.share-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s}.share-btn svg{height:18px;width:18px}.share-btn:hover{box-shadow:0 10px 30px #667eea66;transform:translateY(-2px)}.screen-share-fullscreen{background:#000;bottom:0;left:0;position:absolute;right:0;top:0;z-index:10}.screen-share-fullscreen video{height:100%;object-fit:contain;width:100%}.screen-share-badge{background:#48bb78e6;border-radius:8px;font-size:.85rem;font-weight:600;left:16px;padding:8px 16px;position:absolute;top:16px}.self-view-floating{background:#1a1a1a;border:2px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #00000080;cursor:grab;height:120px;overflow:hidden;position:absolute;transition:box-shadow .2s,border-color .2s;width:160px;z-index:50}.self-view-floating:hover{border-color:#667eea80;box-shadow:0 12px 40px #0009}.self-view-floating.dragging{border-color:#667eeacc;box-shadow:0 16px 50px #000000b3;cursor:grabbing;transform:scale(1.02)}.self-view-floating.speaking{border-color:#48bb78;box-shadow:0 0 0 2px #48bb78,0 8px 32px #48bb784d}.self-view-floating video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.self-placeholder{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);height:100%;width:100%}.self-avatar,.self-placeholder{align-items:center;display:flex;justify-content:center}.self-avatar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;font-size:1.2rem;font-weight:600;height:50px;width:50px}.self-label{align-items:center;background:linear-gradient(#0000,#000c);bottom:0;display:flex;font-size:.75rem;font-weight:500;justify-content:space-between;left:0;padding:6px 10px;position:absolute;right:0}.self-muted svg{color:#e53e3e;height:14px;width:14px}.drag-handle{background:#ffffff4d;border-radius:2px;height:4px;left:50%;opacity:0;position:absolute;top:6px;transform:translateX(-50%);transition:opacity .2s;width:30px}.self-view-floating:hover .drag-handle{opacity:1}.controls-minimal{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#000000b3;border:1px solid #ffffff1a;border-radius:16px;bottom:24px;display:flex;gap:8px;left:50%;padding:10px 16px;position:absolute;transform:translateX(-50%);transition:all .3s ease;z-index:60}.controls-minimal.visible{opacity:1;transform:translateX(-50%) translateY(0)}.controls-minimal.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(100px)}.ctrl-btn{align-items:center;background:#ffffff1a;border:none;border-radius:14px;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:relative;transition:all .2s;width:48px}.ctrl-btn svg{height:22px;width:22px}.ctrl-btn:hover{background:#fff3;transform:translateY(-2px)}.ctrl-btn:active{transform:scale(.95)}.ctrl-btn.off{background:#e53e3e4d;color:#fc8181}.ctrl-btn.off:hover{background:#e53e3e80}.ctrl-btn.active{background:#667eea4d;color:#a3b8ff}.ctrl-btn.leave{background:#e53e3e80;color:#fff}.ctrl-btn.leave:hover{background:#e53e3ecc}.ctrl-divider{background:#fff3;height:32px;margin:0 4px;width:1px}.ctrl-badge{background:#667eea;border-radius:10px;color:#fff;font-size:.65rem;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:-4px;text-align:center;top:-4px}.toggle-controls-minimal{align-items:center;background:#00000080;border:1px solid #fff3;border-radius:10px;bottom:8px;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s;width:48px;z-index:61}.toggle-controls-minimal:hover{background:#000000b3;border-color:#ffffff4d}.toggle-controls-minimal.hidden-state{background:#667eeacc;border-color:#667eea99;bottom:24px}.toggle-arrow{font-size:10px}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141414f2;border-left:1px solid #ffffff1a;flex-shrink:0;overflow:hidden;position:relative;transition:width .3s ease;width:0}.sidebar.visible{width:320px;z-index:150}.connecting-overlay{align-items:center;background:#0f0f0f;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.connecting-content{color:#fff;text-align:center}.connecting-content .spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#667eea;height:60px;margin:0 auto 24px;width:60px}.connecting-content h2{font-size:1.5rem;font-weight:600;margin:0 0 12px}.connecting-content p{color:#888;margin:0}.error-overlay{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.error-content{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;max-width:400px;padding:32px;text-align:center;width:90%}.error-content h3{color:#e53e3e;font-size:1.3rem;margin:0 0 16px}.error-content p{color:#888;line-height:1.5;margin:0 0 24px}.error-content button{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px;transition:all .2s}.error-content button:hover{background:#5a67d8;transform:translateY(-1px)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width:768px){.meeting-header-minimal{padding:10px 16px}.header-btn{height:32px;width:32px}.header-btn svg{height:16px;width:16px}.participants-grid{gap:4px;padding:0}.participants-grid.one-remote{grid-template-columns:1fr;grid-template-rows:1fr}.participants-grid.two-remote{grid-template-columns:1fr;grid-template-rows:repeat(2,1fr)}.participants-grid.three-remote{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.participants-grid.three-remote .participant-video:first-child{grid-column:1/-1}.participants-grid.three-remote .participant-video:nth-child(3){grid-column:auto}.participants-grid.four-remote{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}.participants-grid.multi-remote{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.participant-video{border-radius:8px}.participant-name{padding:8px 12px}.participant-name span{font-size:.8rem}.self-view-floating{border-radius:8px;height:90px;width:120px}.self-avatar{font-size:1rem;height:40px;width:40px}.self-label{font-size:.7rem;padding:4px 8px}.controls-minimal{border-radius:12px;bottom:16px;gap:6px;padding:8px 12px}.ctrl-btn{border-radius:12px;height:42px;width:42px}.ctrl-btn svg{height:18px;width:18px}.ctrl-divider{height:24px}.sidebar{border-left:none;border-top:1px solid #ffffff1a;bottom:0;height:0;left:0;position:absolute;right:0;width:100%;z-index:100}.sidebar.visible{height:60vh;width:100%}.waiting-avatar{font-size:2rem;height:80px;width:80px}.waiting-content h2{font-size:1.2rem}.waiting-content p{font-size:.9rem;padding:0 20px}.share-btn{font-size:.9rem;padding:10px 20px}}@media (max-width:480px){.controls-minimal{gap:4px;padding:6px 10px}.ctrl-btn{border-radius:10px;height:38px;width:38px}.ctrl-btn svg{height:16px;width:16px}.ctrl-divider{height:20px;margin:0 2px}.self-view-floating{height:82px;width:110px}}@media (max-height:500px) and (orientation:landscape){.participants-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.self-view-floating{height:90px;width:120px}.controls-minimal{bottom:12px;padding:6px 12px}.ctrl-btn{height:36px;width:36px}}.prejoin-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.prejoin-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:800px;padding:40px;width:100%}.prejoin-header{margin-bottom:40px;position:relative;text-align:center}.back-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:16px;font-weight:500;left:0;padding:8px 0;position:absolute;top:0}.back-btn:hover{color:#5a67d8}.prejoin-header h1{color:#333;font-size:2.2rem;font-weight:600;margin-bottom:10px}.prejoin-header p{color:#666;font-size:1rem;margin:0}.prejoin-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 300px;margin-bottom:30px}.video-preview{display:flex;flex-direction:column;gap:20px}.video-container{align-items:center;aspect-ratio:16/9;background:#000;border-radius:12px;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.preview-video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.loading-placeholder{align-items:center;color:#fff;display:flex;flex-direction:column;gap:15px}.spinner{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;width:40px}.video-placeholder{flex-direction:column;gap:15px}.avatar,.video-placeholder{align-items:center;color:#fff;display:flex}.avatar{background:#667eea;border-radius:50%;font-size:2rem;font-weight:600;height:80px;justify-content:center;width:80px}.media-controls{display:flex;gap:15px;justify-content:center}.control-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-size:24px;gap:8px;min-width:100px;padding:15px 20px;transition:all .2s ease}.control-btn.active{background:#48bb78;color:#fff}.control-btn.inactive{background:#e53e3e;color:#fff}.control-btn:disabled{background:#a0aec0;cursor:not-allowed}.control-btn span{font-size:14px;font-weight:500}.filter-section{margin-top:15px}.filter-section label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:10px}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background:#fff;border:2px solid #e1e5e9;border-radius:20px;color:#666;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .2s ease}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.audio-meter-section{background:#f7fafc;border-radius:8px;margin-top:20px;padding:15px}.audio-meter-section label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:10px}.audio-meter-container{display:flex;flex-direction:column;gap:8px}.audio-meter{background:#e1e5e9;border-radius:6px;height:12px;overflow:hidden}.audio-meter-fill{background:linear-gradient(90deg,#48bb78,#38a169 50%,#2f855a);border-radius:6px;height:100%;transition:width .05s ease-out}.audio-level-text{color:#666;font-size:12px;text-align:center}.test-speaker-btn{background:#f7fafc;border:2px solid #e1e5e9;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;font-weight:500;margin-top:10px;padding:10px 16px;transition:all .2s ease;width:100%}.test-speaker-btn:disabled,.test-speaker-btn:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff}.test-speaker-btn:disabled{cursor:not-allowed;opacity:.7}.device-settings{background:#f7fafc;border-radius:12px;padding:25px}.device-settings h3{color:#333;font-size:1.2rem;margin:0 0 20px}.device-group{margin-bottom:20px}.device-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.device-group select{background:#fff;border:2px solid #e1e5e9;border-radius:6px;cursor:pointer;font-size:14px;padding:10px 12px;width:100%}.device-group select:focus{border-color:#667eea;outline:none}.device-group select:disabled{background:#f7fafc;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fed7d7;color:#c53030}.meeting-info{background:#f7fafc;border-radius:12px;margin-bottom:30px;padding:25px}.meeting-info h3{color:#333;font-size:1.2rem;margin:0 0 20px}.info-item{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:8px 0}.info-item:last-child{border-bottom:none}.info-item .label{color:#666;font-weight:500}.info-item .value{color:#333;font-weight:600}.primary-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 20px;transition:background-color .2s ease;width:100%}.primary-btn:hover:not(:disabled){background:#5a67d8}.primary-btn:disabled{background:#a0aec0;cursor:not-allowed}@media (max-width:900px){.prejoin-content{gap:30px;grid-template-columns:1fr}.device-settings{order:-1}}@media (max-width:600px){.prejoin-container{margin:10px;padding:30px 20px}.prejoin-header h1{font-size:1.8rem}.back-btn{margin-bottom:20px;position:static;text-align:left}.media-controls{align-items:center;flex-direction:column}.control-btn{max-width:200px;width:100%}}.auth-page{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f0f23);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-container{background:#1e1e2df2;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 60px #00000080;max-width:420px;padding:40px;width:100%}.auth-logo{display:flex;justify-content:center;margin-bottom:24px}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:#fff;font-size:28px;font-weight:700;margin-bottom:8px}.auth-header p{color:#fff9;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .input-group{display:flex;flex-direction:column;gap:6px}.auth-form .input-group label{color:#fffc;font-size:14px;font-weight:500}.auth-form .input-group input{background:#ffffff0d;border:1px solid #ffffff26;border-radius:10px;color:#fff;font-size:16px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.auth-form .input-group input::placeholder{color:#a0aec0}.auth-form .input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.auth-form .input-group input:disabled{background:#f8f9fa;cursor:not-allowed}.auth-form .error-message{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:14px;padding:12px 16px}.auth-form .success-message{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;color:#276749;font-size:14px;padding:12px 16px}.verification-code-input{font-family:monospace;font-size:24px!important;letter-spacing:8px;text-align:center}.resend-btn{background:#0000!important;border:1px solid #667eea!important;color:#667eea!important;margin-top:12px}.resend-btn:hover:not(:disabled){background:#f7fafc!important}.secondary-btn{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.secondary-btn:hover:not(:disabled){background:#edf2f7}.auth-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s}.auth-btn.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.auth-btn.primary-btn:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.auth-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-footer{border-top:1px solid #e9ecef;margin-top:24px;padding-top:24px;text-align:center}.auth-footer p{color:#6c757d;font-size:14px}.auth-link{color:#667eea;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:#764ba2;text-decoration:underline}.guest-divider{align-items:center;display:flex;gap:16px;margin:32px 0;text-align:center}.guest-divider:after,.guest-divider:before{background:#ffffff26;content:"";flex:1 1;height:1px;min-width:20px}.guest-divider span{color:#ffffff80;flex-shrink:0;font-size:13px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.guest-section{background:#f8f9fa;border-radius:12px;margin-top:8px;overflow:hidden;transition:all .3s ease}.guest-section.collapsed,.guest-section.expanded{padding:0}.guest-toggle-btn{align-items:center;background:#0000;border:none;color:#48bb78;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:16px 24px;transition:all .2s;width:100%}.guest-toggle-btn:hover{background:#48bb781a}.guest-toggle-icon{align-items:center;background:#48bb78;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:700;height:24px;justify-content:center;line-height:1;width:24px}.guest-toggle-hint{color:#6c757d;font-size:13px;font-weight:400;margin-left:4px}.guest-form-container{animation:slideDown .3s ease;padding:0 24px 24px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.guest-section h2{color:#1a1a2e;font-size:20px;font-weight:600;margin-bottom:8px;text-align:center}.guest-section>p{color:#6c757d;font-size:14px;margin-bottom:20px;text-align:center}.guest-form{display:flex;flex-direction:column;gap:16px}.guest-form .input-group{display:flex;flex-direction:column;gap:6px}.guest-form .input-group label{color:#1a1a2e;font-size:14px;font-weight:500}.guest-form .input-group input{background:#fff;border:2px solid #e9ecef;border-radius:8px;color:#1a1a2e;font-size:16px;padding:12px 16px;transition:border-color .2s,box-shadow .2s}.guest-form .input-group input::placeholder{color:#a0aec0}.guest-form .input-group input:focus{border-color:#48bb78;box-shadow:0 0 0 3px #48bb781a;outline:none}.guest-form .input-group input:disabled{background:#f1f3f4;cursor:not-allowed}.guest-form .error-message{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:14px;padding:12px 16px}.auth-btn.guest-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.auth-btn.guest-btn:hover:not(:disabled){box-shadow:0 4px 12px #48bb7866;transform:translateY(-2px)}@media (max-width:480px){.auth-container{margin:10px;padding:24px}.auth-header h1{font-size:24px}.guest-toggle-btn{font-size:15px;padding:14px 16px}.guest-form-container{padding:0 16px 16px}.guest-section h2{font-size:18px}}.info-message{border-radius:12px;font-size:14px;padding:16px}.info-message.approval-pending{align-items:flex-start;background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border:1px solid #fbbf244d;display:flex;gap:12px}.approval-icon{font-size:28px;line-height:1}.approval-text{color:#fbbf24;flex:1 1}.approval-text strong{color:#f59e0b;display:block;font-size:15px;margin-bottom:4px}.approval-text p{color:#fbbf24e6;line-height:1.5;margin:0}.auth-header .approval-note{background:#fbbf241a;border:1px solid #fbbf2433;border-radius:6px;color:#fbbf24cc;font-size:12px;margin-top:8px;padding:6px 12px}.guest-join-page{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh;padding:20px}.guest-join-container{background:#2d2d2d;border-radius:16px;box-shadow:0 20px 50px #0006;max-width:420px;padding:40px 30px;width:100%}.loading-state{color:#fff;padding:40px 0;text-align:center}.loading-state .spinner{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-state p{color:#aaa;margin:0}.error-state{color:#fff;padding:30px 0;text-align:center}.error-state .error-icon{align-items:center;background:#e53e3e33;border:2px solid #e53e3e;border-radius:50%;color:#e53e3e;display:flex;font-size:2rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.error-state h2{font-size:1.4rem;margin:0 0 10px}.error-state p{color:#aaa;margin:0 0 25px}.error-actions{display:flex;gap:12px;justify-content:center}.login-link-btn,.register-link-btn{border-radius:8px;font-size:.95rem;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .2s ease}.login-link-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.login-link-btn:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.register-link-btn{background:#ffffff1a;border:1px solid #fff3;color:#fff}.register-link-btn:hover{background:#fff3}.guest-join-header{margin-bottom:30px;text-align:center}.guest-join-header h1{color:#fff;font-size:1.8rem;font-weight:600;margin:0 0 10px}.guest-join-header p{color:#aaa;font-size:1rem;margin:0}.meeting-preview{background:#667eea1a;border:1px solid #667eea4d;border-radius:12px;margin-bottom:25px;padding:20px;text-align:center}.meeting-badge{color:#888;font-size:.75rem;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.meeting-id{color:#fff;font-family:monospace;font-size:1.1rem;font-weight:600;word-break:break-all}.participant-info{color:#48bb78;font-size:.85rem;margin-top:12px}.guest-form{margin-bottom:25px}.guest-form .input-group{margin-bottom:20px}.guest-form label{color:#ccc;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.guest-form input{background:#1a1a1a;border:1px solid #444;border-radius:10px;box-sizing:border-box;color:#fff;font-size:1rem;padding:14px 16px;transition:all .2s ease;width:100%}.guest-form input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;outline:none}.guest-form input::placeholder{color:#666}.error-message{background:#e53e3e1a;border:1px solid #e53e3e4d;border-radius:8px;color:#fc8181;font-size:.9rem;margin-bottom:20px;padding:12px 16px}.join-btn{border:none;border-radius:10px;cursor:pointer;font-size:1.1rem;font-weight:600;padding:16px;transition:all .2s ease;width:100%}.join-btn.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.join-btn.primary-btn:hover:not(:disabled){box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.join-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.guest-footer{border-top:1px solid #ffffff1a;padding-top:20px;text-align:center}.guest-footer p{color:#888;font-size:.9rem;margin:0 0 10px}.auth-links{align-items:center;display:flex;gap:15px;justify-content:center}.auth-links .auth-link{color:#667eea;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s ease}.auth-links .auth-link:hover{color:#764ba2}.auth-links .divider{color:#555}@media (max-width:480px){.guest-join-container{padding:30px 20px}.guest-join-header h1{font-size:1.5rem}.error-actions{flex-direction:column}.login-link-btn,.register-link-btn{text-align:center;width:100%}}.App{min-height:100vh}
/*# sourceMappingURL=main.f48d4a78.css.map*/