@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--primary: #0066cc;--primary-hover: #0052a3;--secondary: #10B981;--danger: #EF4444;--bg-color: #f3f4f6;--card-bg: rgba(255, 255, 255, .95);--text-main: #1f2937;--text-muted: #6b7280;--border: #e5e7eb;--pattern: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0l10 10-10 10L10 10z' fill='%230066cc' fill-opacity='0.03'/%3E%3Cpath d='M40 20l-10 10-10-10 10-10zM0 20l10-10 10 10-10 10z' fill='%2310B981' fill-opacity='0.03'/%3E%3Cpath d='M20 40l10-10-10-10-10 10z' fill='%230066cc' fill-opacity='0.03'/%3E%3C/svg%3E")}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-color);background-image:var(--pattern);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.hidden{display:none!important}.top-nav{background-color:#fff;box-shadow:0 2px 10px #0000000d;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:100;border-bottom:3px solid var(--primary)}.nav-brand{font-size:1.5rem;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:10px}.nav-brand i{color:var(--secondary)}.nav-links a{margin-left:20px;text-decoration:none;color:var(--text-main);font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--primary)}#landing{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:16px;padding:40px;width:100%;max-width:450px;text-align:center;box-shadow:0 20px 40px #00000014;transition:transform .3s ease}.glass-card:hover{transform:translateY(-5px)}.glass-card h1{font-size:2.2rem;font-weight:700;color:var(--primary);margin-bottom:8px}.glass-card p{color:var(--text-muted);margin-bottom:30px;font-size:1.05rem}#join-form,#auth-form,#add-contact-form{display:flex;flex-direction:column;gap:16px}input{background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:14px 16px;color:var(--text-main);font-size:1rem;font-family:inherit;transition:all .2s ease;outline:none}input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0066cc1a}button{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:14px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;display:flex;justify-content:center;align-items:center;gap:8px}button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #06c3}button:active{transform:translateY(1px)}.toggle-link{color:var(--primary);cursor:pointer;text-decoration:none;margin-top:20px;display:inline-block;font-size:.95rem;font-weight:500;transition:color .2s ease}.toggle-link:hover{color:var(--primary-hover);text-decoration:underline}.dashboard-card{max-width:800px;text-align:left;padding:30px 40px}.dashboard-sections{display:grid;grid-template-columns:1fr;gap:30px}@media (min-width: 768px){.dashboard-sections{grid-template-columns:1fr 1px 1fr;gap:20px}}.section{display:flex;flex-direction:column}.section h2{font-size:1.25rem;margin-bottom:20px;color:var(--text-main);display:flex;align-items:center;gap:10px;font-weight:600}.section h2 i{color:var(--primary)}.horizontal-form{display:flex;flex-direction:row!important;gap:10px;margin-bottom:20px}.horizontal-form input{flex:1}.contacts-list{list-style:none;max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:#fafafa}.contacts-list li{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .2s}.contacts-list li:hover{background:#f1f5f9}.contacts-list li:last-child{border-bottom:none}.contact-info{display:flex;flex-direction:column}.contact-name{font-weight:600;color:var(--text-main)}.contact-phone{font-size:.85rem;color:var(--text-muted);margin-top:4px}.call-btn{background:var(--secondary);padding:8px 16px;font-size:.9rem;border-radius:6px}.call-btn:hover{background:#059669}.divider{background-color:var(--border);width:1px;border:none}@media (max-width: 767px){.divider{width:100%;height:1px;margin:10px 0}}.danger-btn{background:var(--danger);margin-top:30px;width:auto;align-self:center}.danger-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef444433}.room-page{background:#0f172a;background-image:none}#room-container{display:flex;width:100vw;height:100vh;position:relative}#video-grid{flex:1;display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;padding:20px 20px 100px;overflow-y:auto}#video-grid.group{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}#video-grid.one-to-one{grid-template-columns:1fr 1fr;grid-auto-rows:70vh}.remote-video-container{position:relative;background:#1e293b;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0003}video{width:100%;height:100%;object-fit:cover;background:#000}.user-label{position:absolute;bottom:12px;left:12px;background:#0f172abf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:4px 12px;border-radius:20px;font-size:.9rem;color:#fff;font-weight:500}.glass-panel{background:#1e293bd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1)}#controls-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:16px;padding:12px 24px;border-radius:50px;z-index:20;box-shadow:0 10px 30px #0006}.control-btn{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff1a;color:#fff;border:none;cursor:pointer;transition:all .2s ease}.control-btn i{font-size:1.2rem}.control-btn:hover{background:#fff3;transform:scale(1.05)}.control-btn.active{background:var(--primary);color:#fff}.control-btn.active:hover{background:var(--primary-hover)}.control-btn.danger{background:var(--danger);color:#fff}.control-btn.danger:hover{background:#dc2626}.control-btn.muted{background:#ef444433;color:var(--danger)}.control-btn.muted:hover{background:#ef444466}#sidebar{width:300px;border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;color:#fff}.sidebar-header{padding:15px 20px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.sidebar-tabs{display:flex;gap:15px}.tab-btn{background:none;border:none;color:var(--text-muted);font-size:1.05rem;font-weight:600;cursor:pointer;padding-bottom:5px;border-bottom:2px solid transparent;transition:all .2s}.tab-btn:hover{color:#fff}.tab-btn.active{color:#fff;border-bottom:2px solid var(--primary)}.status-indicator{width:12px;height:12px;border-radius:50%;background:#f59e0b}.status-indicator.connected{background:var(--secondary)}.status-indicator.disconnected{background:var(--danger)}.sidebar-panel{display:flex;flex-direction:column;flex:1;overflow:hidden}#participants-list{list-style:none;padding:16px;overflow-y:auto;flex:1}#participants-list li{padding:12px;margin-bottom:8px;background:#ffffff0d;border-radius:8px;display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.95rem}#chat-messages{list-style:none;padding:16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.chat-msg{background:#ffffff1a;padding:10px 14px;border-radius:2px 12px 12px;font-size:.9rem;word-break:break-word}.chat-msg.self{background:var(--primary);align-self:flex-end;border-radius:12px 2px 12px 12px}.msg-author{font-weight:600;font-size:.8rem;margin-bottom:4px;color:#ffffffb3}.chat-msg.self .msg-author{display:none}#chat-form{padding:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:8px;background:#0f172a66}#chat-input{flex:1;background:#0003;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 14px;border-radius:20px;outline:none}#chat-input:focus{border-color:var(--primary)}#chat-submit{background:var(--primary);width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;padding:0;border:none}#chat-submit:hover{background:var(--primary-hover)}.remote-video-container.pinned{position:absolute;top:20px;left:20px;right:20px;bottom:120px;z-index:5}#video-grid.has-pinned .remote-video-container:not(.pinned){width:200px;height:120px;position:relative;z-index:6;margin-right:-10px}#video-grid.has-pinned{display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;align-items:flex-end;padding-bottom:20px}@media (max-width: 768px){#room-container{flex-direction:column}#sidebar{width:100%;height:35%;border-left:none;border-top:1px solid rgba(255,255,255,.1)}#video-grid{height:65%}#controls-bar{padding:8px 16px;gap:10px}.control-btn{width:44px;height:44px}}.brutal-card{--input-focus: var(--primary);--font-color: var(--text-main);--font-color-sub: var(--text-muted);--bg-color: #fff;--main-color: #1f2937;padding:40px;background:var(--bg-color);display:flex;flex-direction:column;align-items:center;gap:20px;border-radius:8px;border:3px solid var(--main-color);box-shadow:8px 8px var(--main-color);width:100%;max-width:400px;text-align:center;margin:0 auto}.brutal-card h1{font-size:2.2rem;font-weight:900;color:var(--primary);margin-bottom:-5px}.brutal-card p{color:var(--font-color-sub);font-weight:600;font-size:17px;margin-bottom:5px}.brutal-card form{display:flex;flex-direction:column;gap:16px;width:100%}.brutal-card input{width:100%;height:48px;border-radius:5px;border:2px solid var(--main-color);background-color:var(--bg-color);box-shadow:4px 4px var(--main-color);font-size:15px;font-weight:600;color:var(--font-color);padding:5px 15px;outline:none;transition:all .2s ease}.brutal-card input::placeholder{color:var(--font-color-sub);opacity:.8}.brutal-card input:focus{border:2px solid var(--input-focus);box-shadow:4px 4px var(--input-focus)}.brutal-card button[type=submit]{margin-top:10px;width:100%;height:50px;border-radius:5px;border:2px solid var(--main-color);background-color:var(--primary);box-shadow:4px 4px var(--main-color);font-size:1.1rem;font-weight:700;color:#fff;cursor:pointer;transition:all .1s ease;display:flex;justify-content:center;align-items:center;gap:8px}.brutal-card button[type=submit]:hover{background-color:var(--primary-hover);transform:none}.brutal-card button[type=submit]:active{box-shadow:0 0 var(--main-color);transform:translate(4px,4px)}.brutal-card .toggle-link{color:var(--primary);cursor:pointer;text-decoration:underline;font-size:1rem;font-weight:700;transition:color .2s ease;margin-top:5px}.phone-input-group{display:flex;flex-direction:column;align-items:flex-start;width:100%}.phone-label{color:var(--font-color-sub);font-size:.85rem;margin-bottom:5px;font-weight:600}.phone-input-wrapper{width:100%;display:flex;gap:10px}.country-code-select{width:120px;height:48px;border-radius:5px;border:2px solid var(--main-color);background-color:var(--bg-color);box-shadow:4px 4px var(--main-color);font-size:14px;font-weight:600;color:var(--font-color);padding:5px 10px;outline:none;cursor:pointer;transition:all .2s ease}.country-code-select:focus{border:2px solid var(--input-focus);box-shadow:4px 4px var(--input-focus)}.phone-input-wrapper input{flex:1}.loader{--color-one: var(--primary);--color-two: var(--secondary);--color-three: rgba(0, 102, 204, .5);--color-four: rgba(16, 185, 129, .5);--color-five: rgba(0, 102, 204, .25);--time-animation: 2s;--size: .6;position:relative;border-radius:50%;transform:scale(var(--size));box-shadow:0 0 25px 0 var(--color-three),0 20px 50px 0 var(--color-four);animation:colorize calc(var(--time-animation) * 3) ease-in-out infinite}.loader:before{content:"";position:absolute;top:0;left:0;width:100px;height:100px;border-radius:50%;border-top:solid 1px var(--color-one);border-bottom:solid 1px var(--color-two);background:linear-gradient(180deg,var(--color-five),var(--color-four));box-shadow:inset 0 10px 10px 0 var(--color-three),inset 0 -10px 10px 0 var(--color-four)}.loader .box{width:100px;height:100px;background:linear-gradient(180deg,var(--color-one) 30%,var(--color-two) 70%);mask:url(#clipping);-webkit-mask:url(#clipping)}.loader svg{position:absolute;width:100px;height:100px}.loader svg #clipping{filter:contrast(15);animation:roundness calc(var(--time-animation) / 2) linear infinite}.loader svg #clipping polygon{filter:blur(7px)}.loader svg #clipping polygon:nth-child(1){transform-origin:75% 25%;transform:rotate(90deg)}.loader svg #clipping polygon:nth-child(2){transform-origin:50% 50%;animation:rotation var(--time-animation) linear infinite reverse}.loader svg #clipping polygon:nth-child(3){transform-origin:50% 60%;animation:rotation var(--time-animation) linear infinite;animation-delay:calc(var(--time-animation) / -3)}.loader svg #clipping polygon:nth-child(4){transform-origin:40% 40%;animation:rotation var(--time-animation) linear infinite reverse}.loader svg #clipping polygon:nth-child(5){transform-origin:40% 40%;animation:rotation var(--time-animation) linear infinite reverse;animation-delay:calc(var(--time-animation) / -2)}.loader svg #clipping polygon:nth-child(6){transform-origin:60% 40%;animation:rotation var(--time-animation) linear infinite}.loader svg #clipping polygon:nth-child(7){transform-origin:60% 40%;animation:rotation var(--time-animation) linear infinite;animation-delay:calc(var(--time-animation) / -1.5)}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes roundness{0%{filter:contrast(15)}20%{filter:contrast(3)}40%{filter:contrast(3)}60%{filter:contrast(15)}to{filter:contrast(15)}}@keyframes colorize{0%{filter:hue-rotate(0deg)}20%{filter:hue-rotate(-30deg)}40%{filter:hue-rotate(-60deg)}60%{filter:hue-rotate(-90deg)}80%{filter:hue-rotate(-45deg)}to{filter:hue-rotate(0deg)}}.call-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:75px;height:100px;z-index:100}.loader__bar{position:absolute;bottom:0;width:10px;height:50%;background:#fff;transform-origin:center bottom;box-shadow:1px 1px #0003}.loader__bar:nth-child(1){left:0;transform:scaleY(.2);animation:barUp1 4s infinite}.loader__bar:nth-child(2){left:15px;transform:scaleY(.4);animation:barUp2 4s infinite}.loader__bar:nth-child(3){left:30px;transform:scaleY(.6);animation:barUp3 4s infinite}.loader__bar:nth-child(4){left:45px;transform:scaleY(.8);animation:barUp4 4s infinite}.loader__bar:nth-child(5){left:60px;transform:scale(1);animation:barUp5 4s infinite}.loader__ball{position:absolute;bottom:10px;left:0;width:10px;height:10px;background:var(--secondary);border-radius:50%;animation:ball624 4s infinite}@keyframes ball624{0%{transform:translate(0)}5%{transform:translate(8px,-14px)}10%{transform:translate(15px,-10px)}17%{transform:translate(23px,-24px)}20%{transform:translate(30px,-20px)}27%{transform:translate(38px,-34px)}30%{transform:translate(45px,-30px)}37%{transform:translate(53px,-44px)}40%{transform:translate(60px,-40px)}50%{transform:translate(60px)}57%{transform:translate(53px,-14px)}60%{transform:translate(45px,-10px)}67%{transform:translate(37px,-24px)}70%{transform:translate(30px,-20px)}77%{transform:translate(22px,-34px)}80%{transform:translate(15px,-30px)}87%{transform:translate(7px,-44px)}90%{transform:translateY(-40px)}to{transform:translate(0)}}@keyframes barUp1{0%{transform:scaleY(.2)}40%{transform:scaleY(.2)}50%{transform:scale(1)}90%{transform:scale(1)}to{transform:scaleY(.2)}}@keyframes barUp2{0%{transform:scaleY(.4)}40%{transform:scaleY(.4)}50%{transform:scaleY(.8)}90%{transform:scaleY(.8)}to{transform:scaleY(.4)}}@keyframes barUp3{0%{transform:scaleY(.6)}to{transform:scaleY(.6)}}@keyframes barUp4{0%{transform:scaleY(.8)}40%{transform:scaleY(.8)}50%{transform:scaleY(.4)}90%{transform:scaleY(.4)}to{transform:scaleY(.8)}}@keyframes barUp5{0%{transform:scale(1)}40%{transform:scale(1)}50%{transform:scaleY(.2)}90%{transform:scaleY(.2)}to{transform:scale(1)}}.volume-slider{--slider-width: 80px;--slider-height: 6px;--slider-bg: rgba(255,255,255,.3);--slider-border-radius: 999px;--level-color: var(--primary);--level-transition-duration: .1s;--icon-margin: 10px;--icon-color: #fff;--icon-size: 20px}.volume-slider{cursor:pointer;display:inline-flex;flex-direction:row-reverse;align-items:center;margin:0 10px}.volume-slider .volume{display:inline-block;vertical-align:top;margin-right:var(--icon-margin);color:var(--icon-color);width:var(--icon-size);height:auto}.volume-slider .level{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--slider-width);height:var(--slider-height);background:var(--slider-bg);overflow:hidden;border-radius:var(--slider-border-radius);transition:height var(--level-transition-duration);cursor:inherit}.volume-slider .level::-webkit-slider-thumb{-webkit-appearance:none;width:0;height:0;box-shadow:-200px 0 0 200px var(--level-color)}.volume-slider:hover .level{height:calc(var(--slider-height) * 1.5)}@media (max-width: 600px){.top-nav{padding:1rem;flex-direction:column;gap:10px}.brutal-card,.dashboard-card{padding:20px;border-width:2px}.brutal-card h1{font-size:1.8rem}.phone-input-wrapper{flex-direction:column}.country-code-select{width:100%}.glass-card{padding:20px}.glass-card h1{font-size:1.8rem}}#toast-container{position:fixed;bottom:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}.error-alert{display:flex;align-items:center;justify-content:space-between;width:280px;height:60px;border-radius:8px;background-color:#232531;padding:0 10px;box-shadow:0 10px 25px #0003;animation:slideIn .3s ease-out forwards}.error-alert.fade-out{animation:slideOut .3s ease-in forwards}.error-alert-content{display:flex;gap:10px;align-items:center}.error-icon-box{color:#d65563;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px;border-radius:8px;display:flex}.error-texts p:first-child{color:#fff;font-size:.85rem;font-weight:600;margin-bottom:2px;margin-top:0}.error-texts p:last-child{color:#9ca3af;font-size:.75rem;margin:0}.error-close{color:#4b5563;background:none;border:none;padding:4px;border-radius:6px;cursor:pointer;transition:background .2s;display:flex}.error-close:hover{background:#ffffff1a}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}
