.auth-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.auth-box{background:#2a2a2a;padding:2rem;border-radius:8px;width:100%;max-width:400px;box-shadow:0 4px 6px #0000004d}.auth-box h1{margin-bottom:.5rem;color:#fff}.auth-subtitle{color:#999;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#ccc;font-size:.9rem}.auth-button{width:100%;padding:.75rem;background:#4a9eff;color:#fff;border-radius:4px;font-size:1rem;font-weight:500;margin-top:1rem;transition:background .2s}.auth-button:hover:not(:disabled){background:#3a8eef}.auth-button:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#2a2a2a;border-radius:8px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.modal-header{padding:1.5rem;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;align-items:center}.modal-header h2{color:#fff;font-size:1.3rem}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#ccc;font-weight:500}.form-group input{width:100%;padding:.75rem;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;color:#fff;font-size:1rem}.form-group input:focus{border-color:#4a9eff;outline:none}.user-list{max-height:300px;overflow-y:auto;border:1px solid #3a3a3a;border-radius:4px;background:#1a1a1a}.user-item{padding:.75rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s;border-bottom:1px solid #2a2a2a}.user-item:last-child{border-bottom:none}.user-item:hover{background:#2a2a2a}.user-item.selected{background:#3a3a3a}.user-avatar-small{width:32px;height:32px;border-radius:50%;background:#4a9eff;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0}.user-name{flex:1;color:#fff}.check{color:#4a9eff;font-weight:700}.modal-footer{padding:1.5rem;border-top:1px solid #3a3a3a;display:flex;justify-content:flex-end;gap:.75rem}.cancel-button,.create-button{padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;transition:background .2s}.cancel-button{background:#3a3a3a;color:#fff}.cancel-button:hover{background:#4a4a4a}.create-button{background:#4a9eff;color:#fff}.create-button:hover:not(:disabled){background:#3a8eef}.create-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#f44;color:#fff;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.invite-modal{max-width:700px;max-height:80vh}.success-message{background:#4a9eff;color:#fff;padding:1rem;border-radius:4px;margin-bottom:1rem}.success-message code{background:#0003;padding:.25rem .5rem;border-radius:3px;font-size:.9rem;word-break:break-all}.copy-button,.copy-link-button{margin-top:.5rem;padding:.5rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;font-size:.9rem}.copy-button:hover,.copy-link-button:hover{background:#ffffff4d}.invite-actions{margin-bottom:1.5rem}.create-invite-button{width:100%;padding:.75rem;background:#4a9eff;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.create-invite-button:hover:not(:disabled){background:#3a8eef}.create-invite-button:disabled{opacity:.6;cursor:not-allowed}.invites-list h3{color:#fff;margin-bottom:1rem;font-size:1.1rem}.no-invites{color:#999;text-align:center;padding:2rem}.invites-table{width:100%;border-collapse:collapse;background:#1a1a1a;border-radius:4px;overflow:hidden}.invites-table thead{background:#2a2a2a}.invites-table th{padding:.75rem;text-align:left;color:#fff;font-weight:600;border-bottom:1px solid #3a3a3a}.invites-table td{padding:.75rem;color:#d1d1d1;border-bottom:1px solid #2a2a2a}.invites-table tr:last-child td{border-bottom:none}.status{padding:.25rem .5rem;border-radius:3px;font-size:.85rem;font-weight:500}.status.active{background:#4a9eff;color:#fff}.status.used{background:#999;color:#fff}.status.expired{background:#f44;color:#fff}.used,.expired,.active{padding:.25rem .5rem;border-radius:3px;font-size:.85rem;font-weight:500}.used{background:#999;color:#fff}.expired{background:#f44;color:#fff}.active{background:#4a9eff;color:#fff}.close-button-footer{width:100%;padding:.75rem;background:#3a3a3a;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.close-button-footer:hover{background:#4a4a4a}.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}.admin-panel{background:#2f3136;border-radius:8px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.admin-panel-header{padding:1.5rem;border-bottom:1px solid #40444b;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.admin-panel-header h2{margin:0;color:#fff;font-size:1.5rem;font-weight:700}.close-button{background:transparent;border:none;color:#b9bbbe;font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:#40444b;color:#fff}.admin-panel-content{padding:1.5rem;overflow-y:auto;flex:1}.alert{padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:.9375rem}.alert-error{background:#f04747;color:#fff}.alert-success{background:#23a559;color:#fff}.loading{text-align:center;color:#b9bbbe;padding:2rem}.users-list h3{color:#fff;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.users-table{display:flex;flex-direction:column;gap:.5rem}.table-header{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 2fr;gap:1rem;padding:.75rem 1rem;background:#40444b;border-radius:4px;font-weight:600;color:#b9bbbe;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 2fr;gap:1rem;padding:1rem;background:#36393f;border-radius:4px;align-items:center;transition:background .2s}.table-row:hover{background:#40444b}.user-username{color:#fff;font-weight:600;font-size:.9375rem}.user-display-name{color:#b9bbbe;font-size:.9375rem}.user-role{display:flex;align-items:center}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.owner{background:#5865f2;color:#fff}.role-badge.user{background:#4f545c;color:#fff}.user-actions{display:flex;align-items:center}.password-change-form{display:flex;gap:.5rem;width:100%}.password-input{flex:1;padding:.5rem .75rem;background:#40444b;border:1px solid #202225;border-radius:4px;color:#fff;font-size:.875rem;min-width:0}.password-input:focus{outline:none;border-color:#5865f2}.password-input::placeholder{color:#72767d}.change-password-button{padding:.5rem 1rem;background:#5865f2;color:#fff;border:none;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.change-password-button:hover:not(:disabled){background:#4752c4}.change-password-button:disabled{background:#4f545c;cursor:not-allowed;opacity:.6}@media (max-width: 768px){.admin-panel{width:95%;max-height:95vh}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header>div{display:none}.table-row>div:before{content:attr(data-label);font-weight:600;color:#b9bbbe;margin-right:.5rem;text-transform:uppercase;font-size:.75rem}.password-change-form{flex-direction:column}}.sidebar{width:250px;background:#2a2a2a;display:flex;flex-direction:column;border-right:1px solid #3a3a3a}.sidebar-header{padding:1rem;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{font-size:1.2rem;color:#fff}.icon-button{width:32px;height:32px;border-radius:4px;background:#3a3a3a;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.icon-button:hover{background:#4a4a4a}.sidebar-rooms{flex:1;overflow-y:auto;padding:.5rem 0}.room-item{padding:.75rem 1rem;cursor:pointer;transition:background .2s;border-left:3px solid transparent}.room-item:hover{background:#3a3a3a}.room-item.active{background:#3a3a3a;border-left-color:#4a9eff}.room-name{font-weight:500;color:#fff;margin-bottom:.25rem}.room-meta{font-size:.85rem;color:#999}.sidebar-footer{padding:1rem;border-top:1px solid #3a3a3a}.user-info{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:#4a9eff;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.user-details{flex:1}.user-name{font-weight:500;color:#fff}.user-role{font-size:.85rem;color:#999;text-transform:capitalize}.invite-button,.admin-button{width:100%;padding:.5rem;background:#4a9eff;color:#fff;border:none;border-radius:4px;font-size:.9rem;margin-bottom:.5rem;cursor:pointer;transition:background .2s}.invite-button:hover,.admin-button:hover{background:#3a8eef}.admin-button{background:#5865f2}.admin-button:hover{background:#4752c4}.logout-button{width:100%;padding:.5rem;background:#f44;color:#fff;border-radius:4px;font-size:.9rem;transition:background .2s}.logout-button:hover{background:#e33}.message-list{display:flex;flex-direction:column;padding:.5rem 1rem;gap:.25rem}.message{display:flex;gap:.5rem;padding:.25rem 0;position:relative;align-items:flex-end}.message-own{flex-direction:row-reverse}.message-other{flex-direction:row}.message-avatar{width:32px;height:32px;border-radius:50%;background:#4a9eff;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.85rem;flex-shrink:0;margin-bottom:.25rem}.message-avatar-own{background:#5865f2}.message-avatar-spacer{width:32px;flex-shrink:0}.message-content{display:flex;flex-direction:column;max-width:65%;min-width:0}.message-own .message-content{align-items:flex-end}.message-other .message-content{align-items:flex-start}.message-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem;line-height:1.2;padding:0 .5rem}.message-header-own{justify-content:flex-end}.message-author{font-weight:600;color:#fff;font-size:.8125rem;cursor:pointer}.message-author:hover{text-decoration:underline}.message-time{font-size:.6875rem;color:#717274;font-weight:400;cursor:default}.message-bubble{background:#2f3136;border-radius:.5rem;padding:.5rem .75rem;max-width:100%;word-wrap:break-word}.message-own .message-bubble{background:#5865f2;border-bottom-right-radius:.25rem}.message-other .message-bubble{background:#2f3136;border-bottom-left-radius:.25rem}.message-text{color:#d1d2d3;line-height:1.375;font-size:.9375rem;word-wrap:break-word;white-space:pre-wrap;margin:0}.message-own .message-text{color:#fff}.message-text a{color:#1264a3;text-decoration:none}.message-own .message-text a{color:#fff;text-decoration:underline}.message-text a:hover{text-decoration:underline}.message-input-container{padding:.75rem 1rem;border-top:1px solid #3a3a3a;background:#2a2a2a;flex-shrink:0}.message-input-form{display:flex;gap:.5rem;align-items:center}.attach-button,.send-button{width:40px;height:40px;border-radius:4px;background:#3a3a3a;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:background .2s;flex-shrink:0}.attach-button:hover:not(:disabled),.send-button:hover:not(:disabled){background:#4a4a4a}.attach-button:disabled,.send-button:disabled{opacity:.5;cursor:not-allowed}.message-input{flex:1;padding:.75rem;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;color:#fff;font-size:1rem}.message-input:focus{border-color:#4a9eff;outline:none}.message-input:disabled{opacity:.6}.video-call-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#1e1f22;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-call-container.active{background:#000}.video-call-grid{flex:1;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;position:relative;padding:1rem;gap:1rem}.video-wrapper{position:relative;background:#2f3136;border-radius:.5rem;overflow:hidden;width:100%;height:100%}.video-wrapper.remote-video{grid-column:1;grid-row:1}.video-wrapper.local-video{position:absolute;bottom:1rem;right:1rem;width:300px;height:225px;z-index:10;border:2px solid #5865f2;box-shadow:0 4px 12px #00000080}.video-wrapper video{width:100%;height:100%;object-fit:cover;background:#000}.video-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#2f3136;color:#717274}.placeholder-content{text-align:center}.placeholder-icon{font-size:4rem;display:block;margin-bottom:1rem}.call-controls{display:flex;gap:1rem;padding:1.5rem;background:#000c;border-radius:1rem;margin-bottom:2rem}.control-button{width:56px;height:56px;border-radius:50%;border:none;background:#2f3136;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.control-button:hover{background:#40444b;transform:scale(1.05)}.control-button.muted{background:#f04747}.control-button.muted:hover{background:#d84040}.control-button.video-off{background:#f04747}.control-button.video-off:hover{background:#d84040}.control-button.end-call-button{background:#f04747;width:64px;height:64px}.control-button.end-call-button:hover{background:#d84040;transform:scale(1.1)}.answer-button{background:#23a559;width:64px;height:64px}.answer-button:hover{background:#1f8f4d}.call-button{padding:1rem 2rem;border:none;border-radius:.5rem;background:#5865f2;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.call-button:hover{background:#4752c4;transform:translateY(-2px)}.call-button.start-call{background:#23a559}.call-button.start-call:hover{background:#1f8f4d}.call-status{position:absolute;top:2rem;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500}@media (max-width: 768px){.video-wrapper.local-video{width:150px;height:112px;bottom:.5rem;right:.5rem}.call-controls{padding:1rem;gap:.5rem}.control-button{width:48px;height:48px;font-size:1.25rem}.control-button.end-call-button,.answer-button{width:56px;height:56px}}.chat-area{flex:1;display:flex;flex-direction:column;background:#1a1a1a}.chat-area.empty{justify-content:center;align-items:center}.empty-state{text-align:center;color:#999}.empty-state h2{color:#fff;margin-bottom:.5rem}.chat-header{padding:0 1rem;height:60px;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;align-items:center;background:#2a2a2a;flex-shrink:0}.chat-header-actions{display:flex;gap:.5rem;align-items:center}.icon-button{background:transparent;border:none;color:#b9bbbe;font-size:1.25rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background .2s;display:flex;align-items:center;justify-content:center}.icon-button:hover{background:#ffffff1a;color:#fff}.chat-title h2{font-size:1.125rem;color:#fff;font-weight:900;margin:0;line-height:1.33334}.chat-meta{font-size:.8125rem;color:#717274;margin-top:.125rem}.messages-container{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column;background:#1a1a1a}.loading{text-align:center;color:#999;padding:2rem}.user-list-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:flex-end;z-index:1000}.user-list-panel{width:300px;background:#2a2a2a;display:flex;flex-direction:column;height:100%}.user-list-header{padding:1rem;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;align-items:center}.user-list-header h2{color:#fff;font-size:1.2rem}.close-button{width:32px;height:32px;border-radius:4px;background:#3a3a3a;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:#4a4a4a}.user-list-content{flex:1;overflow-y:auto;padding:.5rem 0}.user-list-item{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s}.user-list-item:hover{background:#3a3a3a}.user-avatar{width:40px;height:40px;border-radius:50%;background:#4a9eff;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0}.user-info{flex:1}.user-name{font-weight:500;color:#fff;margin-bottom:.25rem}.user-username{font-size:.85rem;color:#999}.chat-container{display:flex;height:100vh;background:#1a1a1a;color:#d1d1d1}*{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-color:#1a1a1a;color:#d1d1d1;height:100vh;overflow:hidden}#root{height:100vh;display:flex;flex-direction:column}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}input,textarea{font:inherit;color:inherit;background:inherit;border:none;outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#2a2a2a}::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#5a5a5a}
