.safe-top{padding-top:env(safe-area-inset-top,20px)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-left{padding-left:env(safe-area-inset-left,0)}.safe-right{padding-right:env(safe-area-inset-right,0)}@media (max-width:768px){input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}@media (hover:none) and (pointer:coarse){[role=button],[role=link],a,button{min-height:44px;min-width:44px}}@media (max-width:480px) and (orientation:portrait){.video-grid{display:grid!important;gap:2px!important;padding:2px!important}.video-grid.participants-1{grid-template-columns:1fr!important}.video-grid.participants-2{grid-template-rows:1fr 1fr!important}.video-grid.participants-3,.video-grid.participants-4{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(2,1fr)!important}.video-grid.participants-5,.video-grid.participants-6{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(3,1fr)!important}.video-grid.participants-7,.video-grid.participants-8,.video-grid.participants-9{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important}}@media (max-width:896px) and (orientation:landscape){.video-grid{display:grid!important;gap:2px!important;padding:2px!important}.video-grid.participants-1{grid-template-columns:1fr!important}.video-grid.participants-2{grid-template-columns:repeat(2,1fr)!important}.video-grid.participants-3,.video-grid.participants-4{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(2,1fr)!important}.video-grid.participants-5,.video-grid.participants-6{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(2,1fr)!important}}@media (min-width:768px) and (max-width:1024px){.video-grid{gap:4px!important;padding:4px!important}.video-grid.participants-1{grid-template-columns:1fr!important}.video-grid.participants-2{grid-template-columns:repeat(2,1fr)!important}.video-grid.participants-3,.video-grid.participants-4{grid-template-columns:repeat(2,1fr)!important;grid-template-rows:repeat(2,1fr)!important}.video-grid.participants-5,.video-grid.participants-6{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(2,1fr)!important}.video-grid.participants-7,.video-grid.participants-8,.video-grid.participants-9{grid-template-columns:repeat(3,1fr)!important;grid-template-rows:repeat(3,1fr)!important}}@media (max-width:768px){.control-bar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;background:rgba(17,24,39,.95)!important;backdrop-filter:blur(20px)!important;border-radius:24px 24px 0 0!important;padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important;z-index:50!important}.control-bar-primary{display:flex!important;justify-content:space-around!important;align-items:center!important;width:100%!important;max-width:400px!important;margin:0 auto!important}.control-button{width:56px!important;height:56px!important;border-radius:16px!important;font-size:24px!important}.control-button.end-call{background:#ef4444!important;color:white!important}}@media (min-width:768px) and (max-width:1024px){.control-bar{padding:12px 20px!important}.control-button{width:48px!important;height:48px!important}}@media (max-width:768px){.meeting-header{position:fixed!important;top:0!important;left:0!important;right:0!important;height:56px!important;background:rgba(17,24,39,.95)!important;backdrop-filter:blur(20px)!important;z-index:40!important;padding:0 16px!important}.meeting-title{font-size:16px!important;font-weight:600!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:60%!important}.meeting-info{display:flex!important;flex-direction:column!important;gap:2px!important}.meeting-code{font-size:12px!important;font-family:monospace!important}.meeting-code,.participants-count{color:rgba(156,163,175,1)!important}.participants-count{font-size:11px!important}.chat-panel{position:fixed!important;top:56px!important;left:0!important;right:0!important;bottom:80px!important;background:rgba(17,24,39,1)!important;z-index:35!important;display:flex!important;flex-direction:column!important}.chat-messages{flex:1!important;overflow-y:auto!important;padding:12px!important}.chat-input-container{position:sticky!important;bottom:0!important;background:rgba(31,41,55,1)!important;padding:12px!important;border-top:1px solid rgba(75,85,99,.2)!important}.chat-input{width:100%!important;min-height:44px!important;padding:10px 12px!important;font-size:16px!important;border-radius:12px!important;background:rgba(17,24,39,1)!important;border:1px solid rgba(75,85,99,.3)!important}.chat-overlay{position:fixed!important;bottom:100px!important;left:8px!important;right:8px!important;max-height:40vh!important;background:transparent!important;pointer-events:none!important}.chat-message-floating{background:rgba(0,0,0,.7)!important;backdrop-filter:blur(10px)!important;border-radius:12px!important;padding:8px 12px!important;margin-bottom:4px!important;max-width:80%!important;pointer-events:auto!important;animation:slideInLeft .3s ease!important}}@media (max-width:768px){@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}}@media (max-width:768px){.participants-sidebar{position:fixed!important;top:56px!important;left:0!important;right:0!important;bottom:0!important;background:rgba(17,24,39,1)!important;z-index:35!important;overflow-y:auto!important}.participant-item{padding:12px 16px!important;border-bottom:1px solid rgba(75,85,99,.2)!important;display:flex!important;align-items:center!important;gap:12px!important}.participant-avatar{width:40px!important;height:40px!important;border-radius:50%!important;flex-shrink:0!important}.participant-info{flex:1!important;min-width:0!important}.participant-name{font-size:14px!important;font-weight:500!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.modal-overlay{padding:0!important}.modal-content{position:fixed!important;bottom:0!important;left:0!important;right:0!important;max-height:90vh!important;border-radius:24px 24px 0 0!important;margin:0!important;width:100%!important;max-width:100%!important;animation:slideUp .3s ease!important}.modal-header{padding:16px!important;position:sticky!important;top:0!important;background:inherit!important;z-index:10!important;border-bottom:1px solid rgba(75,85,99,.2)!important}.modal-body{padding:16px!important;overflow-y:auto!important;max-height:calc(90vh - 120px)!important}.modal-footer{position:sticky!important;bottom:0!important;background:inherit!important;border-top:1px solid rgba(75,85,99,.2)!important;padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important}.welcome-container{padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))!important}.welcome-card{width:100%!important;max-width:100%!important;border-radius:20px!important;padding:24px!important}.welcome-title{font-size:24px!important;margin-bottom:8px!important}.welcome-subtitle{font-size:14px!important;margin-bottom:20px!important}.video-preview{width:100%!important;height:200px!important;border-radius:12px!important;margin-bottom:16px!important}.device-selector{min-height:44px!important;padding:10px 12px!important;margin-bottom:12px!important}.continue-button,.device-selector{width:100%!important;font-size:16px!important}.continue-button{min-height:48px!important;font-weight:600!important;border-radius:12px!important}.hide-mobile{display:none!important}}@media (min-width:769px){.show-mobile{display:none!important}}@media (min-width:768px) and (max-width:1024px){.hide-tablet{display:none!important}}@media (max-width:767px),(min-width:1025px){.show-tablet{display:none!important}}@media (hover:none) and (pointer:coarse){.hover-effect:hover{opacity:1!important}.touch-target{padding:12px!important;margin:-12px!important}}@media (max-width:768px){@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.slide-up{animation:slideUp .2s ease-out}.slide-down{animation:slideDown .2s ease-out}}@supports (padding:env(safe-area-inset-top)){:root{--safe-area-top:env(safe-area-inset-top,20px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px)}}@media (max-width:768px){:root{--vh:1vh}.h-\[100dvh\]{height:100vh;height:100dvh}input,select,textarea{font-size:16px!important;-webkit-text-size-adjust:100%}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}.meeting-header-mobile{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:var(--safe-area-top)}.mobile-control-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;padding-bottom:var(--safe-area-bottom)}[role=button],a,button{min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent}.participant-tile{min-height:100px}}@media (max-width:768px){::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}}@media (max-width:896px) and (orientation:landscape){.meeting-header-mobile{padding-top:0}.meeting-header-mobile .h-14{height:48px}.video-grid-landscape{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px}}@media (max-width:768px){@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.slide-up{animation:slideUp .2s ease-out}.slide-down{animation:slideDown .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}}@media (max-width:768px){.chat-mobile-fullscreen{position:fixed;top:calc(56px + var(--safe-area-top));left:0;right:0;bottom:calc(80px + var(--safe-area-bottom));background:rgb(17,24,39);z-index:35}.chat-input-mobile{position:sticky;bottom:0;background:rgb(31,41,55);padding:12px;border-top:1px solid rgba(75,85,99,.2)}}@media (max-width:767px){.desktop-only{display:none!important}}@media (min-width:768px){.mobile-only{display:none!important}}@media (hover:none) and (pointer:coarse){.hover\:bg-gray-800:hover{background-color:transparent}a:active,button:active{opacity:.8;transform:scale(.98)}}@media (max-width:768px){.gpu-accelerated{transform:translateZ(0);will-change:transform}.shadow-2xl,.shadow-lg,.shadow-xl{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}}.touch-target{min-width:44px;min-height:44px;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;transition:all .2s ease-out}.touch-target-android{min-width:48px;min-height:48px}.touch-target-lg{min-width:56px;min-height:56px}.touch-target-xl{min-width:64px;min-height:64px}.touch-target-extended:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100%,44px);height:max(100%,44px)}.touch-target-padded{padding:max(8px,calc((44px - 1em) / 2))}.touch-group{display:flex;gap:8px}.touch-group-vertical{display:flex;flex-direction:column;gap:8px}.touch-group-grid{display:grid;gap:8px}.touch-control-button{min-width:44px;min-height:44px;padding:10px;display:flex;align-items:center;justify-content:center}.touch-action-button,.touch-control-button{border-radius:12px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.touch-action-button{min-width:48px;min-height:48px;padding:12px 24px;font-weight:600}.touch-icon-button{min-width:44px;min-height:44px;padding:10px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover:hover) and (pointer:fine){.touch-target:hover{transform:scale(1.05)}.touch-target-no-scale:hover{transform:none;opacity:.8}}.touch-target:active{transform:scale(.95);opacity:.9}.touch-target:disabled{opacity:.5;cursor:not-allowed;touch-action:none}input.touch-input,select.touch-input,textarea.touch-input{min-height:44px;padding:10px 12px;font-size:16px;border-radius:8px;touch-action:manipulation}.touch-checkbox,.touch-radio{min-width:24px;min-height:24px;padding:10px;margin:-10px}.touch-switch{min-width:51px;min-height:31px;padding:6px;margin:-6px;position:relative}.touch-list-item{min-height:44px;display:flex;align-items:center}.touch-list-item,.touch-menu-item{padding:12px 16px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.touch-menu-item{min-height:48px;width:100%;text-align:left}.touch-tab{min-height:44px;padding:10px 16px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.touch-slider{min-height:44px;padding:10px 0}.touch-slider-thumb{min-width:28px;min-height:28px;box-shadow:0 0 0 10px transparent}.touch-stepper-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.touch-modal-close{min-width:44px;min-height:44px;padding:10px;position:absolute;top:16px;right:16px;z-index:10}.touch-backdrop{position:fixed;inset:0;touch-action:none}.touch-drag-handle{width:100%;min-height:44px;padding:16px;cursor:grab;touch-action:pan-y}.touch-drag-handle:active{cursor:grabbing}.touch-swipeable{touch-action:pan-y;-webkit-user-drag:none}.touch-zoomable{touch-action:pinch-zoom}.touch-scrollable{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media (max-width:767px){.touch-mobile-only{min-width:44px;min-height:44px}.touch-group-mobile{gap:12px}}@media (min-width:768px) and (max-width:1023px){.touch-tablet{min-width:48px;min-height:48px}}@media (min-width:1024px){.touch-desktop-compact{min-width:32px;min-height:32px}}.touch-target:focus-visible{outline:2px solid #1AB39B;outline-offset:2px}@media (prefers-contrast:high){.touch-target{border:1px solid}}@media (prefers-reduced-motion:reduce){.touch-target{transition:none}.touch-target:active,.touch-target:hover{transform:none}}.debug-touch-targets .touch-target{position:relative}.debug-touch-targets .touch-target:after{content:"";position:absolute;inset:0;min-width:44px;min-height:44px;border:2px dashed rgba(255,0,0,.5);background:rgba(255,0,0,.1);pointer-events:none;z-index:9999}.debug-touch-targets .touch-target-android:after{min-width:48px;min-height:48px;border-color:rgba(0,255,0,.5);background:rgba(0,255,0,.1)}.debug-touch-targets .touch-target:before{content:attr(data-touch-size);position:absolute;top:0;left:0;font-size:10px;background:red;color:white;padding:2px 4px;z-index:10000;pointer-events:none}