:root{--primary-color: #007AFF;--secondary-color: #5856D6;--ios-bg-primary: #F2F2F7;--ios-bg-secondary: #FFFFFF;--ios-bg-tertiary: #E5E5EA;--ios-hover: rgba(0, 0, 0, .05);--ios-active: rgba(0, 0, 0, .1);--ios-separator: rgba(60, 60, 67, .12);--text-primary: #000000;--text-secondary: #8E8E93;--text-tertiary: #AEAEB2;--border-color: rgba(0, 0, 0, .1);--surface-color: #FFFFFF;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;--header-height: 65px;--bottom-nav-height: 72px;--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--success-color: #34C759;--danger-color: #FF3B30;--warning-color: #FF9500;--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--menu-bg: rgba(255, 255, 255, .92);--menu-card-bg: rgba(0, 0, 0, .04);--menu-card-hover: rgba(0, 0, 0, .08);--menu-card-border: rgba(0, 0, 0, .06);--menu-header-bg: rgba(255, 255, 255, .8);--menu-section-title: rgba(0, 0, 0, .5);--app-height: 100vh;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}@supports (height: 100dvh){:root{--app-height: 100dvh}}.dark-theme,[data-theme=dark]{--ios-bg-primary: #000000;--ios-bg-secondary: #1C1C1E;--ios-bg-tertiary: #2C2C2E;--ios-hover: rgba(255, 255, 255, .1);--ios-active: rgba(255, 255, 255, .15);--ios-separator: rgba(84, 84, 88, .65);--text-primary: #FFFFFF;--text-secondary: #8E8E93;--text-tertiary: #6E6E73;--border-color: rgba(255, 255, 255, .1);--surface-color: #1C1C1E;--glass-bg: rgba(28, 28, 30, .7);--glass-border: rgba(255, 255, 255, .1);--menu-bg: rgba(28, 28, 30, .95);--menu-card-bg: rgba(255, 255, 255, .06);--menu-card-hover: rgba(255, 255, 255, .12);--menu-card-border: rgba(255, 255, 255, .08);--menu-header-bg: rgba(28, 28, 30, .9);--menu-section-title: rgba(255, 255, 255, .5)}.control-filters{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:12px 16px!important;margin-bottom:12px;box-shadow:0 2px 12px #00000014;border:1px solid rgba(255,255,255,.5)}.control-filters select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px!important}.control-filters select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff26}.control-filters select:hover{border-color:#0003}.filter-reset-btn:active{transform:scale(.96)}.filter-count{margin-left:auto;white-space:nowrap}@media(max-width:768px){.control-filters{flex-wrap:wrap;gap:8px!important;padding:10px 12px!important}.control-filters select{min-width:100px!important;font-size:.85rem!important;padding:6px 10px!important}.filter-reset-btn{padding:6px 12px!important;font-size:.8rem!important}.filter-count{width:100%;text-align:center;margin-top:4px}}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 8px 32px #0000001a}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.4) 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity .8s}.ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.hover-scale{transition:transform .2s ease,box-shadow .2s ease}.hover-scale:hover{transform:scale(1.02);box-shadow:0 8px 25px #00000026}.hover-scale:active{transform:scale(.98)}@keyframes ledPulse{0%,to{box-shadow:0 0 8px currentColor,0 0 16px currentColor;opacity:1}50%{box-shadow:0 0 16px currentColor,0 0 32px currentColor;opacity:.9}}.led-pulse{animation:ledPulse 2s ease-in-out infinite}.dashboard-stats-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;margin-bottom:8px}.stat-mini-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:14px 12px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.stat-mini-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),#5856D6);opacity:0;transition:opacity .3s ease;pointer-events:none}.stat-mini-card:hover:before{opacity:1}.stat-mini-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.stat-mini-icon{font-size:24px;margin-bottom:6px;display:block}.stat-mini-value{font-size:22px;font-weight:700;color:var(--text-primary);display:block;line-height:1.2}.stat-mini-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;display:block}.stat-mini-value{transition:all .3s ease}.stat-mini-value.counting{transform:scale(1.1);color:var(--primary-color)}.connection-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;background:#34c75926;color:#34c759;border:1px solid rgba(52,199,89,.3);transition:all .3s ease}.connection-badge.disconnected{background:#ff3b3026;color:#ff3b30;border-color:#ff3b304d}.connection-badge.connecting{background:#ff950026;color:#ff9500;border-color:#ff95004d}.connection-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:connectionPulse 2s ease-in-out infinite}.connection-badge.disconnected .connection-dot{animation:none}.connection-badge.connecting .connection-dot{animation:connectionBlink .8s ease-in-out infinite}.connection-status{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;transition:all .3s ease;cursor:pointer}.connection-status.connected{background:#34c75926;color:#34c759}.connection-status.disconnected{background:#ff3b3026;color:#ff3b30}.connection-status.connecting{background:#ff950026;color:#ff9500}.connection-status .status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.connection-status.connected .status-dot{animation:connectionPulse 2s ease-in-out infinite}.connection-status.disconnected .status-dot{animation:none}.connection-status.connecting .status-dot{animation:connectionBlink .5s ease-in-out infinite}@keyframes connectionPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes connectionBlink{0%,to{opacity:1}50%{opacity:.3}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite;border-radius:8px}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{height:80px;border-radius:16px;margin-bottom:12px}.skeleton-btn{height:56px;border-radius:12px}.skeleton-text{height:14px;border-radius:4px;margin-bottom:8px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:60%}.skeleton-text.long{width:80%}.skeleton-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:12px}.skeleton-apt{aspect-ratio:1;border-radius:12px}@media(max-width:768px){.skeleton-grid{grid-template-columns:repeat(4,1fr)}.dashboard-stats-mini{grid-template-columns:repeat(2,1fr)}}.loading-splash{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#e8e8e8,#d3d3d3,silver);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:1;transition:opacity .5s ease-out,visibility .5s ease-out}.loading-splash.hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-splash-content{display:flex;flex-direction:column;align-items:center;gap:20px}.loading-logo{width:200px;height:200px;object-fit:contain;animation:logoPulse 2s ease-in-out infinite}@keyframes logoPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.loading-spinner{width:40px;height:40px;border:3px solid rgba(0,122,255,.2);border-top-color:#007aff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:14px;color:#666;font-weight:500;margin:0}[data-theme=dark] .loading-splash{background:linear-gradient(135deg,#1c1c1e,#2c2c2e,#3a3a3c)}[data-theme=dark] .loading-text{color:#8e8e93}[data-theme=dark] .loading-spinner{border-color:#007aff4d;border-top-color:#007aff}*,:after,:before{box-sizing:border-box}body,html{height:100%;margin:0}body{font-family:var(--font-family);background:var(--ios-bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:pan-y;overscroll-behavior:contain;margin:0;padding:0}.main-app{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:var(--app-height);overflow:hidden;display:flex;flex-direction:column;background:var(--ios-bg-primary)}.mobile-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:100;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--menu-card-border);display:flex;align-items:center;justify-content:space-between;padding:0 18px;transition:all .3s ease}.mobile-menu-btn{width:44px;height:44px;background:var(--menu-card-bg);border:none;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-menu-btn:hover{background:var(--menu-card-hover);transform:scale(1.05)}.mobile-menu-btn:active{transform:scale(.95)}.hamburger-line{width:20px;height:2.5px;background:var(--text-primary);border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.mobile-menu-btn.active .hamburger-line:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.mobile-menu-btn.active .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.mobile-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.mode-content{position:fixed;top:var(--header-height);left:0;right:0;bottom:var(--bottom-nav-height);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:none}.mode-content.active{display:block}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);z-index:100;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--menu-card-border);display:flex;align-items:center;justify-content:space-around;padding:8px 0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.mobile-container{padding:16px 16px 80px}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a0a1a,#1a1a3e,#0d1b2a,#1b2838,#0a0a1a);background-size:400% 400%;animation:loginGradient 12s ease infinite;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;overflow:hidden}@keyframes loginGradient{0%{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}to{background-position:0% 50%}}.login-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;border-radius:50%;opacity:.15;animation:particleFloat linear infinite}.p1{width:6px;height:6px;background:#4fc3f7;top:10%;left:15%;animation-duration:18s;animation-delay:0s}.p2{width:4px;height:4px;background:#ab47bc;top:20%;left:80%;animation-duration:22s;animation-delay:-3s}.p3{width:8px;height:8px;background:#26c6da;top:60%;left:10%;animation-duration:25s;animation-delay:-5s}.p4{width:3px;height:3px;background:#66bb6a;top:80%;left:70%;animation-duration:20s;animation-delay:-8s}.p5{width:5px;height:5px;background:#ffa726;top:40%;left:50%;animation-duration:28s;animation-delay:-2s}.p6{width:7px;height:7px;background:#ef5350;top:70%;left:30%;animation-duration:16s;animation-delay:-6s}.p7{width:4px;height:4px;background:#42a5f5;top:30%;left:60%;animation-duration:24s;animation-delay:-10s}.p8{width:6px;height:6px;background:#7e57c2;top:90%;left:90%;animation-duration:19s;animation-delay:-4s}@keyframes particleFloat{0%{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:.2}50%{transform:translateY(-50vh) translate(30px) scale(1.5);opacity:.15}90%{opacity:.2}to{transform:translateY(-100vh) translate(-20px) scale(1);opacity:0}}.login-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;animation:gridPulse 4s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.3}50%{opacity:.6}}.login-container{background:#0f1428bf;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:24px;box-shadow:0 25px 80px #00000080,0 0 0 1px #ffffff14,0 0 60px #4fc3f714,inset 0 1px #ffffff1a;width:100%;max-width:440px;padding:40px 30px;animation:containerEntry .8s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(79,195,247,.08),transparent,rgba(171,71,188,.08),transparent);animation:borderRotate 8s linear infinite;z-index:-1}@keyframes borderRotate{to{transform:rotate(360deg)}}@keyframes containerEntry{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-icon-ring{width:80px;height:80px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#4fc3f733,#ab47bc33);display:flex;align-items:center;justify-content:center;position:relative;animation:iconPulse 3s ease-in-out infinite}.login-icon-ring:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid transparent;border-top-color:#4fc3f799;border-right-color:#ab47bc66;animation:iconSpin 3s linear infinite}.login-icon-inner{font-size:2.5rem;animation:iconBounce 2s ease-in-out infinite}.modelist-icon{position:relative;width:52px;height:48px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.mi-building{position:relative;width:22px;height:34px;display:flex;flex-direction:column;align-items:center}.mi-building.mi-b2{height:26px}.mi-roof{width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:8px solid rgba(79,195,247,.8);flex-shrink:0}.mi-b2 .mi-roof{border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:7px solid rgba(171,71,188,.8)}.mi-body{width:100%;flex:1;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-top:none;border-radius:0 0 2px 2px;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px 2px;align-content:start}.mi-window{width:7px;height:5px;border-radius:1px;animation:windowGlow 3s ease-in-out infinite}.w1{background:#4fc3f7;animation-delay:0s}.w2{background:#ffa726;animation-delay:.5s}.w3{background:#66bb6a;animation-delay:1s}.w4{background:#4fc3f7;animation-delay:1.5s}.w5{background:#ffa726;animation-delay:.3s}.w6{background:#ef5350;animation-delay:.8s}.w7{background:#ab47bc;animation-delay:.2s}.w8{background:#4fc3f7;animation-delay:.7s}.w9{background:#66bb6a;animation-delay:1.2s}.w10{background:#ffa726;animation-delay:.4s}@keyframes windowGlow{0%,to{opacity:.4;box-shadow:none}50%{opacity:1;box-shadow:0 0 6px currentColor}}.mi-base{position:absolute;bottom:0;left:-4px;right:-4px;height:3px;background:linear-gradient(90deg,#4fc3f766,#ab47bc66);border-radius:2px}.mi-glow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:40px;height:12px;background:radial-gradient(ellipse,rgba(79,195,247,.25) 0%,transparent 70%);animation:baseGlow 2s ease-in-out infinite alternate}@keyframes baseGlow{0%{opacity:.5;width:36px}to{opacity:1;width:48px}}@keyframes iconPulse{0%,to{box-shadow:0 0 20px #4fc3f71a}50%{box-shadow:0 0 40px #4fc3f740}}@keyframes iconSpin{to{transform:rotate(360deg)}}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.login-title-anim{text-align:center;font-size:1.6rem;font-weight:700;color:#fff;margin:0 0 6px;animation:titleFade 1s ease-out .3s both;letter-spacing:.5px}.login-subtitle-anim{text-align:center;font-size:.9rem;color:#ffffff80;margin:0 0 24px;animation:titleFade 1s ease-out .5s both;letter-spacing:1px;text-transform:uppercase}@keyframes titleFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;font-size:1.1rem;z-index:1;opacity:.6;transition:opacity .3s}.input-wrapper .form-input{padding-left:44px!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;transition:all .3s ease!important}.input-wrapper .form-input::placeholder{color:#ffffff4d}.input-wrapper .form-input:focus{border-color:#4fc3f780!important;box-shadow:0 0 20px #4fc3f726,inset 0 0 10px #4fc3f70d!important;background:#ffffff14!important}.input-wrapper:focus-within .input-icon{opacity:1}.anim-field{animation:fieldSlideIn .6s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay, 0s)}@keyframes fieldSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.btn-login-animated{position:relative;width:100%;padding:16px;font-size:1.1em;font-weight:700;color:#fff;background:linear-gradient(135deg,#4fc3f7,#7e57c2);border:none;border-radius:14px;cursor:pointer;overflow:hidden;transition:all .3s ease;letter-spacing:.5px}.btn-login-animated:hover{transform:translateY(-2px);box-shadow:0 8px 30px #4fc3f74d,0 4px 15px #7e57c240}.btn-login-animated:active{transform:translateY(0)}.btn-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.login-footer{text-align:center;margin-top:16px;font-size:.85em;color:#fff6}.login-footer p{margin:4px 0;color:#fff6}.forgot-link{color:#4fc3f7cc!important;text-decoration:none;transition:color .3s}.forgot-link:hover{color:#4fc3f7!important}.login-error{color:#ff6b6b;text-align:center;margin-top:15px;padding:12px;background:#ff44441a;border-radius:12px;border:1px solid rgba(255,68,68,.2);animation:errorShake .4s ease}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-form .form-group label{color:#ffffffb3;font-size:.9em;font-weight:500;margin-bottom:6px}.login-content{display:flex;flex-direction:column;gap:15px}.login-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.login-option-btn{background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:2px solid rgba(255,255,255,.5);border-radius:14px;padding:18px 12px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);text-align:center;box-shadow:0 8px 32px #0000001a;position:relative;overflow:hidden}.login-option-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.login-option-btn:hover:before{left:100%}.login-option-btn:hover{transform:translateY(-10px) scale(1.03);box-shadow:0 15px 50px #0003;border-color:var(--primary-color)}.login-option-btn:active{transform:translateY(-5px) scale(1.01)}.login-option-btn .option-icon{font-size:2.2rem;margin-bottom:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:all .3s;display:block}.login-option-btn:hover .option-icon{transform:scale(1.15) rotate(5deg)}.login-option-btn .option-title{font-size:1rem;font-weight:800;color:var(--text-primary);margin-bottom:4px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-option-btn .option-desc{font-size:.75rem;color:var(--text-secondary)}.back-btn{background:var(--surface-color);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:2px solid var(--border-color);border-radius:12px;padding:12px 24px;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);margin-bottom:25px;display:inline-flex;align-items:center;gap:8px;font-size:.95rem;box-shadow:0 4px 12px #0000001a,inset 0 1px #fff3}.back-btn:hover{background:var(--ios-bg-secondary);transform:translate(-8px) scale(1.05);border-color:#5b9bd599;box-shadow:0 6px 20px #00000026,inset 0 1px #fff}.project-selector{margin-bottom:0}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:8px;font-weight:700;color:var(--text-primary);font-size:.9rem;letter-spacing:.3px}.form-group small{color:var(--text-secondary)}.form-input,.project-select{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.95rem;background:var(--surface-color);backdrop-filter:blur(15px) saturate(180%);-webkit-backdrop-filter:blur(15px) saturate(180%);color:var(--text-primary);transition:all .4s cubic-bezier(.34,1.56,.64,1);font-family:var(--font-family);font-weight:500;box-shadow:0 4px 12px #0000000d,inset 0 2px #fffffff2}.form-input::placeholder,.project-select::placeholder{color:#718096;opacity:.7}.form-input:focus,.project-select:focus{outline:0;border-color:#5b9bd5cc;background:#fff;box-shadow:0 0 0 4px #5b9bd526,0 6px 16px #5b9bd533,inset 0 2px #fff;transform:translateY(-2px) scale(1.01)}.btn-primary{width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-lg);font-size:.95rem;font-weight:700;background:linear-gradient(135deg,#007aff40,#0051d533);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#fff;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 32px #007aff4d,inset 0 1px #ffffff4d,inset 0 -1px #0000001a;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-4px) scale(1.03);background:linear-gradient(135deg,#007aff66,#0051d559);border-color:#ffffffb3;box-shadow:0 16px 48px #007aff80,inset 0 1px #ffffff80,inset 0 -1px #0000001a,0 0 30px #007aff66;filter:brightness(1.1)}.btn-primary:active{transform:translateY(-1px) scale(.98);box-shadow:0 4px 15px #007aff4d,inset 0 1px #fff3}.mobile-header{position:sticky;top:0;height:var(--header-height);background:#f0f0f2f2;-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:5000;border-bottom:2px solid rgba(0,0,0,.15)}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:#f0f0f2f2;-webkit-backdrop-filter:saturate(180%) blur(30px);backdrop-filter:saturate(180%) blur(30px);display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid rgba(0,0,0,.15);z-index:5000}.nav-btn{border:none;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.75rem;color:#1c1c1e;opacity:.7;padding:8px 4px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.nav-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#007aff33;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.nav-btn:active:before{width:150%;height:150%;opacity:0;transition:0s}.nav-btn:hover{opacity:.85}.nav-btn.active{color:#007aff;opacity:1}.nav-btn.active .nav-icon{transform:scale(1.1);transition:transform .2s ease}.nav-icon{font-size:1.3rem;transition:transform .2s ease}.nav-text{font-size:.65rem;font-weight:500;white-space:nowrap;display:block}.apartment-btn{border:none;border-radius:12px;padding:14px;font-weight:600;cursor:pointer;color:#fff;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;overflow:hidden}.apartment-normal{background:#f39c12d9}.apartment-sold{background:#e74c3cd9}.apartment-optional{background:#2ecc71d9}.apartment-off{background:#95a5a6d9}.apt-number{font-size:1rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.apt-type-badge{font-size:.65rem;background:#ffffff4d;padding:3px 8px;border-radius:6px;font-weight:700;color:#000c;text-shadow:0 1px 2px rgba(255,255,255,.3)}.apt-m2-badge{font-size:.6rem;background:#ffffff40;padding:2px 6px;border-radius:4px;font-weight:600;color:#000000b3}.apartment-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff6;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0;pointer-events:none}.apartment-btn:active:before{width:200%;height:200%;opacity:0;transition:0s}.apartment-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0003}.apartment-btn:not(.edit-mode-card):active{transform:scale(.95)}.apartment-btn.light-off{opacity:.5;filter:brightness(.6) saturate(.7) grayscale(.3);box-shadow:0 0 5px #0003,inset 0 2px 4px #00000026,inset 0 -1px #ffffff0d}.apartment-btn.light-on{opacity:1;filter:brightness(1.2) saturate(1.3) drop-shadow(0 0 8px currentColor);position:relative;z-index:1}.apartment-btn.apartment-normal.light-on{box-shadow:0 0 30px #f39c12,0 0 60px #f39c12cc,0 0 100px #f39c1299,0 0 150px #f39c1266,0 0 200px #f39c1240,0 0 250px #f39c1226,0 4px 20px #f39c1280,inset 0 1px #ffffff4d,inset 0 -1px #0003;animation:apartmentPulseOrange 2s ease-in-out infinite}.apartment-btn.apartment-sold.light-on{box-shadow:0 0 30px #e74c3c,0 0 60px #e74c3ccc,0 0 100px #e74c3c99,0 0 150px #e74c3c66,0 0 200px #e74c3c40,0 0 250px #e74c3c26,0 4px 20px #e74c3c80,inset 0 1px #ffffff4d,inset 0 -1px #0003;animation:apartmentPulseRed 2s ease-in-out infinite}.apartment-btn.apartment-optional.light-on{box-shadow:0 0 30px #2ecc71,0 0 60px #2ecc71cc,0 0 100px #2ecc7199,0 0 150px #2ecc7166,0 0 200px #2ecc7140,0 0 250px #2ecc7126,0 4px 20px #2ecc7180,inset 0 1px #ffffff4d,inset 0 -1px #0003;animation:apartmentPulseGreen 2s ease-in-out infinite}.apartment-btn.apartment-off.light-on{box-shadow:0 0 30px #95a5a6,0 0 60px #95a5a6cc,0 0 100px #95a5a699,0 0 150px #95a5a666,0 0 200px #95a5a640,0 0 250px #95a5a626,0 4px 20px #95a5a680,inset 0 1px #ffffff4d,inset 0 -1px #0003;animation:apartmentPulseGray 2s ease-in-out infinite}@keyframes apartmentPulse{0%,to{filter:brightness(1.2) saturate(1.3) drop-shadow(0 0 6px currentColor);transform:scale(1)}50%{filter:brightness(1.35) saturate(1.4) drop-shadow(0 0 12px currentColor);transform:scale(1.02)}}@keyframes apartmentPulseOrange{0%,to{filter:brightness(1.2) saturate(1.3) drop-shadow(0 0 12px rgba(243,156,18,.9));box-shadow:0 0 30px #f39c12,0 0 60px #f39c12cc,0 0 100px #f39c1299,0 0 150px #f39c1266,0 0 200px #f39c1240,0 0 250px #f39c1226,0 4px 20px #f39c1280,inset 0 1px #ffffff4d,inset 0 -1px #0003;transform:scale(1)}50%{filter:brightness(1.4) saturate(1.5) drop-shadow(0 0 20px rgba(243,156,18,1));box-shadow:0 0 45px #f39c12,0 0 90px #f39c12e6,0 0 140px #f39c12b3,0 0 200px #f39c1280,0 0 260px #f39c1259,0 0 320px #f39c1233,0 8px 28px #f39c1299,inset 0 1px #ffffff59,inset 0 -1px #00000040;transform:scale(1.03)}}@keyframes apartmentPulseRed{0%,to{filter:brightness(1.2) saturate(1.3) drop-shadow(0 0 12px rgba(231,76,60,.9));box-shadow:0 0 30px #e74c3c,0 0 60px #e74c3ccc,0 0 100px #e74c3c99,0 0 150px #e74c3c66,0 0 200px #e74c3c40,0 0 250px #e74c3c26,0 4px 20px #e74c3c80,inset 0 1px #ffffff4d,inset 0 -1px #0003;transform:scale(1)}50%{filter:brightness(1.4) saturate(1.5) drop-shadow(0 0 20px rgba(231,76,60,1));box-shadow:0 0 45px #e74c3c,0 0 90px #e74c3ce6,0 0 140px #e74c3cb3,0 0 200px #e74c3c80,0 0 260px #e74c3c59,0 0 320px #e74c3c33,0 8px 28px #e74c3c99,inset 0 1px #ffffff59,inset 0 -1px #00000040;transform:scale(1.03)}}@keyframes apartmentPulseGreen{0%,to{filter:brightness(1.2) saturate(1.3) drop-shadow(0 0 12px rgba(46,204,113,.9));box-shadow:0 0 30px #2ecc71,0 0 60px #2ecc71cc,0 0 100px #2ecc7199,0 0 150px #2ecc7166,0 0 200px #2ecc7140,0 0 250px #2ecc7126,0 4px 20px #2ecc7180,inset 0 1px #ffffff4d,inset 0 -1px #0003;transform:scale(1)}50%{filter:brightness(1.4) saturate(1.5) drop-shadow(0 0 20px rgba(46,204,113,1));box-shadow:0 0 45px #2ecc71,0 0 90px #2ecc71e6,0 0 140px #2ecc71b3,0 0 200px #2ecc7180,0 0 260px #2ecc7159,0 0 320px #2ecc7133,0 8px 28px #2ecc7199,inset 0 1px #ffffff59,inset 0 -1px #00000040;transform:scale(1.03)}}@keyframes apartmentPulseGray{0%,to{filter:brightness(1.2) saturate(1.3) drop-shadow(0 0 12px rgba(149,165,166,.9));box-shadow:0 0 30px #95a5a6,0 0 60px #95a5a6cc,0 0 100px #95a5a699,0 0 150px #95a5a666,0 0 200px #95a5a640,0 0 250px #95a5a626,0 4px 20px #95a5a680,inset 0 1px #ffffff4d,inset 0 -1px #0003;transform:scale(1)}50%{filter:brightness(1.4) saturate(1.5) drop-shadow(0 0 20px rgba(149,165,166,1));box-shadow:0 0 45px #95a5a6,0 0 90px #95a5a6e6,0 0 140px #95a5a6b3,0 0 200px #95a5a680,0 0 260px #95a5a659,0 0 320px #95a5a633,0 8px 28px #95a5a699,inset 0 1px #ffffff59,inset 0 -1px #00000040;transform:scale(1.03)}}@keyframes apartmentPulseOrangeDark{0%,to{filter:brightness(1.25) saturate(1.4) drop-shadow(0 0 15px rgba(243,156,18,1));box-shadow:0 0 35px #f39c12,0 0 70px #f39c12e6,0 0 120px #f39c12b3,0 0 180px #f39c1280,0 0 240px #f39c1259,0 0 300px #f39c1233,0 4px 24px #f39c1299,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;transform:scale(1)}50%{filter:brightness(1.5) saturate(1.6) drop-shadow(0 0 25px rgba(243,156,18,1));box-shadow:0 0 55px #f39c12,0 0 110px #f39c12,0 0 170px #f39c12cc,0 0 240px #f39c1299,0 0 310px #f39c1266,0 0 380px #f39c1240,0 8px 32px #f39c12b3,0 0 12px #0009,inset 0 1px #ffffff59,inset 0 -1px #00000059;transform:scale(1.03)}}@keyframes apartmentPulseRedDark{0%,to{filter:brightness(1.25) saturate(1.4) drop-shadow(0 0 15px rgba(231,76,60,1));box-shadow:0 0 35px #e74c3c,0 0 70px #e74c3ce6,0 0 120px #e74c3cb3,0 0 180px #e74c3c80,0 0 240px #e74c3c59,0 0 300px #e74c3c33,0 4px 24px #e74c3c99,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;transform:scale(1)}50%{filter:brightness(1.5) saturate(1.6) drop-shadow(0 0 25px rgba(231,76,60,1));box-shadow:0 0 55px #e74c3c,0 0 110px #e74c3c,0 0 170px #e74c3ccc,0 0 240px #e74c3c99,0 0 310px #e74c3c66,0 0 380px #e74c3c40,0 8px 32px #e74c3cb3,0 0 12px #0009,inset 0 1px #ffffff59,inset 0 -1px #00000059;transform:scale(1.03)}}@keyframes apartmentPulseGreenDark{0%,to{filter:brightness(1.25) saturate(1.4) drop-shadow(0 0 15px rgba(46,204,113,1));box-shadow:0 0 35px #2ecc71,0 0 70px #2ecc71e6,0 0 120px #2ecc71b3,0 0 180px #2ecc7180,0 0 240px #2ecc7159,0 0 300px #2ecc7133,0 4px 24px #2ecc7199,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;transform:scale(1)}50%{filter:brightness(1.5) saturate(1.6) drop-shadow(0 0 25px rgba(46,204,113,1));box-shadow:0 0 55px #2ecc71,0 0 110px #2ecc71,0 0 170px #2ecc71cc,0 0 240px #2ecc7199,0 0 310px #2ecc7166,0 0 380px #2ecc7140,0 8px 32px #2ecc71b3,0 0 12px #0009,inset 0 1px #ffffff59,inset 0 -1px #00000059;transform:scale(1.03)}}@keyframes apartmentPulseGrayDark{0%,to{filter:brightness(1.25) saturate(1.4) drop-shadow(0 0 15px rgba(149,165,166,1));box-shadow:0 0 35px #95a5a6,0 0 70px #95a5a6e6,0 0 120px #95a5a6b3,0 0 180px #95a5a680,0 0 240px #95a5a659,0 0 300px #95a5a633,0 4px 24px #95a5a699,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;transform:scale(1)}50%{filter:brightness(1.5) saturate(1.6) drop-shadow(0 0 25px rgba(149,165,166,1));box-shadow:0 0 55px #95a5a6,0 0 110px #95a5a6,0 0 170px #95a5a6cc,0 0 240px #95a5a699,0 0 310px #95a5a666,0 0 380px #95a5a640,0 8px 32px #95a5a6b3,0 0 12px #0009,inset 0 1px #ffffff59,inset 0 -1px #00000059;transform:scale(1.03)}}.apartment-btn.light-on:hover{animation:apartmentHoverPulse .3s ease-out forwards;filter:brightness(1.35) saturate(1.4) drop-shadow(0 0 15px currentColor);transform:scale(1.1);z-index:10}@keyframes apartmentHoverPulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1.1)}}.apartment-btn.light-off:hover{opacity:.7;filter:brightness(.8) saturate(.85) grayscale(.2);transform:scale(1.03);box-shadow:0 0 8px #00000040,inset 0 2px 4px #00000026,inset 0 -1px #ffffff14}.apartment-btn.apartment-normal.light-on:hover{box-shadow:0 0 40px #f39c12,0 0 80px #f39c12e6,0 0 130px #f39c12b3,0 0 180px #f39c1280,0 0 240px #f39c1259,0 0 300px #f39c1233,0 6px 25px #f39c1299,inset 0 1px #fff6,inset 0 -1px #0000004d}.apartment-btn.apartment-sold.light-on:hover{box-shadow:0 0 40px #e74c3c,0 0 80px #e74c3ce6,0 0 130px #e74c3cb3,0 0 180px #e74c3c80,0 0 240px #e74c3c59,0 0 300px #e74c3c33,0 6px 25px #e74c3c99,inset 0 1px #fff6,inset 0 -1px #0000004d}.apartment-btn.apartment-optional.light-on:hover{box-shadow:0 0 40px #2ecc71,0 0 80px #2ecc71e6,0 0 130px #2ecc71b3,0 0 180px #2ecc7180,0 0 240px #2ecc7159,0 0 300px #2ecc7133,0 6px 25px #2ecc7199,inset 0 1px #fff6,inset 0 -1px #0000004d}.apartment-btn.apartment-off.light-on:hover{box-shadow:0 0 40px #95a5a6,0 0 80px #95a5a6e6,0 0 130px #95a5a6b3,0 0 180px #95a5a680,0 0 240px #95a5a659,0 0 300px #95a5a633,0 6px 25px #95a5a699,inset 0 1px #fff6,inset 0 -1px #0000004d}.apartments-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:12px 0}@media(max-width:768px){.apartments-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.menu-time-section{padding:16px;background:#ebebedd9;border:1px solid rgba(0,0,0,.08);border-radius:14px;margin:8px 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=dark] .menu-time-section{background:#2c2c2e99;border:1px solid rgba(255,255,255,.1)}.menu-time-display{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=dark] .menu-time-display{border-bottom:1px solid rgba(255,255,255,.1)}.menu-time-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.menu-time-info{flex:1;display:flex;flex-direction:column}.menu-time-value{font-size:20px;font-weight:700;color:var(--primary-color, #007AFF);font-family:SF Mono,Menlo,monospace}.menu-time-date{font-size:12px;color:var(--text-secondary, #8E8E93);margin-top:2px}.menu-time-source{display:flex;align-items:center}.menu-source-badge{font-size:10px;padding:4px 10px;border-radius:10px;background:#34c75926;color:#34c759;font-weight:600;border:1px solid rgba(52,199,89,.3)}.menu-source-badge.not-set{background:#ff3b3026;color:#ff3b30;border-color:#ff3b304d}.menu-source-badge.saved{background:#ff950026;color:#ff9500;border-color:#ff95004d}.menu-time-actions{display:flex;gap:8px;margin-top:12px}.menu-time-btn{flex:1;padding:10px 8px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#ffffffe6;color:var(--text-primary, #000);font-size:11px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:3px}[data-theme=dark] .menu-time-btn{background:#3a3a3ccc;border:1px solid rgba(255,255,255,.1);color:#fff}.menu-time-btn:hover{background:#007aff1a;border-color:#007aff4d;transform:translateY(-1px)}[data-theme=dark] .menu-time-btn:hover{background:#007aff33;border-color:#007aff66}.menu-time-btn:active{transform:scale(.96)}.menu-time-btn span:first-child{font-size:16px}.menu-manual-time-form{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08)}[data-theme=dark] .menu-manual-time-form{border-top:1px solid rgba(255,255,255,.1)}.menu-time-inputs{display:flex;gap:8px;margin-bottom:10px}.menu-time-input{flex:1;padding:10px;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#ffffffe6;color:var(--text-primary, #000);font-size:13px}[data-theme=dark] .menu-time-input{background:#3a3a3ccc;border:1px solid rgba(255,255,255,.15);color:#fff}.menu-time-input:focus{outline:none;border-color:var(--primary-color, #007AFF);box-shadow:0 0 0 3px #007aff26}.menu-time-form-btns{display:flex;gap:8px}.menu-time-save{flex:1;padding:10px;border:none;border-radius:8px;background:#34c759;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.menu-time-save:hover{background:#2db84d;transform:translateY(-1px)}.menu-time-save:active{transform:scale(.96)}.menu-time-cancel{padding:10px 14px;border:none;border-radius:8px;background:#ff3b3026;color:#ff3b30;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.menu-time-cancel:hover{background:#ff3b3040}.menu-time-cancel:active{transform:scale(.96)}[data-theme=dark]{--ios-bg-primary: #1C1C1E;--ios-bg-secondary: #2C2C2E;--text-primary: #FFFFFF;--text-secondary: #8E8E93}[data-theme=dark] body{background:var(--ios-bg-primary);color:var(--text-primary)}[data-theme=dark] .login-screen{background:linear-gradient(135deg,#050510,#0d0d2b,#080818,#0f1520,#050510)}[data-theme=dark] .login-container{background:#0a0c1cd9;border:1px solid rgba(255,255,255,.06);box-shadow:0 25px 80px #0009,0 0 60px #4fc3f70d}[data-theme=dark] .login-header h1,[data-theme=dark] .login-header h2{color:#fff}[data-theme=dark] .login-header p{color:#8e8e93}[data-theme=dark] .login-option-btn{background:#3a3a3ccc;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .login-option-btn:hover{background:#3a3a3c;border-color:#007aff80}[data-theme=dark] .option-title{color:#fff}[data-theme=dark] .option-desc{color:#8e8e93}[data-theme=dark] .user-login-container,[data-theme=dark] .admin-login-container{background:#2c2c2ef2;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .project-select-wrapper select,[data-theme=dark] .login-input{background:#3a3a3ccc;border:1px solid rgba(255,255,255,.15);color:#fff}[data-theme=dark] .project-select-wrapper select option{background:#2c2c2e;color:#fff}[data-theme=dark] .login-input::placeholder{color:#636366}[data-theme=dark] .login-input:focus,[data-theme=dark] .project-select-wrapper select:focus{border-color:#007aff80;box-shadow:0 0 0 3px #007aff33}[data-theme=dark] .login-back-btn{background:#3a3a3ccc;color:#fff;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .login-back-btn:hover{background:#3a3a3c}[data-theme=dark] .mobile-header{background:#1c1c1ef2;border-bottom:2px solid rgba(255,255,255,.1)}[data-theme=dark] .header-title,[data-theme=dark] .project-name{color:#fff}[data-theme=dark] .mobile-bottom-nav{background:#1c1c1ef2;border-top:2px solid rgba(255,255,255,.1)}[data-theme=dark] .nav-btn{color:#8e8e93}[data-theme=dark] .nav-btn.active{color:#007aff}[data-theme=dark] .nav-btn span{color:inherit}[data-theme=dark] .apartment-btn{border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .apartment-btn:hover{border-color:#fff6}[data-theme=dark] .apartment-btn.light-off{opacity:.4;filter:brightness(.5) saturate(.6) grayscale(.4);box-shadow:0 0 5px #0006,inset 0 2px 6px #0000004d,inset 0 -1px #ffffff08}[data-theme=dark] .apartment-btn.light-off:hover{opacity:.6;filter:brightness(.7) saturate(.75) grayscale(.3);transform:scale(1.03);box-shadow:0 0 10px #00000080,inset 0 2px 6px #0000004d,inset 0 -1px #ffffff0d}[data-theme=dark] .apartment-btn.light-on{border-color:#fff9;opacity:1;filter:brightness(1.25) saturate(1.4) drop-shadow(0 0 10px currentColor);position:relative;z-index:1}[data-theme=dark] .apartment-btn.apartment-normal.light-on{box-shadow:0 0 35px #f39c12,0 0 70px #f39c12e6,0 0 120px #f39c12b3,0 0 180px #f39c1280,0 0 240px #f39c1259,0 0 300px #f39c1233,0 4px 24px #f39c1299,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;animation:apartmentPulseOrangeDark 2s ease-in-out infinite}[data-theme=dark] .apartment-btn.apartment-sold.light-on{box-shadow:0 0 35px #e74c3c,0 0 70px #e74c3ce6,0 0 120px #e74c3cb3,0 0 180px #e74c3c80,0 0 240px #e74c3c59,0 0 300px #e74c3c33,0 4px 24px #e74c3c99,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;animation:apartmentPulseRedDark 2s ease-in-out infinite}[data-theme=dark] .apartment-btn.apartment-optional.light-on{box-shadow:0 0 35px #2ecc71,0 0 70px #2ecc71e6,0 0 120px #2ecc71b3,0 0 180px #2ecc7180,0 0 240px #2ecc7159,0 0 300px #2ecc7133,0 4px 24px #2ecc7199,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;animation:apartmentPulseGreenDark 2s ease-in-out infinite}[data-theme=dark] .apartment-btn.apartment-off.light-on{box-shadow:0 0 35px #95a5a6,0 0 70px #95a5a6e6,0 0 120px #95a5a6b3,0 0 180px #95a5a680,0 0 240px #95a5a659,0 0 300px #95a5a633,0 4px 24px #95a5a699,0 0 8px #00000080,inset 0 1px #ffffff4d,inset 0 -1px #0000004d;animation:apartmentPulseGrayDark 2s ease-in-out infinite}[data-theme=dark] .apartment-btn.light-on:hover{animation:apartmentHoverPulseDark .3s ease-out forwards;filter:brightness(1.4) saturate(1.5) drop-shadow(0 0 18px currentColor);transform:scale(1.1);z-index:10}[data-theme=dark] .apartment-btn.apartment-normal.light-on:hover{box-shadow:0 0 50px #f39c12,0 0 100px #f39c12,0 0 160px #f39c12cc,0 0 220px #f39c1299,0 0 280px #f39c1266,0 0 350px #f39c1240,0 8px 30px #f39c12b3,0 0 15px #000000b3,inset 0 1px #fff6,inset 0 -1px #0006}[data-theme=dark] .apartment-btn.apartment-sold.light-on:hover{box-shadow:0 0 50px #e74c3c,0 0 100px #e74c3c,0 0 160px #e74c3ccc,0 0 220px #e74c3c99,0 0 280px #e74c3c66,0 0 350px #e74c3c40,0 8px 30px #e74c3cb3,0 0 15px #000000b3,inset 0 1px #fff6,inset 0 -1px #0006}[data-theme=dark] .apartment-btn.apartment-optional.light-on:hover{box-shadow:0 0 50px #2ecc71,0 0 100px #2ecc71,0 0 160px #2ecc71cc,0 0 220px #2ecc7199,0 0 280px #2ecc7166,0 0 350px #2ecc7140,0 8px 30px #2ecc71b3,0 0 15px #000000b3,inset 0 1px #fff6,inset 0 -1px #0006}[data-theme=dark] .apartment-btn.apartment-off.light-on:hover{box-shadow:0 0 50px #95a5a6,0 0 100px #95a5a6,0 0 160px #95a5a6cc,0 0 220px #95a5a699,0 0 280px #95a5a666,0 0 350px #95a5a640,0 8px 30px #95a5a6b3,0 0 15px #000000b3,inset 0 1px #fff6,inset 0 -1px #0006}@keyframes apartmentHoverPulseDark{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1.1)}}[data-theme=dark]{--glass-bg: rgba(44, 44, 46, .7);--glass-border: rgba(255, 255, 255, .1)}[data-theme=dark] .stat-mini-card{background:#2c2c2ecc;border-color:#ffffff1a}[data-theme=dark] .stat-mini-value{color:#fff}[data-theme=dark] .skeleton{background:linear-gradient(90deg,#2c2c2e 25%,#3a3a3c,#2c2c2e 75%);background-size:200% 100%}[data-theme=dark] .connection-badge{background:#34c75933}[data-theme=dark] .connection-badge.disconnected{background:#ff3b3033}[data-theme=dark] .connection-badge.connecting{background:#ff950033}.notification-container{position:fixed;top:20px;right:20px;z-index:9990;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:400px}.notification{padding:16px 20px;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:auto;transform:translate(420px);opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-show{transform:translate(0);opacity:1}.notification-hide{transform:translate(420px);opacity:0}.notification-success{background:linear-gradient(135deg,#27ae60,#2ecc71);border-left:4px solid #1e8449;color:#fff}.notification-error{background:linear-gradient(135deg,#e74c3c,#c0392b);border-left:4px solid #922b21;color:#fff}.notification-warning{background:linear-gradient(135deg,#f39c12,#e67e22);border-left:4px solid #d68910;color:#fff}.notification-info{background:linear-gradient(135deg,#3498db,#2980b9);border-left:4px solid #1f618d;color:#fff}.notification-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.notification-icon{font-size:20px;flex-shrink:0}.notification-message{flex:1;word-wrap:break-word}.notification-close{background:#fff3;border:none;color:inherit;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:6px;opacity:.8;transition:all .2s}.notification-close:hover{opacity:1;background:#ffffff4d}.notification-action{background:#fff3;border:1px solid rgba(255,255,255,.3);color:inherit;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}.notification-action:hover{background:#ffffff4d}@media(max-width:480px){.notification-container{position:fixed!important;top:10px!important;top:calc(10px + env(safe-area-inset-top,0px))!important;right:10px!important;left:10px!important;max-width:none!important;width:auto!important;z-index:99999!important}.notification{transform:translateY(-100px);padding:14px 12px!important;font-size:13px!important;border-radius:12px!important;gap:10px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;flex-wrap:nowrap!important;align-items:center!important}.notification-show{transform:translateY(0)!important;opacity:1!important}.notification-hide{transform:translateY(-100px)!important;opacity:0!important}.notification-content{flex:1 1 auto!important;min-width:0!important;gap:10px!important;display:flex!important;align-items:center!important;overflow:hidden!important}.notification-icon{font-size:20px!important;flex-shrink:0!important}.notification-message{flex:1 1 auto!important;min-width:0!important;font-size:13px!important;line-height:1.4!important;word-break:break-word!important;overflow-wrap:break-word!important}.notification-close{flex-shrink:0!important;padding:8px!important;font-size:16px!important;min-width:32px!important;min-height:32px!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:8px!important;background:#ffffff40!important}.notification-action{flex-shrink:0!important;padding:8px 12px!important;font-size:12px!important;min-height:32px!important;white-space:nowrap!important}}@keyframes popoverOverlayIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}@keyframes popoverOverlayOut{0%{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}to{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@keyframes popoverScaleIn{0%{opacity:0;transform:scale(.7) translateY(-30px) rotateX(15deg)}50%{transform:scale(1.02) translateY(5px) rotateX(-2deg)}to{opacity:1;transform:scale(1) translateY(0) rotateX(0)}}@keyframes popoverScaleOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(-20px)}}@keyframes popoverSlideUp{0%{opacity:0;transform:translateY(100%)}60%{transform:translateY(-8%)}to{opacity:1;transform:translateY(0)}}@keyframes popoverSlideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes popoverGlow{0%,to{box-shadow:0 0 30px #6366f126,0 25px 60px #00000040}50%{box-shadow:0 0 50px #6366f140,0 30px 70px #0000004d}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes itemSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.popover-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0006,#14142899);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);z-index:9998;opacity:0;pointer-events:none;transition:none}.popover-overlay.active{opacity:1;pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:popoverOverlayIn .4s cubic-bezier(.34,1.56,.64,1) forwards}.popover-overlay.closing{animation:popoverOverlayOut .3s ease-out forwards}.popover{position:fixed;background:linear-gradient(165deg,#fffffff2,#f8fafce6,#f1f5f9d9);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:0 0 0 1px #ffffff80 inset,0 25px 60px #00000040,0 0 30px #6366f11a;z-index:9999;min-width:320px;max-width:420px;opacity:0;transform:scale(.7) translateY(-30px);pointer-events:none;perspective:1000px;transform-style:preserve-3d;overflow:hidden}.popover:before{content:"";position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(180deg,rgba(99,102,241,.08) 0%,rgba(139,92,246,.04) 50%,transparent 100%);pointer-events:none;z-index:0}.popover.active{opacity:1;transform:scale(1) translateY(0);pointer-events:auto;animation:popoverScaleIn .5s cubic-bezier(.34,1.56,.64,1) forwards,popoverGlow 3s ease-in-out .5s infinite}.popover.closing{animation:popoverScaleOut .3s ease-out forwards}.popover-header{position:relative;padding:24px 20px 18px;border-bottom:1px solid rgba(99,102,241,.1);display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,#ffffff80,#fff0);z-index:1}.popover-header:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.3) 50%,transparent 100%)}.popover-title{font-size:18px;font-weight:700;color:var(--text-primary);flex:1;letter-spacing:-.3px;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.popover-title .popover-info-badge{-webkit-text-fill-color:initial;-webkit-background-clip:initial;background-clip:initial}.popover-title .popover-info-badge.status-normal{background:linear-gradient(135deg,#22c55e33,#16a34a26)}.popover-title .popover-info-badge.status-optional{background:linear-gradient(135deg,#fbbf2433,#f59e0b26)}.popover-title .popover-info-badge.status-sold{background:linear-gradient(135deg,#ef444433,#dc262626)}.popover-title .popover-info-badge.status-off{background:linear-gradient(135deg,#64748b33,#47556926)}.popover-close{position:relative;width:36px;height:36px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:1px solid rgba(0,0,0,.06);color:#64748b;font-size:16px;cursor:pointer;padding:0;border-radius:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000000f;overflow:hidden}.popover-close:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#ef4444,#dc2626);opacity:0;transition:opacity .3s ease;border-radius:inherit}.popover-close span,.popover-close:after{position:relative;z-index:1}.popover-close:hover{transform:scale(1.1) rotate(90deg);color:#fff;border-color:transparent;box-shadow:0 4px 15px #ef444466}.popover-close:hover:before{opacity:1}.popover-close:active{transform:scale(.95) rotate(90deg)}.popover-body{position:relative;padding:20px;z-index:1}.popover-info-group{display:flex;flex-direction:column;gap:10px}.popover-info-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#fffc,#f8fafc99);border:1px solid rgba(0,0,0,.04);border-radius:14px;gap:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);opacity:0;animation:itemSlideIn .4s ease-out forwards;box-shadow:0 2px 8px #0000000a}.popover-info-item:nth-child(1){animation-delay:.1s}.popover-info-item:nth-child(2){animation-delay:.15s}.popover-info-item:nth-child(3){animation-delay:.2s}.popover-info-item:nth-child(4){animation-delay:.25s}.popover-info-item:nth-child(5){animation-delay:.3s}.popover-info-item:hover{transform:translate(6px);background:linear-gradient(135deg,#6366f114,#8b5cf60a);border-color:#6366f133;box-shadow:0 4px 15px #6366f11a}.popover-info-label{font-size:13px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.popover-info-value{font-size:15px;color:#1e293b;font-weight:700}.popover-info-badge{position:relative;padding:6px 14px;border-radius:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;overflow:hidden;animation:badgePulse 2s ease-in-out infinite;-webkit-text-fill-color:initial;background-clip:initial;-webkit-background-clip:initial}.popover-info-badge:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 3s infinite}.popover-info-badge.status-normal{background:linear-gradient(135deg,#22c55e33,#16a34a26);color:#16a34a;border:1px solid rgba(34,197,94,.3);box-shadow:0 2px 10px #22c55e33}.popover-info-badge.status-optional{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);color:#d97706;border:1px solid rgba(251,191,36,.3);box-shadow:0 2px 10px #fbbf2433}.popover-info-badge.status-sold{background:linear-gradient(135deg,#ef444433,#dc262626);color:#dc2626;border:1px solid rgba(239,68,68,.3);box-shadow:0 2px 10px #ef444433}.popover-info-badge.status-off{background:linear-gradient(135deg,#64748b33,#47556926);color:#475569;border:1px solid rgba(100,116,139,.3);box-shadow:0 2px 10px #64748b26}.popover-info-badge.light-on{background:linear-gradient(135deg,#facc1540,#eab30833);color:#a16207;border:1px solid rgba(250,204,21,.4);box-shadow:0 0 20px #facc154d}.popover-info-badge.light-off{background:linear-gradient(135deg,#64748b26,#4755691a);color:#64748b;border:1px solid rgba(100,116,139,.2)}.popover-footer{position:relative;padding:16px 20px 20px;border-top:1px solid rgba(99,102,241,.1);display:flex;gap:12px;background:linear-gradient(0deg,#f8fafccc,#fff0);z-index:1}.popover-footer:before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.2) 50%,transparent 100%)}.popover-btn{flex:1;padding:14px 20px;border:none;border-radius:14px;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.popover-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.popover-btn:active:before{width:300px;height:300px}.popover-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);color:#fff;box-shadow:0 4px 15px #6366f166,0 0 0 1px #fff3 inset}.popover-btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #6366f180,0 0 0 1px #ffffff4d inset}.popover-btn-primary:active{transform:translateY(-1px) scale(.98)}.popover-btn-secondary{background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#475569;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000f}.popover-btn-secondary:hover{background:linear-gradient(135deg,#fff,#f1f5f9);transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.popover-btn-secondary:active{transform:translateY(0)}[data-theme=dark] .popover-overlay{background:linear-gradient(135deg,#0009,#0f172acc)}[data-theme=dark] .popover{background:linear-gradient(165deg,#1e293bfa,#0f172af2,#0f172ae6);border:1px solid rgba(99,102,241,.2);box-shadow:0 0 0 1px #6366f11a inset,0 25px 60px #00000080,0 0 40px #6366f126}[data-theme=dark] .popover:before{background:linear-gradient(180deg,rgba(99,102,241,.15) 0%,rgba(139,92,246,.08) 50%,transparent 100%)}[data-theme=dark] .popover-header{border-bottom-color:#6366f126;background:linear-gradient(180deg,#6366f114,#6366f100)}[data-theme=dark] .popover-title{background:linear-gradient(135deg,#f1f5f9,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .popover-title .popover-info-badge{-webkit-text-fill-color:initial;-webkit-background-clip:initial;background-clip:initial}[data-theme=dark] .popover-title .popover-info-badge.status-normal{background:linear-gradient(135deg,#22c55e40,#16a34a33)}[data-theme=dark] .popover-title .popover-info-badge.status-optional{background:linear-gradient(135deg,#fbbf2440,#f59e0b33)}[data-theme=dark] .popover-title .popover-info-badge.status-sold{background:linear-gradient(135deg,#ef444440,#dc262633)}[data-theme=dark] .popover-title .popover-info-badge.status-off{background:linear-gradient(135deg,#64748b40,#47556933)}[data-theme=dark] .popover-close{background:linear-gradient(135deg,#334155cc,#1e293be6);border-color:#6366f133;color:#94a3b8}[data-theme=dark] .popover-close:hover{color:#fff}[data-theme=dark] .popover-footer{border-top-color:#6366f126;background:linear-gradient(0deg,#0f172a80,#0f172a00)}[data-theme=dark] .popover-info-item{background:linear-gradient(135deg,#33415580,#1e293b66);border-color:#6366f11a}[data-theme=dark] .popover-info-item:hover{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-color:#6366f14d}[data-theme=dark] .popover-info-label{color:#94a3b8}[data-theme=dark] .popover-info-value{color:#f1f5f9}[data-theme=dark] .popover-btn-secondary{background:linear-gradient(135deg,#334155cc,#1e293be6);color:#e2e8f0;border-color:#6366f133}[data-theme=dark] .popover-btn-secondary:hover{background:linear-gradient(135deg,#475569cc,#334155e6);box-shadow:0 4px 15px #0000004d}@media(max-width:768px){.popover{position:fixed;bottom:0;left:0;right:0;top:auto;max-width:100vw;min-width:unset;border-radius:28px 28px 0 0;transform:translateY(100%);max-height:90vh;overflow-y:auto;animation:none}.popover.active{animation:popoverSlideUp .5s cubic-bezier(.34,1.56,.64,1) forwards}.popover.closing{animation:popoverSlideDown .3s ease-out forwards}.popover-header{padding:28px 20px 16px;position:sticky;top:0;background:inherit;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:2}.popover-header:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:40px;height:5px;background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:3px;box-shadow:0 1px 3px #0000001a}.popover-title{font-size:17px}.popover-title>div{flex-wrap:wrap;gap:10px!important}.popover-title .popover-info-badge{font-size:11px;padding:5px 10px}.popover-close{width:40px;height:40px;min-width:40px;max-width:40px;min-height:40px;max-height:40px;font-size:18px;flex-shrink:0;aspect-ratio:1;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center}.popover-body{padding:16px 20px}.popover-info-group{gap:12px}.popover-info-item{padding:16px 18px;min-height:56px}.popover-info-label{font-size:12px}.popover-info-value{font-size:15px}.popover-info-badge{font-size:11px;padding:6px 12px}.popover-footer{padding:16px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));position:sticky;bottom:0;background:inherit;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:2;gap:12px}.popover-btn{padding:16px 24px;font-size:16px;font-weight:600;min-height:54px;border-radius:16px}.popover-btn-primary{width:100%}}@media(min-width:769px)and (max-width:1024px){.popover{max-width:400px}.popover-btn{min-height:48px;padding:14px 22px}}@media(max-width:380px){.popover{max-height:95vh;border-radius:24px 24px 0 0}.popover-header{padding:24px 16px 12px}.popover-title{font-size:15px}.popover-title>div{flex-direction:column;align-items:flex-start!important;gap:8px!important}.popover-close{width:36px;height:36px;min-width:36px;max-width:36px;min-height:36px;max-height:36px;font-size:16px;aspect-ratio:1;border-radius:50%}.popover-body{padding:12px 16px}.popover-info-group{gap:10px}.popover-info-item{padding:14px 16px;min-height:52px;flex-wrap:wrap;gap:8px}.popover-info-label{font-size:11px}.popover-info-value{font-size:14px}.popover-info-badge{font-size:10px;padding:5px 10px}.popover-footer{padding:14px 16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:10px}.popover-btn{width:100%;min-height:50px;padding:14px 20px;font-size:15px;border-radius:14px}}@media(max-width:320px){.popover-header{padding:20px 14px 10px}.popover-title{font-size:14px}.popover-body{padding:10px 14px}.popover-info-item{padding:12px 14px;min-height:48px}.popover-info-label{font-size:10px}.popover-info-value{font-size:13px}.popover-footer{padding:12px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.popover-btn{min-height:46px;padding:12px 16px;font-size:14px}}.floor-toggle,.block-toggle,.floor-led-toggle,.block-led-toggle{padding:8px;margin:0 8px;background:linear-gradient(145deg,#28282de6,#19191ef2);color:#9696a0cc;border:2px solid rgba(80,80,90,.4);border-radius:12px;cursor:pointer;font-size:1rem;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;flex:0 0 44px!important;flex-shrink:0!important;flex-grow:0!important;box-shadow:inset 0 2px 4px #0000004d,inset 0 -1px 2px #ffffff0d,0 2px 8px #0003}.sun-icon{transition:all .4s ease;display:block;flex-shrink:0}.sun-icon .sun-core{transition:all .4s ease;fill:#ffc107}.sun-icon .sun-rays{opacity:.5;transform-origin:center;transform:scale(1);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.sun-icon .sun-rays line{stroke:#ffc83299}.bulb-icon{transition:all .4s ease}.bulb-icon .bulb-grad-start{stop-color:#78788299}.bulb-icon .bulb-grad-end{stop-color:#50505a66}.bulb-icon .bulb-body{transition:all .4s ease}.bulb-icon .bulb-rays{opacity:0;transform-origin:center;transform:scale(.5);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.bulb-icon .bulb-rays line{stroke:#ffc83200}.floor-toggle:hover,.block-toggle:hover,.floor-led-toggle:hover,.block-led-toggle:hover{transform:translateY(-2px) scale(1.08);background:linear-gradient(145deg,#323237f2,#232328fa);border-color:#ffc83280;box-shadow:inset 0 2px 4px #0000004d,0 4px 16px #ffc83233,0 0 20px #ffc8321a}.floor-toggle:hover .sun-icon,.block-toggle:hover .sun-icon{color:#ffdc64e6;filter:drop-shadow(0 0 4px rgba(255,200,50,.4))}.floor-toggle:hover .sun-icon .sun-rays,.block-toggle:hover .sun-icon .sun-rays{opacity:.6;transform:scale(.9) rotate(15deg)}.floor-toggle:hover .bulb-icon,.block-toggle:hover .bulb-icon{color:#00b4ffe6}.floor-toggle:hover .bulb-icon .bulb-grad-start,.block-toggle:hover .bulb-icon .bulb-grad-start{stop-color:#00b4ff80}.floor-toggle:hover .bulb-icon .bulb-grad-end,.block-toggle:hover .bulb-icon .bulb-grad-end{stop-color:#0096ff4d}.floor-toggle.led-toggle-active,.block-toggle.led-toggle-active,.floor-led-toggle.led-toggle-active,.block-led-toggle.led-toggle-active,.floor-toggle.active,.block-toggle.active{background:linear-gradient(145deg,#ffc83233,#ff960026);border-color:#ffb40099;color:#ffd93d;box-shadow:0 0 20px #ffc83266,0 0 40px #ff960033,0 4px 16px #ffc8324d,inset 0 1px 2px #fff3;animation:sunPulse 2s ease-in-out infinite}.floor-toggle.active .sun-icon,.block-toggle.active .sun-icon,.floor-toggle.led-toggle-active .sun-icon,.block-toggle.led-toggle-active .sun-icon{color:#ffd93d;filter:drop-shadow(0 0 8px rgba(255,200,50,.8))}.floor-toggle.active .sun-icon .sun-core,.block-toggle.active .sun-icon .sun-core,.floor-toggle.led-toggle-active .sun-icon .sun-core,.block-toggle.led-toggle-active .sun-icon .sun-core{animation:sunCorePulse 2s ease-in-out infinite}.floor-toggle.active .sun-icon .sun-rays,.block-toggle.active .sun-icon .sun-rays,.floor-toggle.led-toggle-active .sun-icon .sun-rays,.block-toggle.led-toggle-active .sun-icon .sun-rays{opacity:1;transform:scale(1);animation:sunRaysRotate 12s linear infinite}.floor-toggle.active .sun-icon .sun-rays line,.block-toggle.active .sun-icon .sun-rays line,.floor-toggle.led-toggle-active .sun-icon .sun-rays line,.block-toggle.led-toggle-active .sun-icon .sun-rays line{stroke:#ffc832e6;animation:sunRaysPulse 2s ease-in-out infinite}.floor-toggle.active .bulb-icon,.block-toggle.active .bulb-icon,.floor-toggle.led-toggle-active .bulb-icon,.block-toggle.led-toggle-active .bulb-icon{color:#ffd93d;filter:drop-shadow(0 0 8px rgba(255,200,50,.8))}.floor-toggle.active .bulb-icon .bulb-grad-start,.block-toggle.active .bulb-icon .bulb-grad-start,.floor-toggle.led-toggle-active .bulb-icon .bulb-grad-start,.block-toggle.led-toggle-active .bulb-icon .bulb-grad-start{stop-color:#ffe664f2}.floor-toggle.active .bulb-icon .bulb-grad-end,.block-toggle.active .bulb-icon .bulb-grad-end,.floor-toggle.led-toggle-active .bulb-icon .bulb-grad-end,.block-toggle.led-toggle-active .bulb-icon .bulb-grad-end{stop-color:#ffb432d9}.floor-toggle.active .bulb-icon .bulb-rays,.block-toggle.active .bulb-icon .bulb-rays,.floor-toggle.led-toggle-active .bulb-icon .bulb-rays,.block-toggle.led-toggle-active .bulb-icon .bulb-rays{opacity:1;transform:scale(1);animation:raysRotate 8s linear infinite}.floor-toggle.active .bulb-icon .bulb-rays line,.block-toggle.active .bulb-icon .bulb-rays line,.floor-toggle.led-toggle-active .bulb-icon .bulb-rays line,.block-toggle.led-toggle-active .bulb-icon .bulb-rays line{stroke:#ffc832e6}.floor-toggle.active .bulb-icon .bulb-filament,.block-toggle.active .bulb-icon .bulb-filament,.floor-toggle.led-toggle-active .bulb-icon .bulb-filament,.block-toggle.led-toggle-active .bulb-icon .bulb-filament{opacity:.8;fill:#ffe566}@keyframes sunPulse{0%,to{box-shadow:0 0 20px #ffc83266,0 0 40px #ff960033,0 4px 16px #ffc8324d,inset 0 1px 2px #fff3}50%{box-shadow:0 0 30px #ffc83299,0 0 60px #ff96004d,0 6px 24px #ffc83280,inset 0 1px 2px #ffffff4d}}@keyframes sunCorePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}@keyframes sunRaysRotate{0%{transform:scale(1) rotate(0)}to{transform:scale(1) rotate(360deg)}}@keyframes sunRaysPulse{0%,to{stroke-opacity:.7;stroke-width:2}50%{stroke-opacity:1;stroke-width:2.5}}@keyframes bulbPulse{0%,to{box-shadow:0 0 20px #ffc83266,0 0 40px #ff960033,0 4px 16px #ffc8324d,inset 0 1px 2px #fff3}50%{box-shadow:0 0 30px #ffc83299,0 0 60px #ff96004d,0 6px 24px #ffc83280,inset 0 1px 2px #ffffff4d}}@keyframes raysRotate{0%{transform:scale(1) rotate(0)}to{transform:scale(1) rotate(360deg)}}[data-theme=dark] .floor-toggle.led-toggle-active,[data-theme=dark] .block-toggle.led-toggle-active,[data-theme=dark] .floor-led-toggle.led-toggle-active,[data-theme=dark] .block-led-toggle.led-toggle-active,[data-theme=dark] .floor-toggle.active,[data-theme=dark] .block-toggle.active{background:linear-gradient(145deg,#ffc83240,#ff96002e);box-shadow:0 0 30px #ffc83280,0 0 60px #ff96004d,0 0 80px #ffc83233,0 4px 20px #ffc83266,inset 0 1px 2px #fff3}[data-theme=dark] .floor-toggle.active .sun-icon,[data-theme=dark] .block-toggle.active .sun-icon,[data-theme=dark] .floor-toggle.led-toggle-active .sun-icon,[data-theme=dark] .block-toggle.led-toggle-active .sun-icon,[data-theme=dark] .floor-toggle.active .bulb-icon,[data-theme=dark] .block-toggle.active .bulb-icon,[data-theme=dark] .floor-toggle.led-toggle-active .bulb-icon,[data-theme=dark] .block-toggle.led-toggle-active .bulb-icon{filter:drop-shadow(0 0 12px rgba(255,200,50,1)) drop-shadow(0 0 24px rgba(255,150,0,.6))}[data-theme=dark] .floor-toggle,[data-theme=dark] .block-toggle,[data-theme=dark] .floor-led-toggle,[data-theme=dark] .block-led-toggle{background:linear-gradient(145deg,#2d2d32f2,#1e1e23fa);border-color:#46465080;color:#8c8c96cc}[data-theme=dark] .floor-toggle:hover,[data-theme=dark] .block-toggle:hover,[data-theme=dark] .floor-led-toggle:hover,[data-theme=dark] .block-led-toggle:hover{background:linear-gradient(145deg,#37373cf2,#28282dfa);border-color:#00b4ff99;box-shadow:inset 0 2px 4px #0006,0 4px 20px #00b4ff40,0 0 30px #00b4ff26}:root .floor-toggle,:root .block-toggle{background:linear-gradient(145deg,#f5f5faf2,#e6e6f0e6);border-color:#b4b4c866;color:#646478cc;box-shadow:inset 0 2px 4px #fffc,inset 0 -1px 2px #0000000d,0 2px 8px #00000014}:root .floor-toggle:hover,:root .block-toggle:hover{background:linear-gradient(145deg,#fafafffa,#f0f0faf2);border-color:#007aff80;box-shadow:inset 0 2px 4px #ffffffe6,0 4px 16px #007aff26,0 0 20px #007aff14}:root .floor-toggle.active,:root .block-toggle.active,:root .floor-toggle.led-toggle-active,:root .block-toggle.led-toggle-active{background:linear-gradient(145deg,#fff5dcf2,#ffebc8e6);border-color:#ffb40080;box-shadow:0 0 15px #ffc8324d,0 0 30px #ff960026,0 4px 12px #ffc83233,inset 0 1px 2px #ffffff80}@media(max-width:768px){.floor-toggle,.block-toggle,.floor-led-toggle,.block-led-toggle{min-width:36px;min-height:36px;padding:5px 10px;font-size:.9rem}}.block-toggle-input:checked+.block-toggle-slider:before{transform:translate(20px)}.project-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,var(--ios-bg-secondary),var(--ios-bg-tertiary));border-bottom:1px solid rgba(0,0,0,.08)}.project-logo-wrapper{width:48px;height:48px;min-width:48px;border-radius:12px;overflow:hidden;background:#fffc;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center}.project-header-logo{width:100%;height:100%;object-fit:contain}.project-header-logo-placeholder{font-size:24px;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-secondary)}.project-header-info{flex:1;min-width:0}.project-header-name{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .project-header{background:linear-gradient(135deg,#1e1e23f2,#19191ef2);border-bottom-color:#ffffff14}[data-theme=dark] .project-logo-wrapper{background:#ffffff1a;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .project-header-logo-placeholder{color:#fff9}.blocks-tabs{display:flex;gap:8px;padding:12px;background:var(--ios-bg-secondary);border-bottom:1px solid rgba(0,0,0,.1);overflow-x:auto;-webkit-overflow-scrolling:touch}.block-tab{padding:10px 20px;border:none;background:#0000000d;border-radius:10px;font-size:.95rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.block-tab:hover{background:#0000001a}.block-tab.active{background:var(--primary-color);color:#fff}.blocks-content{display:flex;flex-direction:column}.block-content{display:none}.block-content.active{display:block}.block-section{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;margin-bottom:16px;overflow:hidden;transition:all .3s ease}.block-header{display:flex;align-items:center;gap:12px;padding:16px;background:#ffffff80;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease;overflow:hidden;width:100%;box-sizing:border-box}.block-header:hover{background:#ebebed99}.block-collapse-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);transition:transform .3s ease}.block-section.collapsed .block-collapse-btn .collapse-icon{transform:rotate(-90deg)}.block-label{font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0;flex:1}.block-title{font-weight:700;font-size:1.1rem;color:var(--text-primary);margin:0;flex:0 0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-stats{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.stat-item{padding:4px 8px;background:#0000000d;border-radius:8px;white-space:nowrap}.btn-quick{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin:0 4px}.btn-quick:hover{background:#0051d5;transform:translateY(-1px);box-shadow:0 4px 12px #007aff4d}.btn-quick:active{transform:translateY(0)}.btn-quick-toggle{width:100%;display:flex;align-items:center;gap:12px;padding:16px;background:var(--ios-bg-secondary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-quick-toggle .toggle-icon{font-size:1.5rem}.btn-quick-toggle .toggle-label{flex:1;text-align:left}.btn-quick-toggle .toggle-state{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:20px;background:#ff3b3026;color:#ff3b30}.btn-quick-toggle.active{background:#34c75926;border-color:#34c75980}.btn-quick-toggle.active .toggle-state{background:#34c75933;color:#34c759}.btn-quick-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-quick-toggle:active{transform:translateY(0)}[data-theme=dark] .btn-quick-toggle{background:#2c2c2ecc;border-color:#ffffff1a}[data-theme=dark] .btn-quick-toggle.active{background:#34c75933;border-color:#34c75966}.quick-control-item{display:flex;align-items:center;justify-content:space-between;padding:8px;background:transparent;border-radius:var(--radius-md);margin-bottom:8px}.quick-control-buttons{display:flex;gap:8px}.btn-quick-toggle .toggle-label small{font-size:.75rem;opacity:.7;font-weight:400}.no-types-message{text-align:center;color:var(--text-secondary);font-size:.9rem;padding:16px;opacity:.7}.apartment-types-section,.groups-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--ios-separator)}.apartment-types-section .section-title,.groups-section .section-title{margin:0 0 12px;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.floors-container{padding:0 12px 12px}.block-section.collapsed .floors-container{display:none}[data-theme=dark] .block-section{background:#2c2c2ed9;border-color:#ffffff26}[data-theme=dark] .block-header{background:#3a3a3c80}[data-theme=dark] .block-header:hover{background:#3a3a3cb3}[data-theme=dark] .stat-item{background:#ffffff0d}.floor-section{background:#fff6;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:12px;margin-bottom:12px;transition:all .2s ease;overflow:hidden;width:100%;box-sizing:border-box}.floor-section:hover{background:#fff9;border-color:#007aff33}.floor-section.has-floor-plan{border-left:3px solid rgba(52,199,89,.5)}.floor-section.has-floor-plan:hover{border-left-color:#34c759}[data-theme=dark] .floor-section.has-floor-plan{border-left-color:#34c75966}[data-theme=dark] .floor-section.has-floor-plan:hover{border-left-color:#34c759}.floor-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:8px;background:#ffffff4d;border-radius:10px;transition:background .2s ease}.floor-header:hover{background:#ebebedb3}.floor-collapse-btn{background:none;border:none;cursor:pointer;padding:4px;color:var(--text-secondary);transition:transform .3s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.floor-section.collapsed .floor-collapse-btn .collapse-icon{transform:rotate(-90deg)}.floor-section.collapsed .apartments-grid{display:none}.floor-label{font-weight:700;font-size:1rem;color:var(--text-primary);flex:1}.floor-name{font-weight:700;font-size:1rem;color:var(--text-primary);flex:0 0 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-badge{padding:4px 10px;background:#007aff1a;color:var(--primary-color);border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}[data-theme=dark] .floor-section{background:#2c2c2e99;border-color:#ffffff1a}[data-theme=dark] .floor-section:hover{background:#3a3a3cb3;border-color:#007aff4d}[data-theme=dark] .floor-header{background:#3a3a3c66}[data-theme=dark] .floor-header:hover{background:#3a3a3c99}[data-theme=dark] .floor-badge{background:#007aff26}[data-theme=dark] .floor-collapse-btn{color:#fff9}.apartments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;margin-top:8px}@media(max-width:768px){.apartments-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:6px}.block-header,.floor-header{padding:12px;gap:8px}.block-stats{flex-wrap:wrap;font-size:.75rem}.stat-item{padding:3px 6px}}.led-settings-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#000000b3,#1e1e3ccc);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}}.led-settings-modal.active{display:flex}.led-settings-content{background:linear-gradient(135deg,#fffffff2,#f0f5fff2);border-radius:24px;width:90%;max-width:520px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 90px #0006,0 0 1px #ffffff80 inset,0 0 80px #6496ff26;border:1px solid rgba(255,255,255,.3);animation:contentSlideUp .4s cubic-bezier(.34,1.56,.64,1)}@keyframes contentSlideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .led-settings-content{background:linear-gradient(135deg,#1c1c23fa,#232332fa);box-shadow:0 30px 90px #000000b3,0 0 1px #ffffff1a inset,0 0 80px #6496ff33}.led-settings-header{padding:24px 24px 20px;background:linear-gradient(135deg,#6496ff26,#9664ff1a);border-bottom:2px solid rgba(100,150,255,.2);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.led-settings-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:headerShine 3s infinite}@keyframes headerShine{0%{left:-100%}50%,to{left:200%}}[data-theme=dark] .led-settings-header{background:linear-gradient(135deg,#6496ff33,#9664ff26);border-bottom:2px solid rgba(100,150,255,.3)}.led-settings-header h3{margin:0;font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,#4a90ff,#9d5fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 10px rgba(100,150,255,.3);position:relative;z-index:1}.close-led-settings{background:#ffffff80;border:2px solid rgba(255,100,100,.3);font-size:1.4rem;cursor:pointer;color:#f44;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1;box-shadow:0 2px 10px #f443}[data-theme=dark] .close-led-settings{background:#32323ccc;border-color:#ff646466;color:#f66}.close-led-settings:hover{background:#ff444426;transform:rotate(90deg) scale(1.1);box-shadow:0 4px 20px #f446;border-color:#f449}[data-theme=dark] .close-led-settings:hover{background:#ff444440;box-shadow:0 4px 20px #ff444480}.close-led-settings:active{transform:rotate(90deg) scale(.95)}.led-settings-body{padding:20px;overflow-y:auto;flex:1}.led-settings-footer{padding:20px 24px;background:linear-gradient(135deg,#6496ff14,#9664ff0d);border-top:2px solid rgba(100,150,255,.15);display:flex;gap:12px;justify-content:flex-end;box-shadow:0 -5px 20px #0000000d}.led-settings-footer .btn-primary{background:linear-gradient(135deg,#4a90ff,#9d5fff);box-shadow:0 4px 15px #6496ff66;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.led-settings-footer .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #6496ff99}.led-settings-footer .btn-secondary{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.led-settings-footer .btn-secondary:hover{transform:translateY(-2px)}.facade-text-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10001;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#000000b3,#1e1e3ccc);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);animation:modalFadeIn .3s ease-out;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.facade-text-modal.active{display:flex}.facade-text-content{background:linear-gradient(135deg,#fffffff2,#f0f5fff2);border-radius:24px;width:92%;max-width:650px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 90px #0006,0 0 1px #ffffff80 inset,0 0 80px #6496ff26;border:1px solid rgba(255,255,255,.3);animation:contentSlideUp .4s cubic-bezier(.34,1.56,.64,1);margin:20px}[data-theme=dark] .facade-text-content{background:linear-gradient(135deg,#1c1c23fa,#232332fa);box-shadow:0 30px 90px #000000b3,0 0 1px #ffffff1a inset,0 0 80px #6496ff33}.facade-text-header{padding:24px 24px 20px;background:linear-gradient(135deg,#ff646426,#ff96321a);border-bottom:2px solid rgba(255,100,100,.2);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.facade-text-header h3{margin:0;font-size:1.35rem;font-weight:700;background:linear-gradient(135deg,#ff6b4a,#ffa726);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1}.close-facade-text{background:#ffffff80;border:2px solid rgba(255,100,100,.3);font-size:1.4rem;cursor:pointer;color:#f44;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.close-facade-text:hover{background:#ff444426;transform:rotate(90deg) scale(1.1)}.facade-text-body{padding:20px 24px;overflow-y:auto;flex:1}.facade-section{margin-bottom:24px;padding:16px;background:#6496ff0d;border-radius:12px;border:1px solid rgba(100,150,255,.1)}.facade-section h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--text-primary)}.facade-row{display:flex;gap:16px;flex-wrap:wrap}.facade-input-group{flex:1;min-width:120px}.facade-input-group.full-width{flex:100%;min-width:100%}.facade-input-group label{display:block;margin-bottom:6px;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.facade-input-group .form-input.small{width:100px}.facade-input-group select.form-input{width:100%;padding:10px 36px 10px 12px;border:2px solid rgba(100,150,255,.2);border-radius:8px;background:var(--ios-bg-secondary);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.facade-input-group select.form-input:hover{border-color:#6496ff66}.facade-input-group select.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff26}[data-theme=dark] .facade-input-group select.form-input{background-color:#32323ccc;border-color:#6496ff4d;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")}.facade-input-group .color-input{width:60px;height:40px;border:2px solid rgba(100,150,255,.2);border-radius:8px;cursor:pointer;padding:2px}.facade-hint{font-size:.8rem;color:var(--text-secondary);margin-bottom:12px;font-style:italic}.facade-matrix-controls{display:flex;gap:10px;margin-bottom:16px}.facade-matrix-grid{display:grid;gap:2px;max-height:200px;overflow:auto;padding:10px;background:#0000000d;border-radius:8px}[data-theme=dark] .facade-matrix-grid{background:#0000004d}.facade-matrix-grid input{width:36px;height:28px;text-align:center;border:1px solid rgba(100,150,255,.2);border-radius:4px;font-size:.75rem;background:var(--ios-bg-secondary);color:var(--text-primary)}.facade-matrix-grid input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #007aff33}.facade-preview{display:grid;gap:2px;padding:16px;background:#0a0a0a;border-radius:10px;justify-content:center;margin-bottom:12px;border:1px solid rgba(255,255,255,.08);overflow-x:auto}.facade-preview-pixel{width:12px;height:12px;border-radius:2px;background:#1a1a1a;transition:background-color .15s,box-shadow .15s}.facade-preview-pixel.active{border-radius:3px;transition:none}.facade-list-section{margin-bottom:0}.facade-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.facade-list-header h4{margin:0}.btn-sm{padding:8px 14px;font-size:.85rem;border-radius:8px}.facade-text-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.facade-list-empty{text-align:center;color:var(--text-secondary);padding:40px 20px;background:#6496ff0d;border-radius:12px;border:2px dashed rgba(100,150,255,.2)}.facade-list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#6496ff14;border-radius:12px;border:1px solid rgba(100,150,255,.15);transition:all .2s ease}.facade-list-item:hover{background:#6496ff1f;border-color:#6496ff4d}.facade-list-item.active{background:#2ecc7126;border-color:#2ecc7166}.facade-list-item-info{flex:1}.facade-list-item-name{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:4px}.facade-list-item-text{font-size:.85rem;color:var(--text-secondary)}.facade-list-item-actions{display:flex;gap:8px}.facade-list-item-actions button{padding:8px 12px;border-radius:8px;border:none;cursor:pointer;font-size:.85rem;transition:all .2s ease}.facade-list-item-actions .btn-play{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.facade-list-item-actions .btn-play:hover{transform:scale(1.05)}.facade-list-item-actions .btn-edit{background:#6496ff33;color:var(--text-primary)}.facade-list-item-actions .btn-edit:hover{background:#6496ff4d}.facade-edit-form{display:flex;flex-direction:column;gap:16px}.facade-form-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(100,150,255,.1)}.facade-form-header h4{margin:0;color:var(--text-primary)}.facade-form-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid rgba(100,150,255,.1);margin-top:8px}.facade-form-actions{display:flex;gap:10px}.facade-logo-upload{display:flex;gap:10px;margin-bottom:12px}.facade-logo-preview{position:relative;background:#111;border:2px dashed rgba(100,150,255,.3);border-radius:12px;min-height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:12px}.facade-logo-preview canvas{max-width:100%;max-height:200px;image-rendering:pixelated;display:none}.facade-logo-preview.has-image canvas{display:block}.facade-logo-preview.has-image .facade-logo-placeholder{display:none}.facade-logo-placeholder{color:var(--text-secondary);font-size:.9rem}.facade-logo-options{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.facade-logo-options .facade-input-group{flex:1;min-width:150px}.facade-logo-options .form-range{width:100%;margin-top:6px}.facade-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:var(--text-primary)}.facade-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color)}.facade-pixel-info{background:#6496ff1a;padding:12px 16px;border-radius:8px;text-align:center;color:var(--text-primary)}.facade-pixel-info span{font-weight:600;color:var(--primary-color)}.facade-text-footer{padding:16px 24px;background:linear-gradient(180deg,#6496ff0d,#6496ff1a);border-top:1px solid rgba(100,150,255,.1);display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.facade-scenario-controls,.facade-save-controls{display:flex;gap:10px}.facade-text-footer .btn-success{background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;color:#fff;padding:12px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.facade-text-footer .btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 25px #2ecc7166}.facade-text-footer .btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;color:#fff;padding:12px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.facade-text-footer .btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 25px #e74c3c66}.facade-text-footer .btn-primary{background:linear-gradient(135deg,#ff6b4a,#ffa726);border:none;color:#fff;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.facade-text-footer .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px #ff643266}.facade-text-footer .btn-secondary{background:#96969633;border:1px solid rgba(150,150,150,.3);color:var(--text-primary);padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.facade-text-footer .btn-secondary:hover{background:#9696964d;transform:translateY(-2px)}@media(max-width:768px){.facade-text-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;padding:0!important;z-index:10001!important}.facade-text-content{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;margin:0!important;display:flex!important;flex-direction:column!important}.facade-text-header{flex-shrink:0!important;padding:14px 16px!important;padding-top:calc(14px + env(safe-area-inset-top,0px))!important}.facade-text-header h3{font-size:1.05rem!important}.close-facade-text{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;font-size:1.2rem!important}.facade-text-body{flex:1 1 auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:14px!important;min-height:0!important}.facade-list-header{flex-direction:column;gap:10px;align-items:stretch}.facade-list-header h4{text-align:center}.facade-list-header .btn-success{width:100%}.facade-text-list{max-height:250px}.facade-list-item{flex-direction:column;gap:12px;align-items:stretch}.facade-list-item-actions{justify-content:flex-end;flex-shrink:0}.facade-list-item-actions button{width:auto!important;min-width:44px;padding:10px 14px}.facade-form-header{flex-direction:column;gap:10px}.facade-form-footer{flex-direction:column;gap:12px}.facade-form-footer .btn-danger{order:2}.facade-form-actions{width:100%;flex-direction:column}.facade-form-actions button{width:100%}.facade-section{margin-bottom:16px;padding:12px}.facade-section h4{font-size:.9rem;margin-bottom:12px}.facade-row{flex-direction:column;gap:12px}.facade-input-group{min-width:100%}.facade-input-group .form-input.small{width:100%}.facade-input-group .form-input{width:100%;padding:12px;font-size:16px}.facade-input-group select.form-input{padding:12px 36px 12px 12px;font-size:16px}.facade-input-group .color-input{width:100%;height:44px}.facade-matrix-controls{flex-direction:column;gap:8px}.facade-matrix-controls button{width:100%;padding:12px}.facade-matrix-grid{max-height:150px;padding:8px}.facade-matrix-grid input{width:32px;height:26px;font-size:.7rem}.facade-preview{padding:12px}.facade-preview-pixel{width:8px;height:8px}.facade-text-footer{flex-shrink:0!important;padding:12px 16px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;flex-direction:column!important;gap:8px!important;background:linear-gradient(135deg,#ff646414,#ff96320d)!important;border-top:1px solid rgba(255,100,100,.15)!important}.facade-scenario-controls,.facade-save-controls{width:100%;justify-content:stretch}.facade-text-footer .btn-primary,.facade-text-footer .btn-secondary,.facade-text-footer .btn-success,.facade-text-footer .btn-danger{width:100%!important;padding:14px!important;font-size:.95rem!important;min-height:48px!important;border-radius:10px!important}}@media(max-width:480px){.facade-text-header{padding:12px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important}.facade-text-header h3{font-size:.95rem!important}.close-facade-text{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:1.1rem!important}.facade-text-body{padding:10px!important}.facade-section{padding:10px!important;margin-bottom:12px!important}.facade-section h4{font-size:.85rem!important}.facade-text-footer{padding:10px 12px!important;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}.facade-text-footer .btn-primary,.facade-text-footer .btn-secondary,.facade-text-footer .btn-success,.facade-text-footer .btn-danger{padding:12px!important;font-size:.9rem!important;min-height:44px!important}}@media(min-width:769px)and (max-width:1024px){.facade-text-content{width:85%;max-width:600px;max-height:80vh}.facade-text-header{padding:20px 20px 16px}.facade-text-body{padding:18px 20px}}@media(max-width:480px){.facade-text-header h3{font-size:1rem}.facade-section h4{font-size:.85rem}.facade-hint{font-size:.75rem}.facade-matrix-grid{max-height:120px}.facade-matrix-grid input{width:28px;height:24px;font-size:.65rem}.facade-preview-pixel{width:6px;height:6px}}@media(max-width:768px){[data-theme=dark] .facade-text-content{border-radius:0}[data-theme=dark] .facade-section{background:#6496ff14}[data-theme=dark] .close-facade-text{background:#32323ce6}}@media(max-width:900px)and (orientation:landscape){.facade-text-content{max-height:95vh;max-height:95dvh;border-radius:16px;margin:10px;width:calc(100% - 20px);max-width:90%}.facade-text-header{padding:12px 16px}.facade-text-header h3{font-size:1rem}.facade-text-body{padding:12px 16px}.facade-section{margin-bottom:12px;padding:10px}.facade-section h4{margin-bottom:10px;font-size:.9rem}.facade-row{flex-direction:row;gap:12px}.facade-input-group{min-width:auto}.facade-matrix-grid{max-height:100px}.facade-text-footer{padding:10px 16px;flex-direction:row;justify-content:flex-end}.facade-text-footer .btn-primary,.facade-text-footer .btn-secondary{width:auto;padding:10px 20px}}.led-general-settings,.led-scenarios-section{margin-bottom:24px}.led-general-settings h4,.led-scenarios-section h4{font-size:1.1rem;margin-bottom:16px;font-weight:600}.led-scenarios-section>p{font-size:.9rem;color:var(--text-secondary);margin-bottom:15px;line-height:1.5}.brightness-control{margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#ffc8641a,#ff963214);border-radius:16px;border:2px solid rgba(255,200,100,.2);box-shadow:0 4px 15px #ffc8641a;transition:all .3s ease}[data-theme=dark] .brightness-control{background:linear-gradient(135deg,#ffc86426,#ff96321f);border-color:#ffc86440;box-shadow:0 4px 15px #ffc86426}.brightness-control:hover{box-shadow:0 6px 25px #ffc86433;transform:translateY(-2px)}.brightness-control label{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:12px;font-size:1.05rem}.brightness-control label #brightnessValue{background:linear-gradient(135deg,orange,#ff6b00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.3rem;font-weight:700;text-shadow:0 2px 10px rgba(255,150,0,.3)}.brightness-slider,.white-slider{width:100%;height:10px;border-radius:10px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,#64646433,#ffdc644d,#ffc83280);outline:none;transition:all .2s ease;box-shadow:0 2px 10px #0000001a inset,0 1px 3px #ffc8644d}.brightness-slider:hover,.white-slider:hover{box-shadow:0 2px 10px #0000001a inset,0 2px 15px #ffc86480}.brightness-slider::-webkit-slider-thumb,.white-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,orange,#ff6b00);cursor:pointer;box-shadow:0 3px 15px #ff960066,0 0 0 4px #ffffffe6,0 0 0 6px #ff960033;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.brightness-slider::-webkit-slider-thumb:hover,.white-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 4px 20px #ff960099,0 0 0 4px #ffffffe6,0 0 0 8px #ff96004d}.brightness-slider::-webkit-slider-thumb:active,.white-slider::-webkit-slider-thumb:active{transform:scale(1.1)}.brightness-slider::-moz-range-thumb,.white-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,orange,#ff6b00);cursor:pointer;border:4px solid rgba(255,255,255,.9);box-shadow:0 3px 15px #ff960066,0 0 0 2px #ff960033}.brightness-info{display:flex;justify-content:space-between;margin-top:8px;font-size:.85rem;color:var(--text-secondary)}.led-scenario-item{margin-bottom:20px;padding:20px;background:linear-gradient(135deg,#fffc,#f5faff99);border-radius:16px;border:2px solid rgba(150,180,255,.2);box-shadow:0 4px 15px #00000014,0 0 0 1px #ffffff80 inset;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.led-scenario-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6496ff00,#6496ff80,#6496ff00);opacity:0;transition:opacity .3s ease}.led-scenario-item:hover{background:linear-gradient(135deg,#fffffff2,#f0f8ffe6);transform:translateY(-3px);box-shadow:0 8px 30px #6496ff33,0 0 0 1px #fffc inset;border-color:#6496ff66}.led-scenario-item:hover:before{opacity:1}[data-theme=dark] .led-scenario-item{background:linear-gradient(135deg,#282832cc,#23283799);border-color:#6496ff33}[data-theme=dark] .led-scenario-item:hover{background:linear-gradient(135deg,#2d2d3ce6,#282d41cc)}.scenario-header{margin-bottom:12px}.scenario-label{display:flex;align-items:center;gap:10px}.scenario-name{font-weight:700;font-size:1.05rem;background:linear-gradient(135deg,#333,#555);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .scenario-name{background:linear-gradient(135deg,#e0e0e0,#f5f5f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.scenario-status{font-size:.8rem;font-weight:600;color:#6496ffe6;background:linear-gradient(135deg,#6496ff26,#9664ff1a);padding:5px 12px;border-radius:20px;border:1px solid rgba(100,150,255,.25);text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #6496ff26}.color-controls{display:flex;flex-direction:column;gap:12px}.color-picker-wrapper{display:flex;align-items:center;gap:15px}.color-picker{width:90px;height:90px;border:3px solid rgba(255,255,255,.9);border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px #0003,0 0 0 1px #0000000d,0 8px 30px #0000001a;position:relative}.color-picker:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:18px;background:linear-gradient(135deg,transparent 0%,transparent 100%);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:-1}.color-picker:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 25px #00000040,0 0 0 1px #0000000d,0 12px 40px #00000026,0 0 30px currentColor}.color-picker:hover:before{opacity:.5}.color-picker:active{transform:scale(1.05) rotate(5deg)}.color-picker-wrapper label{font-weight:500;cursor:pointer}[data-theme=dark] .color-picker-wrapper label{color:#ffffffe6}.white-channel-control{margin-bottom:10px}.white-channel-control label{display:block;font-weight:500;margin-bottom:5px}[data-theme=dark] .white-channel-control label{color:#ffffffe6}.color-preview{width:100%;height:60px;border-radius:12px;border:3px solid rgba(255,255,255,.9);transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px #00000026,0 0 0 1px #0000000d inset,0 8px 30px currentColor;position:relative;overflow:hidden}.color-preview:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:inherit;filter:blur(20px);opacity:.5;animation:ledPulse 2s ease-in-out infinite}@keyframes ledPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.6}}.color-preview:hover{transform:scale(1.03);box-shadow:0 6px 30px #0003,0 0 0 1px #0000000d inset,0 12px 50px currentColor}.led-test-btn{margin-top:8px;padding:8px 16px;background:linear-gradient(135deg,#4a90ff,#9d5fff);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px 12px #6496ff4d;display:flex;align-items:center;justify-content:center;gap:6px}.led-test-btn:hover{transform:translateY(-2px);box-shadow:0 5px 20px #6496ff80;background:linear-gradient(135deg,#5a9fff,#ad6fff)}.led-test-btn:active{transform:translateY(0);box-shadow:0 2px 8px #6496ff66}.led-test-btn.testing{animation:testingPulse 1s ease-in-out infinite}@keyframes testingPulse{0%,to{box-shadow:0 3px 12px #6496ff4d}50%{box-shadow:0 3px 25px #6496ffb3,0 0 30px #6496ff80}}.project-password-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:none;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.project-password-modal.active{display:flex}.project-password-content{background:var(--ios-bg-secondary);border-radius:16px;width:90%;max-width:400px;box-shadow:0 20px 60px #0000004d}.project-password-header{padding:20px;border-bottom:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center}.close-project-password{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease}.close-project-password:hover{background:#0000000d}.mobile-menu{position:fixed;top:12px;right:-100%;bottom:12px;width:min(320px,calc(100vw - 24px));background:var(--menu-bg, rgba(28, 28, 30, .95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:9999;transition:right .4s cubic-bezier(.32,.72,0,1);overflow:hidden;box-shadow:-8px 0 40px #0006,0 0 0 1px #ffffff14;display:flex;flex-direction:column;border-radius:24px;margin-right:12px}.mobile-menu.active{right:0}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .4s ease}.menu-backdrop.active{opacity:1;pointer-events:auto}.menu-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--menu-header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--menu-card-border);z-index:10;border-radius:24px 24px 0 0}.menu-header-left{display:flex;align-items:center;gap:8px}.menu-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.close-menu{background:#ff3b30!important;border:none!important;color:#fff!important;cursor:pointer;padding:0;width:40px;height:40px;min-width:40px;min-height:40px;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;transition:all .2s ease;box-shadow:0 2px 8px #ff3b3066!important;opacity:1!important;visibility:visible!important}.close-menu:hover{background:#ff5043!important;transform:scale(1.1);box-shadow:0 4px 12px #ff3b3080!important}.close-menu:active{transform:scale(.95)}.close-menu span{color:#fff!important;font-size:20px!important;font-weight:700!important;line-height:1!important;display:block!important;visibility:visible!important;opacity:1!important}.close-menu svg{width:20px;height:20px;stroke:#fff!important}[data-theme=dark] .close-menu{background:#f44!important;box-shadow:0 2px 12px #ff444480!important}@media(max-width:768px){.menu-header .close-menu,#closeMobileMenu,.close-menu{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;background:#ff3b30!important;border:none!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important;box-shadow:0 2px 8px #ff3b3066!important;color:#fff!important;font-size:24px!important;font-weight:700!important;line-height:1!important}.menu-header .close-menu span,#closeMobileMenu span,.close-menu span{color:#fff!important;font-size:24px!important;font-weight:700!important;line-height:1!important}[data-theme=dark] .menu-header .close-menu,[data-theme=dark] #closeMobileMenu,[data-theme=dark] .close-menu{background:#f44!important;box-shadow:0 2px 12px #ff444480!important;color:#fff!important}}.menu-header .connection-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--menu-card-bg);border-radius:20px;font-size:.75rem}.menu-header .connection-dot{width:8px;height:8px;border-radius:50%;background:var(--warning-color);animation:pulse 2s infinite}.menu-header .connection-badge.connected .connection-dot{background:var(--success-color)}.menu-header .connection-text{font-weight:600;color:var(--text-secondary)}:root:not([data-theme=dark]) .menu-header .connection-text{color:#666}[data-theme=dark] .menu-header .connection-text{color:#aeaeb2}.menu-items{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0 calc(env(safe-area-inset-bottom,20px) + 8px);-webkit-overflow-scrolling:touch}.menu-section{padding:8px 16px}.menu-section-title{display:flex;align-items:center;gap:8px;padding:8px 4px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px;opacity:.9}:root:not([data-theme=dark]) .menu-section-title{color:#666;opacity:1;font-weight:700}[data-theme=dark] .menu-section-title{color:#98989d;opacity:1}.section-icon{font-size:1rem}.theme-switcher{display:flex;flex-direction:column;gap:8px}.theme-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--menu-card-bg);border:2px solid transparent;border-radius:16px;color:var(--text-primary);cursor:pointer;transition:all .25s ease;text-align:left;width:100%}.theme-btn:hover{background:var(--menu-card-hover);transform:translate(4px)}.theme-btn:active{transform:scale(.98)}.theme-btn.active{background:linear-gradient(135deg,var(--primary-color) 0%,#5856D6 100%);border-color:transparent;box-shadow:0 4px 16px #007aff4d}.theme-btn.active .theme-btn-title,.theme-btn.active .theme-btn-desc{color:#fff!important}.theme-btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--ios-bg-tertiary);border-radius:12px}.theme-btn.active .theme-btn-icon{background:#fff3}.theme-btn-content{flex:1;display:flex;flex-direction:column;gap:2px}.theme-btn-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}:root:not([data-theme=dark]) .theme-btn-title{color:#000}[data-theme=dark] .theme-btn-title{color:#fff}.theme-btn-desc{font-size:.8rem;color:var(--text-secondary)}:root:not([data-theme=dark]) .theme-btn-desc{color:#666}[data-theme=dark] .theme-btn-desc{color:#aeaeb2}.theme-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--menu-card-border);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-btn.active .theme-check{background:#fff;border-color:#fff}.theme-btn.active .theme-check:after{content:"✓";color:var(--primary-color);font-size:.8rem;font-weight:700}.menu-card-group{display:flex;flex-direction:column;gap:6px;background:var(--menu-card-bg);border-radius:16px;overflow:hidden}.menu-card-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:all .2s ease;text-align:left;width:100%;position:relative}.menu-card-item:not(:last-child):after{content:"";position:absolute;left:62px;right:16px;bottom:0;height:1px;background:var(--menu-card-border)}.menu-card-item:hover{background:var(--menu-card-hover)}.menu-card-item:active{background:var(--ios-active)}.menu-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--ios-bg-tertiary);border-radius:10px;flex-shrink:0}.menu-card-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.menu-card-title{font-size:.95rem;font-weight:500;color:var(--text-primary)}.menu-card-desc{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root:not([data-theme=dark]) .menu-card-desc{color:#666}[data-theme=dark] .menu-card-desc{color:#aeaeb2}.menu-card-arrow{font-size:1.4rem;color:var(--text-tertiary);font-weight:300;transition:transform .2s ease}.menu-card-item:hover .menu-card-arrow{transform:translate(4px)}.menu-card-danger .menu-card-title{color:var(--danger-color)}.menu-card-danger .menu-card-icon{background:#ff3b301f}.menu-card-danger:hover{background:#ff3b3014}.menu-time-card{background:var(--menu-card-bg);border-radius:16px;padding:16px;overflow:hidden}.menu-time-display{display:flex;align-items:center;gap:14px}.menu-time-icon-wrapper{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color),#5856D6);border-radius:14px;box-shadow:0 4px 12px #007aff4d}.menu-time-icon{font-size:1.5rem}.menu-time-info{flex:1;display:flex;flex-direction:column;gap:2px}.menu-time-value{font-size:1.1rem;font-weight:600;color:var(--text-primary);font-family:SF Mono,Monaco,monospace}.menu-time-date{font-size:.85rem;color:var(--text-secondary);font-family:SF Mono,Monaco,monospace}:root:not([data-theme=dark]) .menu-time-date{color:#666}[data-theme=dark] .menu-time-date{color:#aeaeb2}.menu-source-badge{padding:4px 8px;background:var(--primary-color);color:#fff;font-size:.7rem;font-weight:600;border-radius:4px}.menu-time-input{width:100%;padding:8px;border:1px solid var(--ios-separator);border-radius:6px;background:var(--ios-bg-primary);color:var(--text-primary);font-size:.9rem}.menu-time-form-btns{display:flex;gap:8px;margin-top:8px}.menu-time-save,.menu-time-cancel{flex:1;padding:8px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.menu-time-save{background:var(--primary-color);color:#fff}.menu-time-cancel{background:var(--ios-bg-tertiary);color:var(--text-primary)}.menu-time-inputs{display:flex;gap:8px;margin-top:12px}.menu-manual-time-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--menu-card-border)}.menu-section-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--menu-card-border)}.menu-about-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:var(--menu-card-bg);border:none;border-radius:12px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.9rem}.menu-about-btn:hover{background:var(--menu-card-hover)}.menu-about-icon{font-size:1rem}.menu-about-text{font-weight:500}.menu-version{text-align:center;font-size:.75rem;color:var(--text-tertiary);margin-top:12px;padding-bottom:8px}.time-label{font-size:.75rem;color:var(--text-tertiary);margin-bottom:4px;display:block}.time-value{font-size:1.1rem;font-weight:600;color:var(--primary-color);font-family:SF Mono,Monaco,monospace}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:8998;opacity:0;pointer-events:none;transition:opacity .3s ease}.panel-backdrop.visible{opacity:1;pointer-events:auto}.mobile-quick-controls{position:fixed;bottom:-100%;left:0;right:0;max-height:70vh;min-height:300px;background:var(--ios-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -4px 24px #00000040;z-index:9999;transition:bottom .3s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column}.mobile-quick-controls.open{bottom:var(--bottom-nav-height, 60px)}.quick-controls-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--ios-bg-secondary);border-bottom:1px solid var(--ios-separator)}.quick-controls-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.close-quick-controls{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.close-quick-controls:hover{background:var(--ios-hover);transform:scale(1.1)}.quick-controls-content{flex:1;overflow-y:auto;padding:16px}.status-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.quick-controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px}.quick-control-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;min-height:100px}.quick-control-btn:hover{background:var(--ios-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quick-control-btn:active{transform:translateY(0)}.quick-control-btn .status-icon{font-size:2rem}.quick-control-btn .status-label{font-size:.9rem;font-weight:600;color:var(--text-primary);text-align:center}.quick-control-btn .status-count{font-size:1.1rem;font-weight:700;color:var(--primary-color)}.section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin:20px 0 12px}.relays-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--ios-separator)}.relay-buttons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.relay-buttons-grid .btn-quick-toggle,.relay-buttons-grid .relay-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 10px;background:var(--ios-bg-secondary);border:1px solid var(--ios-separator);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;min-height:80px}.relay-buttons-grid .btn-quick-toggle:hover,.relay-buttons-grid .relay-btn:hover{background:var(--ios-hover);transform:translateY(-1px)}.relay-buttons-grid .btn-quick-toggle.active,.relay-buttons-grid .relay-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:var(--primary-color);color:#fff;box-shadow:0 4px 20px #007aff66,0 0 30px #007aff33}.relay-buttons-grid .btn-quick-toggle.active .toggle-state,.relay-buttons-grid .relay-btn.active .toggle-state{color:#ffffffe6}@keyframes relayGlowPulse{0%{box-shadow:0 4px 20px #007aff66,0 0 30px #007aff33;transform:scale(1)}50%{box-shadow:0 6px 30px #007aff99,0 0 50px #007aff66,0 0 80px #007aff33;transform:scale(1.02)}to{box-shadow:0 4px 20px #007aff66,0 0 30px #007aff33;transform:scale(1)}}.btn-quick-toggle.glow-pulse,.relay-btn.glow-pulse{animation:relayGlowPulse .5s ease-in-out}.btn-quick-toggle.relay-btn.active,.relay-btn.active{background:linear-gradient(135deg,#34c759e6,#2ecc71d9);border-color:#34c759cc;box-shadow:0 4px 20px #34c75966,0 0 30px #34c75933}[data-theme=dark] .btn-quick-toggle.relay-btn.active,[data-theme=dark] .relay-btn.active{background:linear-gradient(135deg,#34c759cc,#2ecc71b3);border-color:#34c759e6;box-shadow:0 6px 30px #34c75980,0 0 50px #34c7594d}.no-relays{text-align:center;color:var(--text-tertiary);padding:20px;font-size:.9rem}.mobile-status-panel{position:fixed;bottom:0;left:12px;right:12px;max-height:80vh;background:var(--ios-bg-primary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -4px 24px #00000040;z-index:8999;transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;transform:translateY(100%);visibility:hidden}.mobile-status-panel.open{transform:translateY(0);visibility:visible}.status-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--ios-bg-secondary);border-bottom:1px solid var(--ios-separator)}.status-panel-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.status-panel-actions{display:flex;gap:8px;align-items:center}.status-action-btn{background:none;border:none;font-size:1.2rem;color:var(--text-secondary);cursor:pointer;padding:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.status-action-btn:hover{background:var(--ios-hover)}.close-status-panel{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;margin-left:8px}.close-status-panel:hover{background:var(--ios-hover);transform:scale(1.1)}.status-panel-content{flex:1;overflow-y:auto;padding:16px}.status-overview-section{margin-bottom:20px}.status-donut-container{display:flex;align-items:center;gap:24px;padding:16px;background:var(--ios-bg-secondary);border-radius:var(--radius-lg)}@media(max-width:480px){.status-donut-container{flex-direction:column;text-align:center}}.status-donut-chart{position:relative;width:140px;height:140px;flex-shrink:0}.donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-ring{fill:none;stroke:var(--ios-separator);stroke-width:8}.donut-segment{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .5s ease,stroke-dashoffset .5s ease}.donut-normal{stroke:#34c759}.donut-sold{stroke:#ff3b30}.donut-optional{stroke:#ff9500}.donut-off{stroke:#8e8e93}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-total{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.donut-label{font-size:.75rem;color:var(--text-secondary);margin-top:4px}.status-legend{display:flex;flex-direction:column;gap:10px;flex:1}.legend-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--ios-bg-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.legend-item:hover{background:var(--ios-hover);transform:translate(4px)}.legend-item.active{box-shadow:0 0 0 2px var(--primary-color)}.legend-color{width:14px;height:14px;border-radius:50%;flex-shrink:0}.legend-normal .legend-color{background:#34c759}.legend-sold .legend-color{background:#ff3b30}.legend-optional .legend-color{background:#ff9500}.legend-off .legend-color{background:#8e8e93}.legend-text{flex:1;font-size:.9rem;color:var(--text-primary)}.legend-value{font-size:1rem;font-weight:700;color:var(--text-primary);min-width:24px;text-align:right}.legend-percent{font-size:.8rem;color:var(--text-secondary);min-width:40px;text-align:right}.status-led-section{margin-bottom:20px;background:linear-gradient(145deg,#ffcc0014,#ffffff08);border-radius:var(--radius-lg);padding:16px;border:1px solid rgba(255,204,0,.2)}.status-led-section .section-subtitle{margin-bottom:16px;color:#fc0;border-bottom-color:#ffcc004d}.led-status-overview{display:flex;flex-direction:column;gap:16px}.led-status-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.led-stat{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--ios-bg-secondary);border-radius:var(--radius-md);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.led-stat:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.led-stat-icon{font-size:1.5rem;margin-bottom:6px}.led-stat-info{display:flex;flex-direction:column;gap:2px}.led-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.led-stat-label{font-size:.75rem;color:var(--text-secondary)}.led-stat-label small{color:var(--text-tertiary);font-size:.65rem}.led-stat-on .led-stat-value{color:#fc0;text-shadow:0 0 8px rgba(255,204,0,.5)}.led-stat-off .led-stat-value{color:#666}.led-progress-bar{display:flex;height:8px;background:var(--ios-separator);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.led-progress-on{background:linear-gradient(90deg,#fc0,gold);box-shadow:0 0 8px #ffcc0080;transition:width .4s ease}.led-progress-off{background:#444;transition:width .4s ease}.led-by-status{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--ios-bg-secondary);border-radius:var(--radius-md)}.led-status-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--ios-separator)}.led-status-row:last-child{border-bottom:none}.led-status-label{font-size:.85rem;font-weight:500}.led-status-label.normal-label{color:var(--normal-color, #fff)}.led-status-label.sold-label{color:var(--sold-color, #ff4444)}.led-status-label.optional-label{color:var(--optional-color, #00ff00)}.led-status-label.off-label{color:var(--off-color, #ff00ff)}.led-status-counts{font-size:.85rem;color:var(--text-secondary)}.led-on-count{color:#fc0;font-weight:600}.led-off-count{color:#666}.status-financial-section{margin-bottom:20px}.section-subtitle{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--ios-separator)}.financial-metrics{display:flex;flex-direction:column;gap:12px}.metric-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ios-bg-secondary);border-radius:var(--radius-lg)}.metric-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ios-bg-primary);border-radius:var(--radius-md)}.metric-info{flex:1}.metric-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.metric-label{font-size:.8rem;color:var(--text-secondary)}.metric-bar{width:80px;height:6px;background:var(--ios-separator);border-radius:3px;overflow:hidden}.metric-bar-fill{height:100%;background:#ff3b30;border-radius:3px;transition:width .5s ease}.metric-bar-fill.option-fill{background:#ff9500}.metric-bar-fill.available-fill{background:#34c759}.status-blocks-section{margin-bottom:20px}.blocks-summary{display:flex;flex-direction:column;gap:10px}.block-summary-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--ios-bg-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.block-summary-card:hover{background:var(--ios-hover)}.block-summary-icon{font-size:1.3rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;border-radius:var(--radius-md)}.block-summary-info{flex:1}.block-summary-name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.block-summary-stats{font-size:.8rem;color:var(--text-secondary);display:flex;gap:8px;margin-top:2px}.block-summary-stats span{display:flex;align-items:center;gap:3px}.block-summary-mini-dots{display:flex;gap:4px}.mini-dot{width:8px;height:8px;border-radius:50%}.mini-dot.dot-normal{background:#34c759}.mini-dot.dot-sold{background:#ff3b30}.mini-dot.dot-optional{background:#ff9500}.mini-dot.dot-off{background:#8e8e93}.status-activity-section{margin-bottom:20px}.activity-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--ios-bg-secondary);border-radius:var(--radius-md)}.activity-icon{font-size:1rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--ios-bg-primary);border-radius:50%}.activity-info{flex:1}.activity-text{font-size:.85rem;color:var(--text-primary)}.activity-time{font-size:.75rem;color:var(--text-secondary)}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--text-secondary);text-align:center}.activity-empty span{font-size:2rem;margin-bottom:8px}.activity-empty p{margin:0;font-size:.9rem}.status-apartments-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9100;display:flex;align-items:center;justify-content:center;padding:20px}.status-apartments-modal-inner{background:var(--ios-bg-primary);border-radius:var(--radius-xl);max-width:500px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.status-apartments-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--ios-separator)}.status-apartments-header h4{margin:0;font-size:1.1rem;font-weight:600}.close-status-apartments{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.close-status-apartments:hover{background:var(--ios-hover)}.status-apartments-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.status-apartment-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--ios-bg-secondary);border-radius:var(--radius-md);cursor:default;transition:all .2s ease}.status-apartment-name{font-size:.95rem;font-weight:500;color:var(--text-primary)}.status-apartment-location{font-size:.8rem;color:var(--text-secondary)}.status-apartment-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.status-apartment-badge.badge-normal{background:#34c75926;color:#34c759}.status-apartment-badge.badge-sold{background:#ff3b3026;color:#ff3b30}.status-apartment-badge.badge-optional{background:#ff950026;color:#ff9500}.status-apartment-badge.badge-off{background:#8e8e9326;color:#8e8e93}.feature-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9000;display:none;align-items:center;justify-content:center;padding:20px}.feature-modal.active{display:flex}.feature-modal-content{background:var(--ios-bg-primary);border-radius:var(--radius-xl);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.feature-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--ios-separator)}.feature-modal-header h3{margin:0;font-size:1.3rem;font-weight:600;color:var(--text-primary)}.close-feature-modal{background:none;border:none;font-size:1.8rem;color:var(--text-secondary);cursor:pointer;padding:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.close-feature-modal:hover{background:var(--ios-hover);transform:scale(1.1)}.feature-modal-body{flex:1;overflow-y:auto;padding:20px 24px}.about-content{text-align:center;padding:10px 0}.about-logo{margin-bottom:24px;display:flex;flex-direction:column;align-items:center;justify-content:center}.about-logo-img{width:300px;height:auto;margin-bottom:16px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));transition:transform .3s ease}.about-logo-img:hover{transform:scale(1.05)}.about-title{font-size:1.8rem;font-weight:800;margin:0 0 4px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-subtitle{font-size:1rem;color:var(--text-secondary);margin:0;font-weight:500}@media(max-width:480px){.about-logo-img{width:200px;margin-bottom:12px}.about-title{font-size:1.5rem}.about-subtitle{font-size:.9rem}}.feature-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.feature-modal-footer .btn-secondary,.feature-modal-footer .btn-primary{padding:10px 20px;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease}.feature-modal-footer .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.feature-modal-footer .btn-secondary:hover{background:var(--bg-secondary)}.feature-modal-footer .btn-primary{background:var(--primary-color);color:#fff;border:none}.feature-modal-footer .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-small{padding:6px 12px;font-size:.85em;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.btn-small:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.feature-list{display:flex;flex-direction:column;gap:12px}.relay-controls{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.relay-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.relay-header h3{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0}.relay-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.relay-control-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.relay-control-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.relay-control-btn:active{transform:translateY(0)}.relay-control-btn.relay-on{background:linear-gradient(135deg,#34c7591a,#34c7590d);border-color:var(--success-color)}.relay-control-btn.relay-off{background:var(--bg-primary);border-color:var(--border-color)}.relay-icon{font-size:2rem;line-height:1}.relay-label{font-size:.95rem;font-weight:600;color:var(--text-primary);text-align:center}.relay-state{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:4px 12px;border-radius:12px;background:var(--bg-tertiary);color:var(--text-secondary)}.relay-control-btn.relay-on .relay-state{background:var(--success-color);color:#fff}.relay-bulk-controls{display:flex;gap:12px;padding-top:12px;border-top:1px solid var(--border-color)}.relay-bulk-btn{flex:1;padding:12px 20px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-base)}.relay-bulk-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.relay-bulk-btn.all-on{border-color:var(--success-color);color:var(--success-color)}.relay-bulk-btn.all-on:hover{background:#34c7591a}.relay-bulk-btn.all-off{border-color:var(--danger-color);color:var(--danger-color)}.relay-bulk-btn.all-off:hover{background:#ff3b301a}.light-indicator{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--text-secondary);font-weight:600}.light-on-count{color:var(--success-color);font-weight:700}.light-total{color:var(--text-tertiary)}.status-btn{display:flex;flex-direction:column;gap:8px;align-items:center}.status-btn.status-normal{background:linear-gradient(135deg,#ffffff1a,#c8c8c80d);border-color:#ccc}.status-btn.status-optional{background:linear-gradient(135deg,#34c7591a,#34c7590d);border-color:var(--success-color)}.status-btn.status-sold{background:linear-gradient(135deg,#ff3b301a,#ff3b300d);border-color:var(--danger-color)}.status-btn.status-off{background:linear-gradient(135deg,#0000001a,#0000000d);border-color:var(--text-tertiary);opacity:.7}.block-stats,.floor-stats{display:flex;align-items:center;gap:12px;font-size:.85rem;color:var(--text-secondary)}.stat-item{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:6px;font-weight:500}.stat-floors:before{content:"🏢";font-size:1rem}.stat-apartments:before{content:"🏠";font-size:1rem}.stat-lights:before{content:"💡";font-size:1rem}.block-label,.floor-label{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0}.block-collapse-btn,.floor-collapse-btn{background:none;border:none;padding:8px;cursor:pointer;color:var(--text-secondary);transition:all .3s ease}.block-collapse-btn:hover,.floor-collapse-btn:hover{color:var(--primary-color);transform:scale(1.1)}.floors-container{display:flex;flex-direction:column;gap:12px;margin-top:16px}.all-lights-control{margin-top:16px;padding-top:16px;border-top:2px solid var(--border-color)}.all-lights-btn{width:100%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:none;color:#fff}.all-lights-btn:hover{box-shadow:0 4px 20px #007aff4d}.all-lights-btn .btn-label{font-size:1.1rem;font-weight:700}[data-theme=dark] .relay-controls{background:var(--ios-bg-secondary);border-color:var(--border-color)}[data-theme=dark] .relay-control-btn{background:var(--ios-bg-primary);border-color:var(--border-color)}[data-theme=dark] .relay-control-btn.relay-on{background:linear-gradient(135deg,#34c75933,#34c7591a)}[data-theme=dark] .stat-item{background:var(--ios-bg-tertiary)}[data-theme=dark] .relay-bulk-btn{background:var(--ios-bg-secondary)}@media(max-width:768px){.relay-buttons{grid-template-columns:repeat(2,1fr)}.relay-bulk-controls{flex-direction:column}.block-stats,.floor-stats{flex-wrap:wrap;gap:6px}}.mobile-quick-controls{position:fixed;inset:auto 0 var(--bottom-nav-height) 0;margin:0 auto;max-width:650px;width:98%;max-height:90vh;display:flex;flex-direction:column;background:#fffffffa;backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);box-shadow:0 25px 80px #00000040;border-radius:24px;transform:translateY(120%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s ease,opacity .3s ease,visibility .3s ease;z-index:10002;border:2px solid rgba(0,0,0,.15);overflow:hidden}[data-theme=dark] .mobile-quick-controls{background:#1c1c1efa;box-shadow:0 25px 80px #0009;border:2px solid rgba(255,255,255,.2)}.mobile-quick-controls.active{display:flex!important;transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.quick-controls-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;flex-shrink:0;border-bottom:2px solid rgba(0,0,0,.1)}[data-theme=dark] .quick-controls-header{border-bottom:1px solid rgba(255,255,255,.1)}.quick-controls-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.close-quick-controls{border:none;background:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all var(--transition-base)}.close-quick-controls:hover{background:#0000000d}.quick-controls-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 20px 20px;-webkit-overflow-scrolling:touch}.quick-controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-control-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;background:linear-gradient(135deg,#fffffffa,#fafafceb);backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);border:1.5px solid rgba(255,255,255,.6);border-radius:18px;box-shadow:0 8px 24px #0000001a,0 4px 12px #0000000f,inset 0 1px #fffc,inset 0 -1px #0000000d;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);gap:6px;min-height:85px;position:relative;overflow:hidden}.quick-control-btn:active{transform:scale(.95);transition:transform .15s ease-out}[data-theme=dark] .quick-control-btn{background:linear-gradient(135deg,#1c1c1efa,#2c2c2eeb);border:1.5px solid rgba(255,255,255,.2);box-shadow:0 8px 24px #00000080,0 4px 12px #0006,inset 0 1px #ffffff26,inset 0 -1px #0000004d}[data-theme=dark] .quick-control-btn .control-text{color:var(--text-primary)}[data-theme=dark] .quick-control-btn .control-count{background:#ffffff1f;color:var(--text-secondary)}.quick-control-btn.quick-control-active{background:linear-gradient(135deg,#007aff26,#007aff14);border-color:#007aff80;box-shadow:0 8px 24px #007aff33,0 4px 12px #007aff26,inset 0 1px #ffffffe6,0 0 30px #007aff4d}[data-theme=dark] .quick-control-btn.quick-control-active{background:linear-gradient(135deg,#007aff4d,#007aff33);border-color:#007affb3;box-shadow:0 8px 24px #007aff66,0 4px 12px #007aff4d,inset 0 1px #ffffff4d,0 0 40px #007aff99,0 0 80px #007aff4d}.quick-control-btn.quick-control-active:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,122,255,.2) 0%,transparent 70%);animation:pulseGlow 3s ease-in-out infinite;pointer-events:none}[data-theme=dark] .quick-control-btn.quick-control-active:before{background:radial-gradient(circle,rgba(0,122,255,.5) 0%,rgba(0,122,255,.2) 50%,transparent 70%)}@keyframes pulseGlow{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:.6;transform:scale(1)}}.quick-control-btn.quick-control-active .control-icon{filter:drop-shadow(0 0 8px rgba(0,122,255,.6)) drop-shadow(0 0 16px rgba(0,122,255,.3));animation:iconGlow 2s ease-in-out infinite}[data-theme=dark] .quick-control-btn.quick-control-active .control-icon{filter:drop-shadow(0 0 12px rgba(0,122,255,.8)) drop-shadow(0 0 24px rgba(0,122,255,.5)) drop-shadow(0 0 36px rgba(0,122,255,.3))}@keyframes iconGlow{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.quick-control-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 24px #0000001f,0 3px 12px #00000014,inset 0 1px #ffffffb3;border-color:#007aff4d}.quick-control-btn:active{transform:translateY(0) scale(.98)}.control-icon{font-size:1.5rem;line-height:1;margin-bottom:2px}.control-text{font-size:.85rem;font-weight:700;color:var(--text-primary);text-align:center;line-height:1.2}.control-count{font-size:.7rem;color:var(--text-secondary);margin-top:2px;padding:2px 8px;background:#0000000d;border-radius:8px}.edit-mode-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-lg);text-align:center}.edit-mode-header h3{margin:0 0 12px;font-size:1.5rem;font-weight:700}.edit-mode-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.change-password-btn,.led-settings-btn,.facade-text-btn,.edit-bg-header-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.change-password-btn:hover,.led-settings-btn:hover,.facade-text-btn:hover,.edit-bg-header-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.change-password-btn:active,.led-settings-btn:active,.facade-text-btn:active,.edit-bg-header-btn:active{transform:translateY(0)}@media(max-width:480px){.edit-mode-buttons{flex-direction:column;gap:8px}.change-password-btn,.led-settings-btn,.facade-text-btn,.edit-bg-header-btn{width:100%;justify-content:center;padding:12px 16px}}.bg-block-select-grid{display:flex;flex-direction:column;gap:8px}.bg-block-select-btn{width:100%;padding:14px 16px;border:1.5px solid var(--ios-border, #ddd);border-radius:var(--radius-md, 8px);background:var(--ios-bg-secondary, #f9f9f9);color:var(--ios-text-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;text-align:left}.bg-block-select-btn:hover{background:rgba(var(--primary-rgb, 0, 122, 255),.08);border-color:var(--primary-color, #007AFF);color:var(--primary-color, #007AFF)}.edit-mode-header p{margin:0;font-size:.9rem;opacity:.9}.edit-mode-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px!important;min-height:100px;min-width:120px}.edit-mode-card .apt-info{display:flex;flex-direction:column;gap:4px}.edit-mode-card .apt-name{font-weight:600;font-size:.9rem}.edit-mode-card .apt-type{font-size:.75rem;opacity:.7}.apt-type-input{width:100%;padding:4px 8px;border-radius:6px;border:1px solid var(--border-color);background:var(--ios-bg-secondary);color:var(--text-primary);font-size:.75rem;font-weight:500;text-align:center;transition:all .2s ease}.apt-type-input:hover{border-color:var(--primary-color)}.apt-type-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #007aff33}.apt-type-input::placeholder{color:var(--text-tertiary);font-size:.7rem}.status-dropdown{width:100%;padding:6px 28px 6px 10px;border-radius:8px;border:2px solid var(--border-color);background:var(--ios-bg-secondary);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;z-index:5;touch-action:manipulation;pointer-events:auto;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.status-dropdown:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff1a}.status-dropdown:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #007aff33}.apartment-normal .status-dropdown{border-color:#34c759}.apartment-sold .status-dropdown{border-color:#ff3b30}.apartment-optional .status-dropdown{border-color:#ff9500}.apartment-off .status-dropdown{border-color:#8e8e93}.led-mapping-editor{width:100%;margin:2px 0}.led-mapping-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;background:rgba(var(--primary-rgb,0,122,255),.1);border:1px solid rgba(var(--primary-rgb,0,122,255),.25);color:var(--primary-color,#007AFF);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;box-sizing:border-box;justify-content:center;word-break:break-all;line-height:1.3}.led-mapping-badge:hover{background:rgba(var(--primary-rgb,0,122,255),.2);border-color:var(--primary-color,#007AFF);transform:scale(1.02)}.led-inline-edit-wrap{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.led-inline-input{grid-column:1/-1;padding:6px 8px;border-radius:6px;border:2px solid var(--primary-color,#007AFF);background:var(--ios-bg-secondary,#f9f9f9);color:var(--text-primary);font-size:.8rem;font-weight:600;text-align:center;outline:none;box-sizing:border-box;transition:border-color .2s;width:100%}.led-inline-input:focus{border-color:#34c759;box-shadow:0 0 0 3px #34c75933}.led-inline-save,.led-inline-cancel{height:34px;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.led-inline-save{background:#34c759;color:#fff}.led-inline-save:hover{background:#2da44e;transform:scale(1.1)}.led-inline-cancel{background:#ff3b30;color:#fff}.led-inline-cancel:hover{background:#d32f2f;transform:scale(1.1)}.edit-mode-grid,.apartments-grid.edit-mode-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;gap:14px!important;padding:16px!important}.status-changed{animation:statusPulse .5s ease-out}@keyframes statusPulse{0%{transform:scale(1);box-shadow:0 0 #007affb3}50%{transform:scale(1.05);box-shadow:0 0 0 10px #007aff00}to{transform:scale(1);box-shadow:0 0 #007aff00}}@media(max-width:768px){.edit-mode-grid,.apartments-grid.edit-mode-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))!important;gap:10px!important;padding:12px!important}.edit-mode-card{min-height:95px;min-width:110px;padding:12px!important}.edit-mode-card .apt-name{font-size:.85rem}.status-dropdown{font-size:.8rem;padding:6px 10px}.led-mapping-badge{font-size:.72rem;padding:5px 8px}.led-inline-input{font-size:.78rem;padding:5px 8px}.led-inline-save,.led-inline-cancel{height:34px;font-size:.8rem}}@media(max-width:480px){.edit-mode-grid,.apartments-grid.edit-mode-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;padding:10px!important}.edit-mode-card{min-height:90px;min-width:unset;padding:10px!important}.edit-mode-card .apt-name{font-size:.8rem}.status-dropdown{font-size:.75rem;padding:5px 24px 5px 8px}.led-mapping-editor{margin:2px 0}.led-mapping-badge{font-size:.7rem;padding:5px 8px;line-height:1.3}.led-inline-edit-wrap{gap:5px}.led-inline-input{font-size:.75rem;padding:5px 8px;min-height:34px}.led-inline-save,.led-inline-cancel{height:34px;font-size:.8rem;min-height:34px}}.admin-panel{min-height:100vh;background:var(--ios-bg-primary);padding-bottom:40px}.admin-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #0000001a}.admin-title{display:flex;align-items:center;gap:15px}.admin-icon{font-size:32px}.admin-title h1{margin:0;font-size:24px;font-weight:700}.admin-user-info{display:flex;align-items:center;gap:20px}.admin-nav{background:var(--ios-bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:center;align-items:center;box-shadow:0 2px 8px #0000000d}.admin-content{max-width:1400px;margin:0 auto;padding:30px 20px}.admin-section{display:none}.admin-section.active{display:block;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.section-header h2{margin:0;font-size:28px;font-weight:700;color:var(--text-primary)}.projects-list{display:grid;gap:20px}.projects-list.grid-view{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.projects-list.list-view{grid-template-columns:1fr}.project-card{background:var(--ios-bg-secondary);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;transition:all .3s ease;cursor:pointer}.project-card:hover{border-color:var(--primary-color);box-shadow:0 8px 24px #007aff26;transform:translateY(-4px)}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-card-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.project-card-meta{font-size:13px;color:var(--text-secondary)}.project-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;padding:12px;background:var(--ios-bg-primary);border-radius:var(--radius-md)}.stat-item{text-align:center}.stat-item-value{font-size:20px;font-weight:700;color:var(--primary-color)}.stat-item-label{font-size:11px;color:var(--text-secondary);margin-top:4px}.project-card-footer{display:flex;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--border-color)}.admin-toolbar{background:var(--ios-bg-secondary);padding:16px;border-radius:var(--radius-lg);margin-bottom:20px;border:1px solid var(--border-color)}.form-input,.form-select{padding:10px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--ios-bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #007aff1a}.view-buttons{display:flex;gap:5px}.view-btn{padding:10px 14px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--ios-bg-secondary);color:var(--text-secondary);font-size:18px;cursor:pointer;transition:all .2s ease}.view-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.settings-group{background:var(--ios-bg-secondary);padding:24px;border-radius:var(--radius-lg);margin-bottom:20px;border:1px solid var(--border-color)}.settings-group h3{margin:0 0 20px;font-size:20px;font-weight:700;color:var(--text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary)}.device-card{background:var(--ios-bg-primary);padding:16px;border-radius:var(--radius-md);margin-bottom:12px;border:2px solid var(--border-color);transition:all .3s ease}.device-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #007aff1a}.device-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.device-id{font-family:monospace;font-weight:700;color:var(--text-primary)}.device-status{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.device-status.online{background:#34c75933;color:#34c759}.device-status.offline{background:#8e8e9333;color:var(--text-secondary)}@media(max-width:768px){.admin-header{padding:16px 20px}.admin-title h1{font-size:20px}.admin-nav{overflow-x:auto;justify-content:flex-start}.admin-content{padding:20px 16px}.projects-list.grid-view{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}}[data-theme=dark] .admin-panel{background:var(--ios-bg-primary)}[data-theme=dark] .project-card,[data-theme=dark] .settings-group,[data-theme=dark] .admin-toolbar,[data-theme=dark] .device-card{background:var(--ios-bg-secondary);border-color:#ffffff1a}[data-theme=dark] .project-card-stats,[data-theme=dark] .form-input,[data-theme=dark] .form-select{background:var(--ios-bg-tertiary);border-color:#ffffff1a;color:var(--text-primary)}[data-theme=dark] .device-card{background:var(--ios-bg-tertiary)}@media(max-width:480px){.mobile-menu{width:calc(100vw - 16px);top:8px;bottom:8px;margin-right:8px;border-radius:20px}.menu-header{padding:16px;border-radius:20px 20px 0 0}.menu-title{font-size:1.1rem}.menu-section{padding:6px 12px}.menu-card-item{padding:12px 14px}.menu-card-icon{width:32px;height:32px;font-size:1.1rem}.theme-btn{padding:12px 14px}.theme-btn-icon{width:36px;height:36px;font-size:1.3rem}.menu-time-icon-wrapper{width:42px;height:42px}}@media(min-width:481px)and (max-width:768px){.mobile-menu{width:min(340px,calc(100vw - 32px))}}@media(max-height:500px)and (orientation:landscape){.mobile-menu{top:8px;bottom:8px;width:min(300px,50vw)}.menu-section{padding:4px 12px}.menu-card-item{padding:10px 14px}.theme-btn{padding:10px 12px}}@supports (padding: env(safe-area-inset-bottom)){.mobile-menu{padding-bottom:env(safe-area-inset-bottom)}.menu-items{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}}@media(hover:none)and (pointer:coarse){.menu-card-item:hover{background:transparent}.menu-card-item:active{background:var(--menu-card-hover)}.theme-btn:hover{transform:none}.theme-btn:active{transform:scale(.98)}.mobile-menu-btn:hover{transform:none}}@media(prefers-contrast:high){.mobile-menu{border:2px solid var(--text-primary)}.menu-card-group,.theme-btn{border:1px solid var(--text-secondary)}}@media(prefers-reduced-motion:reduce){.mobile-menu,.hamburger-line,.menu-backdrop,.theme-btn,.menu-card-item,.mobile-menu-btn{transition:none}}@media(max-width:768px){.mobile-menu-btn{width:40px;height:40px;padding:8px;gap:4px}.hamburger-line{width:18px;height:2px}.mobile-menu-btn.active .hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}@media(max-width:480px){.mobile-menu-btn{width:38px;height:38px;padding:7px;gap:4px}.hamburger-line{width:16px;height:2px}.mobile-menu-btn.active .hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-btn.active .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}}.active-scenario-widget{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-120%);z-index:20000;background:linear-gradient(135deg,#5856d6f2,#007afff2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:6px;box-shadow:0 8px 32px #5856d666,0 4px 16px #0003,inset 0 1px #fff3;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;opacity:0;max-width:calc(100vw - 32px);display:flex;pointer-events:none;overflow:hidden}.active-scenario-widget.visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.scenario-widget-content{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff1a;border-radius:12px}.scenario-widget-icon{font-size:1.8rem;animation:scenarioIconPulse 2s ease-in-out infinite}@keyframes scenarioIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.scenario-widget-info{display:flex;flex-direction:column;gap:2px;min-width:0}.scenario-widget-label{font-size:.7rem;font-weight:500;color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.scenario-widget-name{font-size:.95rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scenario-widget-stop{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ff3b304d;border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.scenario-widget-stop:hover{background:#ff3b3080;transform:scale(1.05)}.scenario-widget-stop:active{transform:scale(.95)}.scenario-widget-stop svg{width:20px;height:20px}[data-theme=dark] .active-scenario-widget{background:linear-gradient(135deg,#5856d6e6,#007affe6);box-shadow:0 8px 40px #5856d680,0 4px 20px #0006,inset 0 1px #ffffff26}@media(max-width:480px){.active-scenario-widget{left:50%;right:auto;transform:translate(-50%) translateY(-120%);max-width:calc(100vw - 40px);width:auto;padding:3px;overflow:hidden}.active-scenario-widget.visible{transform:translate(-50%) translateY(0)}.scenario-widget-content{padding:6px 8px;gap:6px;flex-wrap:nowrap;width:auto;max-width:100%;overflow:hidden}.scenario-widget-icon{font-size:1.2rem;flex-shrink:0}.scenario-widget-info{flex:1;min-width:0;max-width:100px;overflow:hidden}.scenario-widget-label{font-size:.55rem}.scenario-widget-name{font-size:.75rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-widget-stop{width:32px;height:32px;min-width:32px;max-width:32px;flex-shrink:0;border-radius:6px;color:#fff}.scenario-widget-stop svg{width:16px;height:16px;min-width:16px;min-height:16px;fill:#fff}}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:10px}.modal .modal-content{background:var(--ios-bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;position:relative;display:flex;flex-direction:column;overflow:hidden}.modal .modal-content>h2{margin:0;padding:20px 24px;font-size:1.4rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--border-color);background:var(--ios-bg-tertiary)}.modal #closeAdminProjectModal{position:absolute;top:12px;right:16px;width:36px;height:36px;border:none;background:var(--ios-bg-tertiary);border-radius:50%;font-size:24px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.modal #closeAdminProjectModal:hover{background:var(--danger-color);color:#fff}.wizard-step-content{display:none;padding:24px;animation:fadeSlideIn .3s ease}.wizard-step-content.active{display:block}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.wizard-steps{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap;background:#ebebed99;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:8px 12px;border-radius:16px;border:1px solid rgba(0,0,0,.08)}[data-theme=dark] .wizard-steps{background:#2c2c2e99;border-color:#ffffff1a}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;cursor:pointer;border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);min-width:65px;text-align:center;position:relative;overflow:hidden}.wizard-step:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#007aff33;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.wizard-step:active:before{width:150%;height:150%;opacity:0;transition:0s}.wizard-step:not(:last-child):after{content:"";position:absolute;top:20px;right:-4px;width:8px;height:2px;background:#8e8e9366;border-radius:1px;transition:all .3s ease}.wizard-step.completed:not(:last-child):after{background:var(--success-color);box-shadow:0 0 8px #34c75966}.wizard-step:hover{background:#007aff14;transform:translateY(-2px)}[data-theme=dark] .wizard-step:hover{background:#007aff26}.wizard-step>div:first-child{width:34px;height:34px;border-radius:50%;background:#8e8e9333;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.wizard-step>div:last-child{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;font-weight:500;transition:all .2s ease}.wizard-step.active>div:first-child{background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;box-shadow:0 4px 15px #007aff66;transform:scale(1.1);border-color:#ffffff4d}.wizard-step.active>div:last-child{color:var(--primary-color);font-weight:600}.wizard-step.completed>div:first-child{background:linear-gradient(135deg,#34c759,#30d158);color:#fff;box-shadow:0 2px 10px #34c7594d}.wizard-step.completed>div:last-child{color:var(--success-color)}.wizard-step-content .form-group{margin-bottom:20px}.wizard-step-content .form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:.95rem}.wizard-step-content .form-input{width:100%;padding:14px 18px;border:1px solid rgba(0,0,0,.1);border-radius:14px;font-size:1rem;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);transition:all .25s cubic-bezier(.4,0,.2,1);box-sizing:border-box}[data-theme=dark] .wizard-step-content .form-input{background:#3a3a3ccc;border-color:#ffffff26;color:#fff}.wizard-step-content .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px #007aff26;transform:translateY(-1px)}.wizard-step-content .form-input::placeholder{color:var(--text-secondary)}.wizard-step-content textarea.form-input{resize:vertical;min-height:80px}.wizard-block-item{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:20px;margin-bottom:16px;box-shadow:0 8px 32px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}[data-theme=dark] .wizard-block-item{background:#2c2c2eb3;border-color:#ffffff1a}.wizard-block-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),#5856D6);opacity:0;transition:opacity .3s ease;pointer-events:none}.wizard-block-item:hover:before{opacity:1}.wizard-block-item:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.wizard-block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.08);position:relative;z-index:2}.wizard-block-header .btn-icon{pointer-events:auto!important;cursor:pointer!important;z-index:100}.wizard-edit-block,.wizard-delete-block,.wizard-block-edit-btn,.wizard-block-delete-btn{pointer-events:auto!important;cursor:pointer!important;z-index:100;position:relative}.wizard-block-edit-btn:hover{background:#2563eb!important;transform:scale(1.1)}.wizard-block-delete-btn:hover{background:#dc2626!important;transform:scale(1.1)}[data-theme=dark] .wizard-block-header{border-bottom-color:#ffffff1a}.wizard-block-header h4{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.wizard-floor-item{background:#ebebed99;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:14px;padding:14px;margin-top:12px;border:1px solid rgba(0,0,0,.06);transition:all .2s ease}[data-theme=dark] .wizard-floor-item{background:#3a3a3c99;border-color:#ffffff14}.wizard-floor-item:hover{background:#ebebede6;transform:translate(4px)}[data-theme=dark] .wizard-floor-item:hover{background:#3a3a3ce6}.wizard-apt-card{background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}[data-theme=dark] .wizard-apt-card{background:#3a3a3ccc;border-color:#ffffff1a}.wizard-apt-card:hover{transform:scale(1.03);box-shadow:0 6px 20px #0000001f}.wizard-apt-card:active{transform:scale(.98)}.wizard-apt-card[data-status=normal]{border-left:4px solid #34C759}.wizard-apt-card[data-status=optional]{border-left:4px solid #FF9500}.wizard-apt-card[data-status=sold]{border-left:4px solid #007AFF}.wizard-apt-card[data-status=off]{border-left:4px solid #8E8E93}.wizard-relay-config{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.wizard-relay-item{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:18px;padding:18px;box-shadow:0 4px 20px #0000000f;transition:all .3s ease}[data-theme=dark] .wizard-relay-item{background:#2c2c2eb3;border-color:#ffffff1a}.wizard-relay-item:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001a}.wizard-relay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=dark] .wizard-relay-header{border-bottom-color:#ffffff1a}.relay-channel-badge{background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;padding:6px 14px;border-radius:10px;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #007aff4d}.relay-pin-info{font-size:.8rem;color:var(--text-secondary);font-family:SF Mono,Menlo,monospace;background:#8e8e9326;padding:4px 10px;border-radius:6px}.wizard-relay-active,.wizard-step-content input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;-moz-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;display:inline-block!important;vertical-align:middle;cursor:pointer;accent-color:var(--primary-color, #007AFF);border:2px solid var(--border-color, #d1d5db);border-radius:4px;margin:0;opacity:1!important;visibility:visible!important;position:relative!important}.wizard-relay-active:checked,.wizard-step-content input[type=checkbox]:checked{background-color:var(--primary-color, #007AFF);border-color:var(--primary-color, #007AFF)}.wizard-step-content .form-group label input[type=checkbox]{margin-right:8px}.wizard-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#f0f0f2f2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.1);gap:12px;flex-shrink:0}[data-theme=dark] .wizard-actions{background:#1c1c1ef2;border-top-color:#ffffff1a}.wizard-actions button{padding:14px 28px;border-radius:14px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;position:relative;overflow:hidden}.wizard-actions button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff6;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .4s ease;opacity:0}.wizard-actions button:active:before{width:200%;height:200%;opacity:0;transition:0s}.wizard-actions button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.wizard-actions button:active{transform:scale(.96)}.btn-icon{width:36px;height:36px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:#ffffffe6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1rem;pointer-events:auto;position:relative;z-index:10}[data-theme=dark] .btn-icon{background:#3a3a3ccc;border-color:#ffffff1a}.btn-icon:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000001a}.btn-icon.btn-danger{background:#ff3b301a;border-color:#ff3b304d;color:#ff3b30}.btn-icon.btn-danger:hover{background:#ff3b3033}.wizard-led-card{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px 14px;font-size:.85em;transition:all .2s ease;display:flex;align-items:center;gap:10px}[data-theme=dark] .wizard-led-card{background:#3a3a3ccc;border-color:#ffffff1a}.wizard-led-card:hover{transform:scale(1.05);box-shadow:0 4px 15px #007aff33}.wizard-led-apt{font-weight:600;color:var(--text-primary)}.wizard-led-indices{display:flex;gap:4px;flex-wrap:wrap}.wizard-led-index{background:linear-gradient(135deg,#007aff26,#5856d626);color:var(--primary-color);font-weight:600;font-family:SF Mono,Menlo,monospace;padding:2px 8px;border-radius:6px;font-size:.85rem}.wizard-empty-state{text-align:center;padding:50px 30px;color:var(--text-secondary);background:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px dashed rgba(0,0,0,.1)}[data-theme=dark] .wizard-empty-state{background:#2c2c2e80;border-color:#ffffff1a}.wizard-empty-icon{font-size:4rem;margin-bottom:16px;opacity:.6;animation:floatIcon 3s ease-in-out infinite}.wizard-empty-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.wizard-empty-text{font-size:.95rem;color:var(--text-secondary)}.wizard-empty-state .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.6;animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.wizard-empty-state .empty-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.wizard-empty-state .empty-desc{font-size:.95rem;color:var(--text-secondary)}.wizard-apt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.wizard-apt-title{font-weight:700;color:var(--text-primary);font-size:.95rem}.wizard-apt-status{padding:6px 10px;border-radius:8px;font-size:.8rem;border:1px solid rgba(0,0,0,.1);background:#fffffff2;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-weight:500}[data-theme=dark] .wizard-apt-status{background:#3a3a3ce6;border-color:#ffffff26;color:#fff}.wizard-apt-status:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff26}.wizard-apt-led{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-secondary)}.wizard-apt-led label{font-weight:500}.wizard-apt-led-count{width:55px;padding:6px 10px;border-radius:8px;border:1px solid rgba(0,0,0,.1);text-align:center;font-weight:600;font-size:.9rem;background:#fffffff2;transition:all .2s ease}[data-theme=dark] .wizard-apt-led-count{background:#3a3a3ce6;border-color:#ffffff26;color:#fff}.wizard-apt-led-count:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff26}.wizard-progress-container{background:#ebebedd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;padding:16px;border:1px solid rgba(0,0,0,.06)}[data-theme=dark] .wizard-progress-container{background:#2c2c2e99;border-color:#ffffff1a}.wizard-progress-bar{height:10px;background:#8e8e9333;border-radius:5px;overflow:hidden}.wizard-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--success-color));border-radius:5px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.wizard-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:768px){.modal .modal-content{width:100%!important;max-width:100%!important;height:100vh!important;max-height:100vh!important;border-radius:0}.wizard-step-content{padding:16px}.wizard-actions{flex-wrap:wrap;padding:12px 16px}.wizard-actions button{min-width:100px;padding:12px 18px;font-size:.9rem}.wizard-relay-config{grid-template-columns:1fr}.wizard-steps{overflow-x:auto;padding:6px 8px;-webkit-overflow-scrolling:touch;gap:2px}.wizard-step{min-width:52px;padding:6px 10px}.wizard-step>div:first-child{width:28px;height:28px;font-size:.8rem}.wizard-step>div:last-child{font-size:.6rem}.wizard-step:not(:last-child):after{top:18px;right:-3px;width:6px}.wizard-block-item{padding:14px;border-radius:16px}.wizard-floor-item{padding:12px}}@media(max-width:768px){.led-settings-content{width:100%;max-width:100%;height:auto;max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - env(safe-area-inset-top,0px));border-radius:0;animation:contentSlideUp .4s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column}.led-settings-header{padding:18px 16px 16px;flex-shrink:0}.led-settings-header h3{font-size:1.15rem}.led-settings-body{padding:16px;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto;min-height:0}.led-general-settings h4,.led-scenarios-section h4{font-size:1rem;margin-bottom:12px}.brightness-control{margin-bottom:18px;padding:16px}.brightness-control label{font-size:.95rem;margin-bottom:10px}.led-scenario-item{margin-bottom:16px;padding:16px}.scenario-name{font-size:.95rem}.color-picker-wrapper{flex-direction:column;align-items:stretch!important;gap:10px!important}.color-picker{width:100%!important;height:70px!important}.white-channel-control{margin-bottom:8px!important}.white-channel-control label{font-size:.9rem!important}.led-settings-footer{padding:14px 16px;flex-wrap:wrap;flex-shrink:0;padding-bottom:calc(14px + env(safe-area-inset-bottom,20px))}.led-settings-footer button{flex:1;min-width:calc(50% - 6px);padding:12px 16px;font-size:.95rem}.led-test-btn{padding:10px 16px;font-size:.9rem}}@media(max-width:480px){.led-settings-header h3{font-size:1.05rem}.led-settings-body{padding:12px}.brightness-control{padding:14px}.brightness-slider,.white-slider{height:8px!important}.brightness-slider::-webkit-slider-thumb,.white-slider::-webkit-slider-thumb{width:22px;height:22px}.color-preview{height:50px!important}.color-picker{height:60px!important}.led-scenario-item{padding:14px}.led-test-btn{padding:8px 14px;font-size:.85rem}}.group-form-modal{max-width:560px;width:100%;border-radius:20px;overflow:hidden}.group-form-modal .feature-modal-header{padding:18px 22px;background:linear-gradient(135deg,#007aff14,#5856d60f);border-bottom:1px solid var(--ios-separator)}.group-form-modal .feature-modal-header h3{font-size:1.2rem;font-weight:700;letter-spacing:-.3px}.group-form-modal .feature-modal-body{padding:20px 22px 8px}.group-form-modal .form-group{margin-bottom:18px}.group-form-modal .form-group label{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-weight:600;font-size:.92rem;color:var(--text-primary)}.form-label-icon{font-size:1rem;line-height:1}.form-required{color:#ff3b30;font-weight:700;margin-left:2px}.group-form-input{width:100%;padding:12px 14px;border:2px solid var(--border-color);border-radius:12px;font-size:.95rem;font-family:inherit;font-weight:500;background:var(--surface-color);color:var(--text-primary);transition:all .25s ease;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.group-form-input::placeholder{color:var(--text-secondary);opacity:.6;font-weight:400}.group-form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007aff1f;background:var(--ios-bg-primary)}textarea.group-form-input{resize:vertical;min-height:44px;line-height:1.5}.group-apartments-textarea{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.9rem;letter-spacing:.2px;line-height:1.7;min-height:140px}.group-form-hint{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,#007aff0f,#5856d60a);border:1px solid rgba(0,122,255,.1);border-radius:10px;font-size:.82rem;color:var(--text-secondary);line-height:1.45}.group-form-hint .hint-icon{font-size:1rem;line-height:1.3;flex-shrink:0}.group-form-modal .feature-modal-footer{padding:14px 22px 18px;gap:10px;background:transparent;border-top:1px solid var(--ios-separator)}.group-form-modal .feature-modal-footer .btn-secondary{flex:1;padding:12px 16px;border-radius:12px;font-size:.92rem;font-weight:600;text-align:center;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:all .2s ease}.group-form-modal .feature-modal-footer .btn-secondary:hover{background:var(--bg-secondary)}.group-form-modal .feature-modal-footer .btn-primary{flex:1.5;padding:12px 16px;border-radius:12px;font-size:.95rem;font-weight:700;text-align:center;background:var(--primary-color);color:#fff;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #007aff40}.group-form-modal .feature-modal-footer .btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px #007aff59}.group-form-modal .feature-modal-footer .btn-primary:active,.group-form-modal .feature-modal-footer .btn-secondary:active{transform:scale(.97)}@media(max-width:768px){.group-form-modal{max-width:100%;border-radius:18px;max-height:92vh}#groupFormModal.feature-modal{padding:12px;align-items:flex-end}.group-form-modal .feature-modal-header{padding:16px 18px}.group-form-modal .feature-modal-header h3{font-size:1.1rem}.group-form-modal .feature-modal-body{padding:16px 18px 6px}.group-form-input{padding:12px 14px;font-size:16px;border-radius:10px}.group-apartments-textarea{min-height:120px;font-size:15px}.group-form-hint{padding:8px 10px;font-size:.78rem}.group-form-modal .feature-modal-footer{padding:12px 18px 16px;flex-direction:row}.group-form-modal .feature-modal-footer .btn-secondary,.group-form-modal .feature-modal-footer .btn-primary{padding:13px 12px;border-radius:12px;font-size:.92rem}}@media(max-width:480px){#groupFormModal.feature-modal{padding:0;align-items:flex-end}.group-form-modal{max-width:100%;max-height:95vh;border-radius:18px 18px 0 0}.group-form-modal .feature-modal-header{padding:14px 16px}.group-form-modal .feature-modal-body{padding:14px 16px 4px}.group-form-input{padding:11px 12px}.group-apartments-textarea{min-height:110px;rows:5}.group-form-hint{padding:8px 10px;font-size:.76rem;gap:6px}.group-form-modal .feature-modal-footer{padding:10px 16px 14px;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.group-form-modal .feature-modal-footer .btn-secondary,.group-form-modal .feature-modal-footer .btn-primary{padding:12px 10px;font-size:.9rem}}@media(prefers-color-scheme:dark){.group-form-modal .feature-modal-header{background:linear-gradient(135deg,#007aff1f,#5856d614)}.group-form-input{background:var(--ios-bg-secondary);border-color:var(--ios-separator)}.group-form-input:focus{background:var(--ios-bg-primary);border-color:var(--primary-color)}.group-form-hint{background:#007aff14;border-color:#007aff26}.group-form-modal .feature-modal-footer .btn-secondary{background:var(--ios-bg-secondary);border-color:var(--ios-separator)}}@media(max-width:768px){.led-settings-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;align-items:stretch!important;justify-content:stretch!important;z-index:10000!important}.led-settings-modal.active{display:flex!important}.led-settings-content{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;display:flex!important;flex-direction:column!important;margin:0!important;animation:slideUpMobile .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.led-settings-header{padding:16px!important;padding-top:calc(16px + env(safe-area-inset-top,0px))!important;flex-shrink:0!important;position:relative!important;z-index:10!important;background:linear-gradient(135deg,#6496ff26,#9664ff1a)!important}.led-settings-header h3{font-size:1.1rem!important}.close-led-settings{width:40px!important;height:40px!important;font-size:1.4rem!important;min-width:40px!important;min-height:40px!important}.led-settings-body{flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding:16px!important;-webkit-overflow-scrolling:touch!important;min-height:0!important}.led-scenarios-section>p{font-size:.85rem;margin-bottom:12px}.led-scenario-item{padding:16px;margin-bottom:16px}.scenario-name{font-size:.95rem}.scenario-status{font-size:.7rem;padding:4px 10px}.color-picker-wrapper{flex-wrap:wrap;gap:12px}.color-picker{width:70px;height:70px;border-width:2px}.color-picker-wrapper label{font-size:.9rem;flex:1;min-width:150px}.white-channel-control label{font-size:.85rem}.color-preview{height:50px}.led-test-btn{padding:10px 16px;font-size:.85rem;width:100%}.brightness-control{padding:16px}.brightness-control label{font-size:.95rem}.led-settings-footer{flex-shrink:0!important;padding:12px 16px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;position:relative!important;z-index:10!important;display:flex!important;gap:10px!important;background:linear-gradient(135deg,#6496ff1a,#9664ff14)!important;border-top:1px solid rgba(100,150,255,.2)!important}.led-settings-footer .btn-primary,.led-settings-footer .btn-secondary{flex:1!important;padding:14px 16px!important;font-size:.95rem!important;min-height:48px!important;border-radius:12px!important}}@media(max-width:480px){.led-settings-header{padding:12px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important}.led-settings-header h3{font-size:1rem!important}.close-led-settings{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:1.4rem!important}.led-settings-body{padding:12px!important}.led-scenarios-section>p{font-size:.8rem}.led-scenario-item{padding:14px;margin-bottom:14px}.scenario-name{font-size:.9rem}.scenario-status{font-size:.65rem;padding:3px 8px}.color-picker{width:60px;height:60px}.color-picker-wrapper label{font-size:.85rem}.white-channel-control label{font-size:.8rem;display:flex;justify-content:space-between;align-items:center}.white-channel-control label span{font-size:.9rem;font-weight:700}.color-preview{height:45px}.led-test-btn{padding:12px 14px!important;font-size:.85rem!important;min-height:44px!important}.brightness-control{padding:14px}.brightness-control label{font-size:.9rem;flex-direction:column;align-items:flex-start;gap:6px}.brightness-control label #brightnessValue{font-size:1.1rem}.led-settings-footer{padding:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;gap:10px!important}.led-settings-footer .btn-primary,.led-settings-footer .btn-secondary{padding:14px!important;font-size:.9rem!important;min-height:50px!important}}@supports (padding: env(safe-area-inset-bottom)){@media(max-width:768px){.led-settings-body,.led-settings-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media(max-width:480px){.led-settings-body{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.led-settings-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}}@media(max-width:768px){.mobile-quick-controls{left:0;right:0;max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.mobile-quick-controls.open{bottom:0}.quick-controls-header{padding:20px 16px 16px;position:sticky;top:0;z-index:10;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.quick-controls-header h3{font-size:1.15rem}.close-quick-controls{width:32px;height:32px;font-size:1.3rem}.quick-controls-content{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.quick-controls-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.quick-control-btn{padding:14px 10px;min-height:95px}.quick-control-btn .status-icon{font-size:1.8rem}.quick-control-btn .status-label{font-size:.85rem}.quick-control-btn .status-count{font-size:1rem}.section-title{font-size:.8rem;margin:16px 0 10px}.relay-buttons-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.relay-buttons-grid .btn-quick-toggle,.relay-buttons-grid .relay-btn{padding:10px 8px;min-height:75px}.mobile-status-panel{left:0;right:0;max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(100%);visibility:hidden}.mobile-status-panel.open{transform:translateY(0);visibility:visible}.status-panel-header{padding:20px 16px 16px;position:sticky;top:0;z-index:10;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.status-panel-header h3{font-size:1.15rem}.status-action-btn{width:30px;height:30px;font-size:1.1rem}.close-status-panel{width:32px;height:32px;font-size:1.3rem}.status-panel-content{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.status-donut-container{flex-direction:row;gap:20px;padding:14px}.status-donut-chart{width:130px;height:130px}.donut-total{font-size:1.8rem}.donut-label{font-size:.7rem}.legend-item{padding:7px 10px;gap:8px}.legend-text{font-size:.85rem}.legend-value{font-size:.9rem}.legend-percent{font-size:.75rem}.metric-card{padding:12px 14px;gap:10px}.metric-icon{font-size:1.3rem;width:36px;height:36px}.metric-value{font-size:1.15rem}.metric-label{font-size:.75rem}.metric-bar{width:70px}.block-summary-card{padding:12px 14px;gap:10px}.block-summary-icon{font-size:1.2rem;width:32px;height:32px}.block-summary-name{font-size:.9rem}.block-summary-stats{font-size:.75rem}.activity-item{padding:9px 10px;gap:8px}.activity-icon{font-size:.95rem;width:26px;height:26px}.activity-text{font-size:.85rem}.activity-time{font-size:.7rem}}@media(max-width:480px){.mobile-quick-controls{max-height:90vh}.quick-controls-header{padding:18px 14px 14px}.quick-controls-header h3{font-size:1.05rem}.close-quick-controls{width:30px;height:30px;font-size:1.2rem}.quick-controls-content{padding:12px}.quick-controls-grid{grid-template-columns:repeat(2,1fr);gap:10px}.quick-control-btn{padding:12px 8px;min-height:85px}.quick-control-btn .status-icon{font-size:1.6rem}.quick-control-btn .status-label{font-size:.8rem}.quick-control-btn .status-count{font-size:.95rem}.section-title{font-size:.75rem;margin:14px 0 8px}.relay-buttons-grid{grid-template-columns:repeat(2,1fr);gap:8px}.relay-buttons-grid .btn-quick-toggle,.relay-buttons-grid .relay-btn{padding:10px 6px;min-height:70px;gap:4px}.relay-buttons-grid .btn-quick-toggle .toggle-state,.relay-buttons-grid .relay-btn .toggle-state{font-size:.7rem}.no-relays{padding:16px;font-size:.85rem}.mobile-status-panel{max-height:90vh;transform:translateY(100%);visibility:hidden}.mobile-status-panel.open{transform:translateY(0);visibility:visible}.status-panel-header{padding:18px 14px 14px}.status-panel-header h3{font-size:1.05rem}.status-action-btn{width:28px;height:28px;font-size:1rem;padding:4px}.close-status-panel{width:30px;height:30px;font-size:1.2rem}.status-panel-content{padding:12px}.status-donut-container{flex-direction:column;text-align:center;gap:16px;padding:12px}.status-donut-chart{width:120px;height:120px;margin:0 auto}.donut-ring,.donut-segment{stroke-width:7}.donut-total{font-size:1.6rem}.donut-label{font-size:.65rem}.status-legend{width:100%}.legend-item{padding:6px 8px;gap:6px}.legend-color{width:12px;height:12px}.legend-text{font-size:.8rem}.legend-value{font-size:.85rem}.legend-percent{font-size:.7rem}.section-subtitle{font-size:.9rem;margin-bottom:8px;padding-bottom:6px}.financial-metrics{gap:10px}.metric-card{padding:10px 12px;gap:8px}.metric-icon{font-size:1.2rem;width:32px;height:32px}.metric-value{font-size:1.05rem}.metric-label{font-size:.7rem}.metric-bar{width:60px;height:5px}.blocks-summary{gap:8px}.block-summary-card{padding:10px 12px;gap:8px}.block-summary-icon{font-size:1.1rem;width:30px;height:30px}.block-summary-name{font-size:.85rem}.block-summary-stats{font-size:.7rem;gap:6px;flex-wrap:wrap}.mini-dot{width:7px;height:7px}.activity-list{max-height:180px;gap:6px}.activity-item{padding:8px 10px;gap:8px}.activity-icon{font-size:.9rem;width:24px;height:24px}.activity-text{font-size:.8rem;line-height:1.3}.activity-time{font-size:.65rem}.activity-empty{padding:16px;font-size:.85rem}.activity-empty span{font-size:2rem}}@media(max-width:768px)and (orientation:landscape){.mobile-quick-controls{max-height:95vh}.mobile-status-panel{max-height:95vh;transform:translateY(100%);visibility:hidden}.mobile-status-panel.open{transform:translateY(0);visibility:visible}.status-donut-container{flex-direction:row;gap:16px}.status-donut-chart{width:100px;height:100px}}@media(max-width:480px)and (orientation:landscape){.quick-controls-grid,.relay-buttons-grid{grid-template-columns:repeat(3,1fr)}}@supports (padding: env(safe-area-inset-bottom)){@media(max-width:768px){.quick-controls-content,.status-panel-content{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media(max-width:480px){.quick-controls-content,.status-panel-content{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}}.edit-media-buttons{display:flex;gap:8px;align-items:center;margin-left:auto;flex-shrink:0}.floor-media-buttons{margin-left:auto;margin-right:8px}.edit-media-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1.5px dashed rgba(var(--primary-rgb, 0, 122, 255),.4);border-radius:20px;background:linear-gradient(135deg,rgba(var(--primary-rgb, 0, 122, 255),.06),rgba(var(--primary-rgb, 0, 122, 255),.12));color:var(--primary-color, #007AFF);font-size:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);letter-spacing:.02em}.edit-media-btn:hover{background:linear-gradient(135deg,rgba(var(--primary-rgb, 0, 122, 255),.12),rgba(var(--primary-rgb, 0, 122, 255),.22));border-color:var(--primary-color, #007AFF);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb, 0, 122, 255),.2)}.edit-media-btn:active{transform:translateY(0) scale(.97)}.edit-media-btn.has-media{border-style:solid;background:linear-gradient(135deg,#34c75914,#34c75926);border-color:#34c75980;color:#34c759}.edit-media-btn.has-media:hover{background:linear-gradient(135deg,#34c75926,#34c75940);border-color:#34c759;box-shadow:0 4px 12px #34c75933}.block-content.edit-mode{display:block;margin-bottom:12px;border-radius:12px;overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border)}.block-content.edit-mode.collapsed .edit-block-floors{display:none}.block-content.edit-mode .edit-block-floors{display:block;padding:0 8px 8px}.block-content.edit-mode .block-collapse-btn{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:12px;color:var(--text-secondary);transition:transform .2s ease}.block-content.edit-mode .block-collapse-btn .collapse-icon{display:inline-block;transition:transform .2s ease}.block-content.edit-mode .block-header{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.block-content.edit-mode .block-title{white-space:nowrap;flex-shrink:0}.block-content.edit-mode .block-header .edit-bg-btn{flex-shrink:0}.block-content.edit-mode .floor-header{display:flex;align-items:center;gap:8px}.block-content.edit-mode .floor-name{flex:1;min-width:0}.block-content.has-background-image,.block-section.has-background-image{position:relative;overflow:hidden}.block-content.has-background-image:before,.block-section.has-background-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--block-bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.5;z-index:0;pointer-events:none;border-radius:inherit;transition:opacity .6s ease,transform 8s ease;transform:scale(1.02);filter:none}.block-content.has-background-image:hover:before{opacity:.6;transform:scale(1.06)}.block-content.has-background-image>*,.block-section.has-background-image>*{position:relative;z-index:1}.block-content.has-background-image .block-header{background:linear-gradient(135deg,#ffffffa6,#ffffff73);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=dark] .block-content.has-background-image .block-header{background:linear-gradient(135deg,#1c1c1ebf,#1c1c1e8c)}.block-bg-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border:1.5px solid rgba(var(--primary-rgb, 0, 122, 255),.3);border-radius:20px;background:linear-gradient(135deg,rgba(var(--primary-rgb, 0, 122, 255),.08),rgba(var(--primary-rgb, 0, 122, 255),.15));cursor:pointer;font-size:13px;font-weight:500;color:var(--primary-color, #007AFF);transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;overflow:hidden}.block-bg-view-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.1));opacity:0;transition:opacity .3s}.block-bg-view-btn:hover{background:linear-gradient(135deg,rgba(var(--primary-rgb, 0, 122, 255),.15),rgba(var(--primary-rgb, 0, 122, 255),.25));border-color:var(--primary-color, #007AFF);transform:translateY(-2px);box-shadow:0 4px 16px rgba(var(--primary-rgb, 0, 122, 255),.3),0 0 0 1px rgba(var(--primary-rgb, 0, 122, 255),.1)}.block-bg-view-btn:hover:before{opacity:1}.block-bg-view-btn:active{transform:translateY(0) scale(.97)}.block-bg-view-btn .bg-btn-icon{font-size:15px;line-height:1}.block-bg-view-btn .bg-btn-text{font-size:12px;font-weight:600;letter-spacing:.03em}.floor-plan-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;padding:0 14px;border:1.5px solid rgba(52,199,89,.35);border-radius:18px;background:linear-gradient(135deg,#34c75914,#34c75926);color:#34c759;cursor:pointer;font-size:12px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;margin-left:auto;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;overflow:hidden}.floor-plan-view-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.1));opacity:0;transition:opacity .3s}.floor-plan-view-btn:hover{background:linear-gradient(135deg,#34c75926,#34c75947);border-color:#34c759;transform:translateY(-2px);box-shadow:0 4px 16px #34c7594d,0 0 0 1px #34c7591a}.floor-plan-view-btn:hover:before{opacity:1}.floor-plan-view-btn:active{transform:translateY(0) scale(.97)}.floor-plan-view-btn .fp-btn-icon{font-size:15px;line-height:1}.floor-plan-view-btn .fp-btn-text{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.media-upload-modal .media-upload-content{max-width:520px;width:95%}.media-preview-container{width:100%;min-height:180px;border-radius:var(--radius-lg, 12px);border:2px dashed var(--ios-border, #ddd);background:var(--ios-bg-tertiary, #f5f5f7);display:flex;align-items:center;justify-content:center;margin-bottom:16px;overflow:hidden;position:relative}.media-preview-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ios-text-secondary, #8e8e93);padding:24px}.media-preview-icon{font-size:48px;opacity:.5}.media-preview-empty p{font-size:14px;margin:0}.media-preview-content{display:flex;align-items:center;justify-content:center;width:100%;min-height:180px;position:relative}.media-preview-img{max-width:100%;max-height:300px;object-fit:contain;border-radius:8px}.media-preview-pdf{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.media-preview-pdf .pdf-icon{font-size:48px}.media-preview-pdf span{font-size:14px;color:var(--ios-text-primary);font-weight:500}.media-preview-remove{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;border:none;background:#ff3b30e6;color:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2}.media-preview-remove:hover{background:#ff3b30;transform:scale(1.1)}.media-upload-zone{border:2px dashed var(--ios-border, #ddd);border-radius:var(--radius-lg, 12px);padding:24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--ios-bg-secondary, #f9f9f9);margin-bottom:12px}.media-upload-zone:hover,.media-upload-zone.drag-over{border-color:var(--primary-color, #007AFF);background:rgba(var(--primary-rgb, 0, 122, 255),.05)}.media-upload-zone.drag-over{border-style:solid;transform:scale(1.01)}.upload-zone-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-zone-icon{font-size:32px}.upload-zone-text{font-size:14px;font-weight:500;color:var(--ios-text-primary);margin:0}.upload-zone-hint{font-size:12px;color:var(--ios-text-secondary, #8e8e93);margin:0}.media-file-input{display:none}.media-upload-progress{margin-bottom:12px}.media-upload-progress .progress-bar{width:100%;height:6px;background:var(--ios-bg-tertiary, #e5e5ea);border-radius:3px;overflow:hidden;margin-bottom:6px}.media-upload-progress .progress-fill{height:100%;background:var(--primary-color, #007AFF);border-radius:3px;transition:width .3s ease;width:0%}.media-upload-progress .progress-text{font-size:12px;color:var(--ios-text-secondary)}.floor-plan-viewer .floor-plan-viewer-content{max-width:90vw;max-height:95vh;width:900px}.floor-plan-viewer-body{display:flex;align-items:center;justify-content:center;min-height:300px;overflow:auto;padding:0!important}.floor-plan-iframe{width:100%;height:70vh;border:none;border-radius:var(--radius-md, 8px)}.floor-plan-image-container{display:flex;align-items:center;justify-content:center;width:100%;overflow:auto;padding:12px}.floor-plan-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-md, 8px);cursor:zoom-in;transition:transform .3s ease}.floor-plan-image.zoomed{cursor:zoom-out;transform:scale(2)}.bg-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .4s cubic-bezier(.4,0,.2,1),visibility .4s}.bg-viewer-overlay.active{opacity:1;visibility:visible}.bg-viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(40px) brightness(.3) saturate(1.5);transform:scale(1.2);z-index:0}.bg-viewer-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.bg-viewer-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,transparent 100%)}.bg-viewer-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:16px;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5)}.bg-viewer-icon{font-size:22px}.bg-viewer-actions{display:flex;align-items:center;gap:8px}.bg-viewer-action-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-decoration:none}.bg-viewer-action-btn:hover{background:#ffffff40;border-color:#fff6;transform:scale(1.08)}.bg-viewer-action-btn:active{transform:scale(.95)}.bg-viewer-close-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,100,100,.3);border-radius:12px;background:#ff3b3033;color:#ff6b6b;cursor:pointer;transition:all .2s;margin-left:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.bg-viewer-close-btn:hover{background:#ff3b3066;border-color:#ff6b6b;transform:scale(1.08)}.bg-viewer-image-wrap{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;z-index:1;cursor:zoom-in;padding:20px}.bg-viewer-image{max-width:90%;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.bg-viewer-hint{position:relative;z-index:2;text-align:center;padding:12px;color:#ffffff80;font-size:12px;background:linear-gradient(0deg,rgba(0,0,0,.4) 0%,transparent 100%)}.bg-viewer-overlay.active .bg-viewer-image{animation:bgViewerImageIn .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes bgViewerImageIn{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.bg-viewer-overlay.active .bg-viewer-toolbar{animation:bgToolbarIn .4s ease-out forwards}@keyframes bgToolbarIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.bg-viewer-toolbar{padding:12px 16px;flex-wrap:wrap;gap:8px}.bg-viewer-title{font-size:14px}.bg-viewer-action-btn,.bg-viewer-close-btn{width:36px;height:36px;border-radius:10px}.bg-viewer-image{max-width:96%;border-radius:8px}.bg-viewer-hint{font-size:11px}}@media(max-width:600px){.edit-media-buttons{width:100%;justify-content:flex-end}.edit-media-btn{font-size:11px;padding:4px 8px}.floor-media-buttons{margin-left:0;margin-right:0}.media-upload-modal .media-upload-content,.floor-plan-viewer .floor-plan-viewer-content{width:100%;max-width:100%;max-height:100vh;border-radius:0}.floor-plan-viewer .feature-modal-header{padding:12px 16px!important;gap:10px;flex-wrap:nowrap}.floor-plan-viewer .feature-modal-header h3{font-size:.95rem!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.floor-plan-viewer .close-feature-modal{flex-shrink:0;width:40px!important;height:40px!important;min-width:40px;min-height:40px}.floor-plan-viewer .feature-modal-footer{padding:12px 16px!important;gap:10px;flex-wrap:wrap;justify-content:stretch}.floor-plan-viewer .feature-modal-footer .btn-secondary,.floor-plan-viewer .feature-modal-footer .btn-primary{flex:1 1 auto;min-width:100px;padding:12px 16px!important;font-size:.9rem!important;text-align:center;justify-content:center}.floor-plan-iframe{height:60vh}.floor-plan-viewer-body{min-height:200px}.floor-plan-image{max-height:60vh}}@media(max-width:400px){.floor-plan-viewer .feature-modal-header h3{font-size:.85rem!important}.floor-plan-viewer .feature-modal-footer{flex-direction:column;gap:8px}.floor-plan-viewer .feature-modal-footer .btn-secondary,.floor-plan-viewer .feature-modal-footer .btn-primary{width:100%;min-width:unset}}.mobile-header{background:linear-gradient(135deg,#ffffffeb,#f5f5f7f5)!important;backdrop-filter:blur(40px) saturate(200%)!important;-webkit-backdrop-filter:blur(40px) saturate(200%)!important;border-bottom:1px solid rgba(0,0,0,.06)!important;box-shadow:0 1px 20px #0000000f,0 0 0 1px #fff9 inset;transition:all .4s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .mobile-header{background:linear-gradient(135deg,#141416f5,#1e1e23fa)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;box-shadow:0 1px 30px #0000004d,0 0 0 1px #ffffff0a inset}.mobile-title{font-size:1.15rem!important;font-weight:800!important;letter-spacing:-.03em!important;background:linear-gradient(135deg,#1a1a2e,#16213e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .mobile-title,[data-theme=dark] .mobile-title span{background:linear-gradient(135deg,#e8e8ff,#c8c8ff,#a8b4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#headerProjectLogo{border-radius:8px!important;box-shadow:0 2px 8px #0000001f;transition:transform .3s ease}#headerProjectLogo:hover{transform:scale(1.1)}.mobile-menu-btn{background:#0000000a!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:14px!important;width:42px!important;height:42px!important;transition:all .35s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}.mobile-menu-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(0,122,255,.15) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;border-radius:inherit}.mobile-menu-btn:hover:after{opacity:1}[data-theme=dark] .mobile-menu-btn{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.08)!important}.hamburger-line{background:linear-gradient(90deg,#333,#666)!important;border-radius:3px!important;height:2px!important;transition:all .4s cubic-bezier(.68,-.55,.265,1.55)!important}[data-theme=dark] .hamburger-line{background:linear-gradient(90deg,#ccc,#999)!important}.mobile-bottom-nav{background:linear-gradient(180deg,#fffffff0,#f8f8fafa)!important;backdrop-filter:blur(40px) saturate(200%)!important;-webkit-backdrop-filter:blur(40px) saturate(200%)!important;border-top:none!important;box-shadow:0 -2px 30px #00000014,0 -1px #0000000a;padding:6px 0!important;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))!important}[data-theme=dark] .mobile-bottom-nav{background:linear-gradient(180deg,#161618f5,#121214fa)!important;box-shadow:0 -2px 30px #0006,0 -1px #ffffff0a;border-top:none!important}.nav-btn{position:relative!important;border-radius:16px!important;margin:0 4px!important;padding:8px 6px!important;transition:all .35s cubic-bezier(.4,0,.2,1)!important;opacity:.55!important;gap:3px!important}.nav-btn:before{content:""!important;position:absolute!important;right:2px!important;bottom:2px!important;background:#007aff14!important;border-radius:14px!important;opacity:0!important;transition:opacity .3s ease,transform .3s ease!important;transform:scale(.8)!important;width:auto!important;height:auto!important;top:2px!important;left:2px!important}.nav-btn:hover{opacity:.75!important}.nav-btn:hover:before{opacity:1!important;transform:scale(1)!important}.nav-btn.active{opacity:1!important;color:#007aff!important}.nav-btn.active:before{opacity:1!important;transform:scale(1)!important;background:linear-gradient(135deg,#007aff1f,#5856d614)!important}[data-theme=dark] .nav-btn.active:before{background:linear-gradient(135deg,#007aff2e,#5856d61f)!important}.nav-icon{font-size:1.35rem!important;transition:transform .35s cubic-bezier(.68,-.55,.265,1.55)!important;position:relative;z-index:1}.nav-btn.active .nav-icon{transform:scale(1.15) translateY(-1px)!important;filter:drop-shadow(0 2px 8px rgba(0,122,255,.3))}.nav-text{font-size:.62rem!important;font-weight:600!important;letter-spacing:.02em!important;position:relative;z-index:1;transition:all .3s ease}.nav-btn.active .nav-text{font-weight:700!important;color:#007aff}[data-theme=dark] .nav-btn{color:#8e8e93b3!important}[data-theme=dark] .nav-btn.active{color:#0a84ff!important}[data-theme=dark] .nav-btn.active .nav-text{color:#0a84ff}.blocks-tabs{background:linear-gradient(180deg,#f5f5f7f2,#f0f0f2e6)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border-bottom:1px solid rgba(0,0,0,.05)!important;padding:12px 16px!important;gap:10px!important;box-shadow:0 1px 8px #00000008}[data-theme=dark] .blocks-tabs{background:linear-gradient(180deg,#1c1c1ef2,#18181ae6)!important;border-bottom:1px solid rgba(255,255,255,.05)!important}.block-tab{padding:10px 22px!important;border-radius:12px!important;font-size:.9rem!important;font-weight:700!important;letter-spacing:-.01em;background:#00000008!important;color:var(--text-primary)!important;border:1px solid transparent!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}.block-tab:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.5) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;border-radius:inherit}.block-tab:hover{background:#0000000f!important;transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.block-tab:hover:after{opacity:1}.block-tab.active{background:linear-gradient(135deg,#007aff,#5856d6)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 16px #007aff59,0 2px 4px #007aff33!important;transform:translateY(-1px)}.block-tab.active:after{opacity:1;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 60%)}[data-theme=dark] .block-tab{background:#ffffff0d!important}[data-theme=dark] .block-tab:hover{background:#ffffff1a!important}[data-theme=dark] .block-tab.active{background:linear-gradient(135deg,#0a84ff,#5e5ce6)!important;box-shadow:0 4px 20px #0a84ff66,0 2px 4px #0a84ff33!important}.block-section{background:#ffffffb3!important;backdrop-filter:blur(30px)!important;-webkit-backdrop-filter:blur(30px)!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:20px!important;margin-bottom:16px!important;box-shadow:0 2px 12px #0000000a,0 0 0 1px #fff6 inset;transition:all .3s ease!important;overflow:hidden!important}.block-section:hover{box-shadow:0 4px 20px #00000014,0 0 0 1px #ffffff80 inset}[data-theme=dark] .block-section{background:#26262899!important;border:1px solid rgba(255,255,255,.06)!important;box-shadow:0 2px 16px #0003,0 0 0 1px #ffffff08 inset}[data-theme=dark] .block-section:hover{box-shadow:0 4px 24px #0000004d,0 0 0 1px #ffffff0f inset}.block-header{background:linear-gradient(135deg,#f5f5f799,#ffffff4d)!important;padding:16px 18px!important;transition:all .25s ease!important;border-bottom:1px solid rgba(0,0,0,.04)}.block-header:hover{background:linear-gradient(135deg,#007aff0a,#fff6)!important}[data-theme=dark] .block-header{background:linear-gradient(135deg,#2c2c2e66,#3a3a3c33)!important;border-bottom:1px solid rgba(255,255,255,.04)}[data-theme=dark] .block-header:hover{background:linear-gradient(135deg,#0a84ff0f,#3a3a3c4d)!important}.apartment-btn{border-radius:16px!important;padding:14px!important;font-weight:700!important;border:1px solid rgba(255,255,255,.2)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 2px 8px #0000001a,0 0 0 1px #ffffff1a inset!important;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.apartment-btn:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%);border-radius:16px 16px 0 0;pointer-events:none}.apartment-normal{background:linear-gradient(145deg,#f3a626e6,#e67e22d9)!important}.apartment-sold{background:linear-gradient(145deg,#e75646e6,#c0392bd9)!important}.apartment-optional{background:linear-gradient(145deg,#2ed57be6,#27ae60d9)!important}.apartment-off{background:linear-gradient(145deg,#a2afb4e6,#7f8c8dd9)!important}.apartment-btn:hover{transform:scale(1.08) translateY(-3px)!important;box-shadow:0 8px 30px #0003,0 0 0 1px #ffffff26 inset!important}.apartment-btn:not(.edit-mode-card):active{transform:scale(.96)!important;transition-duration:.1s!important}.apt-number{font-size:1.05rem!important;font-weight:800!important;text-shadow:0 1px 3px rgba(0,0,0,.2)!important;position:relative;z-index:1}.apt-type-badge{font-size:.6rem!important;background:#ffffff40!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:3px 10px!important;border-radius:8px!important;font-weight:700!important;border:1px solid rgba(255,255,255,.15);position:relative;z-index:1}.apt-m2-badge{position:relative;z-index:1}.apartment-btn.light-on{animation:premiumPulse 3s ease-in-out infinite!important}@keyframes premiumPulse{0%,to{filter:brightness(1.15) saturate(1.2);transform:scale(1)}50%{filter:brightness(1.35) saturate(1.35);transform:scale(1.02)}}.apartment-btn.light-on:hover{animation:none!important;filter:brightness(1.3) saturate(1.35)!important}.apartment-btn.light-off{opacity:.55!important;filter:brightness(.65) saturate(.75) grayscale(.1)!important}.apartment-btn.light-off:hover{opacity:.75!important;filter:brightness(.85) saturate(.85) grayscale(0)!important}[data-theme=dark] .apartment-btn{border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 2px 12px #0000004d,0 0 0 1px #ffffff0d inset!important}[data-theme=dark] .apartment-btn.light-on{border-color:#ffffff4d!important}[data-theme=dark] .apartment-btn.apartment-normal.light-on{box-shadow:0 0 25px #f39c12b3,0 0 50px #f39c124d,0 0 80px #f39c1226,0 4px 15px #0000004d!important}[data-theme=dark] .apartment-btn.apartment-sold.light-on{box-shadow:0 0 25px #e74c3cb3,0 0 50px #e74c3c4d,0 0 80px #e74c3c26,0 4px 15px #0000004d!important}[data-theme=dark] .apartment-btn.apartment-optional.light-on{box-shadow:0 0 25px #2ecc71b3,0 0 50px #2ecc714d,0 0 80px #2ecc7126,0 4px 15px #0000004d!important}[data-theme=dark] .apartment-btn.apartment-off.light-on{box-shadow:0 0 25px #95a5a6b3,0 0 50px #95a5a64d,0 0 80px #95a5a626,0 4px 15px #0000004d!important}.apartments-grid{gap:10px!important;padding:14px 2px!important}.mobile-menu{background:linear-gradient(180deg,#fffffff7,#f5f5f7fa)!important;backdrop-filter:blur(60px) saturate(200%)!important;-webkit-backdrop-filter:blur(60px) saturate(200%)!important;box-shadow:-10px 0 60px #00000026,0 0 0 1px #0000000f!important;border-radius:28px!important}[data-theme=dark] .mobile-menu{background:linear-gradient(180deg,#1e1e23fa,#16161afc)!important;box-shadow:-10px 0 60px #00000080,0 0 0 1px #ffffff0f!important}.menu-backdrop.active{background:#0006!important;backdrop-filter:blur(12px) saturate(150%)!important;-webkit-backdrop-filter:blur(12px) saturate(150%)!important}.menu-header{background:linear-gradient(135deg,#fffc,#f5f5f7b3)!important;backdrop-filter:blur(30px)!important;-webkit-backdrop-filter:blur(30px)!important;border-bottom:1px solid rgba(0,0,0,.06)!important;padding:22px 20px!important;border-radius:28px 28px 0 0!important}[data-theme=dark] .menu-header{background:linear-gradient(135deg,#26262acc,#1e1e22b3)!important;border-bottom:1px solid rgba(255,255,255,.06)!important}.menu-title{font-size:1.3rem!important;font-weight:800!important;letter-spacing:-.03em!important}.connection-badge{background:#0000000a!important;border:1px solid rgba(0,0,0,.06);border-radius:24px!important;padding:5px 14px!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=dark] .connection-badge{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.08)}.connection-dot{width:7px!important;height:7px!important;box-shadow:0 0 8px currentColor}.menu-section-title{font-size:.72rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;padding:10px 6px 6px!important}.theme-btn{border-radius:18px!important;padding:14px 18px!important;border:1px solid rgba(0,0,0,.06)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;background:#00000005!important}.theme-btn:hover{transform:translateY(-2px)!important;box-shadow:0 4px 16px #0000000f;border-color:#007aff26!important;background:#007aff08!important}.theme-btn.active{background:linear-gradient(135deg,#007aff,#5856d6)!important;border:none!important;box-shadow:0 6px 24px #007aff59,0 2px 8px #007aff33!important;transform:translateY(-1px)!important}[data-theme=dark] .theme-btn{background:#ffffff0a!important;border:1px solid rgba(255,255,255,.06)!important}[data-theme=dark] .theme-btn:hover{background:#ffffff14!important;border-color:#0a84ff33!important}[data-theme=dark] .theme-btn.active{background:linear-gradient(135deg,#0a84ff,#5e5ce6)!important;box-shadow:0 6px 30px #0a84ff66,0 2px 8px #0a84ff33!important}.theme-btn-icon{width:42px!important;height:42px!important;border-radius:14px!important;background:#0000000a!important;font-size:1.4rem!important}[data-theme=dark] .theme-btn-icon{background:#ffffff0f!important}.theme-btn.active .theme-btn-icon{background:#fff3!important;box-shadow:0 2px 8px #0000001a}.theme-check{width:24px!important;height:24px!important;border:2px solid rgba(0,0,0,.1)!important;transition:all .3s cubic-bezier(.68,-.55,.265,1.55)!important}.theme-btn.active .theme-check{background:#fff!important;border-color:#fff!important;box-shadow:0 2px 8px #00000026;transform:scale(1.1)}.menu-card-group{border-radius:20px!important;background:#00000005!important;border:1px solid rgba(0,0,0,.04);overflow:hidden!important;gap:0!important}[data-theme=dark] .menu-card-group{background:#ffffff08!important;border:1px solid rgba(255,255,255,.05)}.menu-card-item{padding:16px 18px!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.menu-card-item:hover{background:#007aff0a!important}.menu-card-item:active{background:#007aff14!important;transform:scale(.98)}[data-theme=dark] .menu-card-item:hover{background:#0a84ff0f!important}.menu-card-icon{width:40px!important;height:40px!important;border-radius:12px!important;font-size:1.3rem!important;background:linear-gradient(135deg,#007aff14,#5856d60f)!important;transition:all .3s ease}.menu-card-item:hover .menu-card-icon{transform:scale(1.1);box-shadow:0 2px 8px #007aff26}[data-theme=dark] .menu-card-icon{background:linear-gradient(135deg,#0a84ff1f,#5e5ce614)!important}.menu-card-title{font-size:.95rem!important;font-weight:600!important;letter-spacing:-.01em}.menu-card-arrow{font-size:1.2rem!important;color:#0003!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.menu-card-item:hover .menu-card-arrow{transform:translate(5px)!important;color:#007aff80!important}[data-theme=dark] .menu-card-arrow{color:#ffffff26!important}[data-theme=dark] .menu-card-item:hover .menu-card-arrow{color:#0a84ff80!important}.menu-card-danger .menu-card-icon{background:linear-gradient(135deg,#ff3b301a,#ff453a0f)!important}.menu-card-danger:hover .menu-card-icon{box-shadow:0 2px 8px #ff3b3033}.menu-time-card{background:#00000005!important;border:1px solid rgba(0,0,0,.04);border-radius:20px!important;padding:18px!important}[data-theme=dark] .menu-time-card{background:#ffffff08!important;border:1px solid rgba(255,255,255,.05)}.menu-time-icon-wrapper{width:50px!important;height:50px!important;border-radius:16px!important;background:linear-gradient(135deg,#007aff,#5856d6 60%,#af52de)!important;box-shadow:0 4px 16px #007aff4d}[data-theme=dark] .menu-time-icon-wrapper{background:linear-gradient(135deg,#0a84ff,#5e5ce6 60%,#bf5af2)!important;box-shadow:0 4px 20px #0a84ff59}.menu-time-value{font-size:1.15rem!important;font-weight:700!important;font-family:SF Mono,Menlo,Monaco,monospace!important;letter-spacing:.02em}.mobile-quick-controls{background:linear-gradient(180deg,#fffffffa,#f5f5f7fc)!important;border-radius:28px 28px 0 0!important;box-shadow:0 -8px 40px #0000001f,0 0 0 1px #0000000a!important}[data-theme=dark] .mobile-quick-controls{background:linear-gradient(180deg,#1e1e23fa,#16161afc)!important;box-shadow:0 -8px 40px #0006,0 0 0 1px #ffffff0f!important}.quick-controls-header{background:linear-gradient(135deg,#f5f5f7cc,#fff9)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;padding:18px 22px!important;border-bottom:1px solid rgba(0,0,0,.05)!important}[data-theme=dark] .quick-controls-header{background:linear-gradient(135deg,#26262a99,#1e1e2266)!important;border-bottom:1px solid rgba(255,255,255,.05)!important}.quick-controls-header h3{font-size:1.15rem!important;font-weight:800!important;letter-spacing:-.02em!important}.close-quick-controls{width:38px!important;height:38px!important;background:#0000000a!important;border:1px solid rgba(0,0,0,.06)!important;border-radius:50%!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-size:1.2rem!important}.close-quick-controls:hover{background:#ff3b301a!important;border-color:#ff3b3033!important;color:#ff3b30!important;transform:rotate(90deg) scale(1.1)!important}[data-theme=dark] .close-quick-controls{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.08)!important}.quick-control-btn{border-radius:20px!important;padding:18px 14px!important;border:1px solid rgba(0,0,0,.05)!important;background:linear-gradient(145deg,#fffc,#f5f5f799)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;min-height:110px!important;position:relative;overflow:hidden}.quick-control-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 100%);border-radius:20px 20px 0 0;pointer-events:none}.quick-control-btn:hover{transform:translateY(-4px)!important;box-shadow:0 8px 30px #0000001a,0 0 0 1px #007aff1a!important;border-color:#007aff26!important;background:linear-gradient(145deg,#007aff0a,#f5f5f7cc)!important}.quick-control-btn:active{transform:translateY(-1px) scale(.98)!important;transition-duration:.1s!important}[data-theme=dark] .quick-control-btn{background:linear-gradient(145deg,#2d2d3099,#23232666)!important;border:1px solid rgba(255,255,255,.06)!important}[data-theme=dark] .quick-control-btn:hover{box-shadow:0 8px 30px #0000004d,0 0 0 1px #0a84ff26!important;border-color:#0a84ff33!important;background:linear-gradient(145deg,#0a84ff14,#23232699)!important}.quick-control-btn .status-icon{font-size:2.2rem!important;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.quick-control-btn:hover .status-icon{transform:scale(1.15)}.quick-control-btn .status-label{font-size:.85rem!important;font-weight:700!important;letter-spacing:-.01em}.quick-control-btn .status-count{font-size:1.2rem!important;font-weight:800!important;background:linear-gradient(135deg,#007aff,#5856d6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .quick-control-btn .status-count{background:linear-gradient(135deg,#0a84ff,#5e5ce6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title{font-size:.78rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--text-tertiary)!important;margin:24px 0 14px!important;padding-left:4px}.relay-buttons-grid .relay-btn,.relay-buttons-grid .btn-quick-toggle{border-radius:18px!important;padding:14px 12px!important;border:1px solid rgba(0,0,0,.05)!important;background:linear-gradient(145deg,#fffc,#f5f5f799)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;min-height:85px!important;position:relative;overflow:hidden}.relay-buttons-grid .relay-btn:hover,.relay-buttons-grid .btn-quick-toggle:hover{transform:translateY(-3px)!important;box-shadow:0 6px 20px #00000014!important;border-color:#34c75926!important}[data-theme=dark] .relay-buttons-grid .relay-btn,[data-theme=dark] .relay-buttons-grid .btn-quick-toggle{background:linear-gradient(145deg,#2d2d3099,#23232666)!important;border:1px solid rgba(255,255,255,.06)!important}.relay-buttons-grid .relay-btn.active,.relay-buttons-grid .btn-quick-toggle.active,.relay-btn.active,.btn-quick-toggle.relay-btn.active{background:linear-gradient(135deg,#34c759f2,#2ecc71e6)!important;border-color:#34c75980!important;box-shadow:0 6px 24px #34c75966,0 0 40px #34c75926!important}[data-theme=dark] .relay-btn.active,[data-theme=dark] .btn-quick-toggle.relay-btn.active{background:linear-gradient(135deg,#34c759d9,#2ecc71cc)!important;box-shadow:0 6px 30px #34c75973,0 0 60px #34c75933!important}.mobile-status-panel{background:linear-gradient(180deg,#fffffffa,#f5f5f7fc)!important;border-radius:28px 28px 0 0!important;box-shadow:0 -8px 40px #0000001f,0 0 0 1px #0000000a!important}[data-theme=dark] .mobile-status-panel{background:linear-gradient(180deg,#1e1e23fa,#16161afc)!important;box-shadow:0 -8px 40px #0006,0 0 0 1px #ffffff0f!important}.status-panel-header{background:linear-gradient(135deg,#f5f5f7cc,#fff9)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;padding:18px 22px!important;border-bottom:1px solid rgba(0,0,0,.05)!important}[data-theme=dark] .status-panel-header{background:linear-gradient(135deg,#26262a99,#1e1e2266)!important;border-bottom:1px solid rgba(255,255,255,.05)!important}.status-panel-header h3{font-size:1.15rem!important;font-weight:800!important;letter-spacing:-.02em!important}.status-donut-container{background:linear-gradient(145deg,#fffc,#f5f5f799)!important;border-radius:20px!important;padding:20px!important;border:1px solid rgba(0,0,0,.04)}[data-theme=dark] .status-donut-container{background:linear-gradient(145deg,#2d2d3080,#2323264d)!important;border:1px solid rgba(255,255,255,.05)}.donut-total{font-weight:800!important;letter-spacing:-.02em}.panel-backdrop.visible{background:#00000059!important;backdrop-filter:blur(10px) saturate(150%)!important;-webkit-backdrop-filter:blur(10px) saturate(150%)!important}.edit-mode-header{padding:18px!important}.edit-mode-header h3{font-size:1.15rem!important;font-weight:800!important;letter-spacing:-.02em;margin-bottom:14px}.edit-mode-buttons{gap:10px!important}.edit-mode-buttons button{border-radius:14px!important;padding:12px 18px!important;font-weight:700!important;font-size:.85rem!important;border:1px solid rgba(0,0,0,.06)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}.edit-mode-buttons button:after{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 100%);border-radius:inherit;pointer-events:none}.edit-mode-buttons button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.edit-mode-buttons button:active{transform:translateY(0) scale(.97);transition-duration:.1s}.menu-about-btn{border-radius:16px!important;padding:14px!important;background:#00000005!important;border:1px solid rgba(0,0,0,.04)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-weight:600!important}.menu-about-btn:hover{background:#007aff0a!important;border-color:#007aff1a!important;transform:translateY(-1px)}[data-theme=dark] .menu-about-btn{background:#ffffff08!important;border:1px solid rgba(255,255,255,.05)!important}[data-theme=dark] .menu-about-btn:hover{background:#0a84ff0f!important;border-color:#0a84ff1f!important}.menu-version{font-size:.7rem!important;font-weight:600!important;letter-spacing:.03em;opacity:.5}.mobile-container{padding:14px 14px 84px!important}.mode-content::-webkit-scrollbar,.menu-items::-webkit-scrollbar,.quick-controls-content::-webkit-scrollbar,.status-panel-content::-webkit-scrollbar{width:4px}.mode-content::-webkit-scrollbar-track,.menu-items::-webkit-scrollbar-track,.quick-controls-content::-webkit-scrollbar-track,.status-panel-content::-webkit-scrollbar-track{background:transparent}.mode-content::-webkit-scrollbar-thumb,.menu-items::-webkit-scrollbar-thumb,.quick-controls-content::-webkit-scrollbar-thumb,.status-panel-content::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}[data-theme=dark] .mode-content::-webkit-scrollbar-thumb,[data-theme=dark] .menu-items::-webkit-scrollbar-thumb,[data-theme=dark] .quick-controls-content::-webkit-scrollbar-thumb,[data-theme=dark] .status-panel-content::-webkit-scrollbar-thumb{background:#ffffff1a}@keyframes premiumSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes premiumFadeIn{0%{opacity:0}to{opacity:1}}.mobile-quick-controls.open,.mobile-status-panel.open{animation:premiumSlideUp .4s cubic-bezier(.4,0,.2,1)}.mobile-menu.active .menu-section{animation:premiumSlideUp .4s cubic-bezier(.4,0,.2,1) both}.mobile-menu.active .menu-section:nth-child(1){animation-delay:.05s}.mobile-menu.active .menu-section:nth-child(2){animation-delay:.1s}.mobile-menu.active .menu-section:nth-child(3){animation-delay:.15s}.mobile-menu.active .menu-section:nth-child(4){animation-delay:.2s}.mobile-menu.active .menu-section:nth-child(5){animation-delay:.25s}.connection-status{border-radius:24px!important;padding:6px 14px!important;font-weight:600!important;font-size:.78rem!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease}.connection-status .status-dot{box-shadow:0 0 10px currentColor}.connection-status.connected{background:#34c7591a!important;border:1px solid rgba(52,199,89,.2)}.connection-status.disconnected{background:#ff3b301a!important;border:1px solid rgba(255,59,48,.2)}.main-app{background:linear-gradient(180deg,#f5f5f7,#ececee,#f0f0f2)!important}.main-app:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(0,122,255,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 90% 80%,rgba(88,86,214,.04) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 50% 50%,rgba(52,199,89,.02) 0%,transparent 70%);pointer-events:none;z-index:0;animation:ambientShift 20s ease-in-out infinite alternate}@keyframes ambientShift{0%{background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(0,122,255,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 90% 80%,rgba(88,86,214,.04) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 50% 50%,rgba(52,199,89,.02) 0%,transparent 70%)}33%{background:radial-gradient(ellipse 70% 70% at 30% 70%,rgba(88,86,214,.05) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 80% 20%,rgba(0,122,255,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 60% 40%,rgba(255,149,0,.02) 0%,transparent 70%)}66%{background:radial-gradient(ellipse 60% 80% at 70% 30%,rgba(52,199,89,.04) 0%,transparent 60%),radial-gradient(ellipse 80% 50% at 20% 80%,rgba(175,82,222,.04) 0%,transparent 60%),radial-gradient(ellipse 70% 70% at 50% 50%,rgba(0,122,255,.025) 0%,transparent 70%)}to{background:radial-gradient(ellipse 80% 60% at 90% 70%,rgba(255,59,48,.03) 0%,transparent 60%),radial-gradient(ellipse 60% 70% at 10% 30%,rgba(0,122,255,.05) 0%,transparent 60%),radial-gradient(ellipse 70% 60% at 50% 90%,rgba(88,86,214,.03) 0%,transparent 70%)}}[data-theme=dark] .main-app{background:linear-gradient(180deg,#1c1c1e,#161618,#1a1a1c)!important}[data-theme=dark] .main-app:before{background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(0,122,255,.06) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 90% 80%,rgba(88,86,214,.06) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 50% 50%,rgba(52,199,89,.03) 0%,transparent 70%);animation:ambientShiftDark 25s ease-in-out infinite alternate}@keyframes ambientShiftDark{0%{background:radial-gradient(ellipse 80% 60% at 10% 20%,rgba(0,122,255,.06) 0%,transparent 60%),radial-gradient(ellipse 60% 80% at 90% 80%,rgba(88,86,214,.06) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 50% 50%,rgba(52,199,89,.03) 0%,transparent 70%)}33%{background:radial-gradient(ellipse 70% 70% at 30% 70%,rgba(88,86,214,.07) 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 80% 20%,rgba(10,132,255,.06) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 60% 40%,rgba(255,159,10,.03) 0%,transparent 70%)}66%{background:radial-gradient(ellipse 60% 80% at 70% 30%,rgba(48,209,88,.05) 0%,transparent 60%),radial-gradient(ellipse 80% 50% at 20% 80%,rgba(191,90,242,.06) 0%,transparent 60%),radial-gradient(ellipse 70% 70% at 50% 50%,rgba(10,132,255,.035) 0%,transparent 70%)}to{background:radial-gradient(ellipse 80% 60% at 90% 70%,rgba(255,69,58,.04) 0%,transparent 60%),radial-gradient(ellipse 60% 70% at 10% 30%,rgba(10,132,255,.07) 0%,transparent 60%),radial-gradient(ellipse 70% 60% at 50% 90%,rgba(94,92,230,.04) 0%,transparent 70%)}}.block-section{background:linear-gradient(145deg,#ffffffbf,#f8f8faa6)!important;backdrop-filter:blur(30px) saturate(180%)!important;-webkit-backdrop-filter:blur(30px) saturate(180%)!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:24px!important;margin-bottom:20px!important;box-shadow:0 4px 24px #0000000a,0 1px 4px #00000005,inset 0 1px #fffc,inset 0 -1px #00000005!important;transition:all .5s cubic-bezier(.4,0,.2,1)!important;overflow:hidden!important;position:relative}.block-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.9) 20%,rgba(255,255,255,.9) 80%,transparent 100%);border-radius:24px 24px 0 0;pointer-events:none;z-index:1}.block-section:hover{box-shadow:0 8px 40px #00000012,0 2px 8px #00000008,inset 0 1px #ffffffe6,0 0 0 1px #007aff0f!important;transform:translateY(-2px)}.block-section.collapsed{margin-bottom:14px!important}.block-section.collapsed:hover{transform:translateY(-1px)}[data-theme=dark] .block-section{background:linear-gradient(145deg,#26262ab3,#1e1e2299)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 4px 24px #0003,0 1px 4px #0000001a,inset 0 1px #ffffff0d,inset 0 -1px #0000001a!important}[data-theme=dark] .block-section:before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 20%,rgba(255,255,255,.06) 80%,transparent 100%)}[data-theme=dark] .block-section:hover{box-shadow:0 8px 40px #00000059,0 2px 8px #00000026,inset 0 1px #ffffff14,0 0 0 1px #0a84ff1a!important}.block-header{background:linear-gradient(135deg,#f8f8fab3,#ffffff80,#f8f8fa66)!important;padding:18px 20px!important;border-bottom:1px solid rgba(0,0,0,.04)!important;border-radius:24px 24px 0 0!important;transition:all .35s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}.block-header:after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,rgba(0,122,255,.1),transparent);opacity:0;transition:opacity .3s ease}.block-header:hover:after{opacity:1}.block-section.collapsed .block-header{border-radius:24px!important;border-bottom:none!important}.block-header:hover{background:linear-gradient(135deg,#007aff08,#f5f5f799,#5856d605)!important}[data-theme=dark] .block-header{background:linear-gradient(135deg,#32323680,#2a2a2e66,#3232364d)!important;border-bottom:1px solid rgba(255,255,255,.04)!important}[data-theme=dark] .block-header:after{background:linear-gradient(90deg,transparent,rgba(10,132,255,.15),transparent)}[data-theme=dark] .block-header:hover{background:linear-gradient(135deg,#0a84ff0f,#32323680,#5e5ce60a)!important}.block-collapse-btn{width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#00000008!important;border:1px solid rgba(0,0,0,.05)!important;border-radius:10px!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important;color:var(--text-secondary)!important;flex-shrink:0}.block-collapse-btn:hover{background:#007aff14!important;border-color:#007aff26!important;color:#007aff!important;transform:scale(1.1)}.collapse-icon{display:inline-block;font-size:.7rem!important;transition:transform .4s cubic-bezier(.68,-.55,.265,1.55)!important}.block-section.collapsed .block-collapse-btn .collapse-icon{transform:rotate(-90deg)!important}[data-theme=dark] .block-collapse-btn{background:#ffffff0a!important;border:1px solid rgba(255,255,255,.06)!important}[data-theme=dark] .block-collapse-btn:hover{background:#0a84ff1f!important;border-color:#0a84ff33!important;color:#0a84ff!important}.block-label{font-weight:800!important;font-size:1.1rem!important;letter-spacing:-.02em!important;background:linear-gradient(135deg,#1a1a2e,#2d2d5e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .block-label{background:linear-gradient(135deg,#fff,#c8c8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-item{padding:5px 12px!important;background:#00000008!important;border:1px solid rgba(0,0,0,.04);border-radius:10px!important;font-weight:600!important;font-size:.8rem!important;transition:all .25s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.stat-item:hover{background:#007aff0f!important;border-color:#007aff1a;transform:scale(1.05)}[data-theme=dark] .stat-item{background:#ffffff0a!important;border:1px solid rgba(255,255,255,.06)}[data-theme=dark] .stat-item:hover{background:#0a84ff1a!important;border-color:#0a84ff26}.floors-container{padding:4px 14px 14px!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;transform-origin:top center}.block-section:not(.collapsed) .floors-container{animation:accordionExpand .45s cubic-bezier(.4,0,.2,1) both}@keyframes accordionExpand{0%{opacity:0;transform:translateY(-8px) scaleY(.96);max-height:0}to{opacity:1;transform:translateY(0) scaleY(1);max-height:5000px}}.block-section.collapsed .floors-container{display:none!important;animation:none}.floor-section{background:linear-gradient(145deg,#ffffff8c,#f8f8fa66)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid rgba(255,255,255,.4)!important;border-radius:18px!important;padding:14px!important;margin-bottom:14px!important;transition:all .35s cubic-bezier(.4,0,.2,1)!important;position:relative;overflow:hidden}.floor-section:before{content:"";position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);pointer-events:none}.floor-section:hover{background:linear-gradient(145deg,#ffffffb3,#f8f8fa8c)!important;border-color:#007aff26!important;box-shadow:0 4px 20px #0000000d,inset 0 0 0 1px #007aff0a;transform:translateY(-1px)}.floor-section:last-child{margin-bottom:4px!important}.floor-section.has-floor-plan{border-left:3px solid rgba(52,199,89,.4)!important}.floor-section.has-floor-plan:hover{border-left-color:#34c759b3!important}[data-theme=dark] .floor-section{background:linear-gradient(145deg,#2c2c3080,#24242859)!important;border:1px solid rgba(255,255,255,.06)!important}[data-theme=dark] .floor-section:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent)}[data-theme=dark] .floor-section:hover{background:linear-gradient(145deg,#32323699,#2a2a2e73)!important;border-color:#0a84ff33!important;box-shadow:0 4px 20px #00000026,inset 0 0 0 1px #0a84ff0f}.floor-header{background:linear-gradient(135deg,#f8f8fa80,#ffffff4d)!important;border-radius:14px!important;padding:10px 14px!important;margin-bottom:12px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;border:1px solid rgba(0,0,0,.02)}.floor-header:hover{background:linear-gradient(135deg,#007aff0a,#f5f5f780)!important;border-color:#007aff14}[data-theme=dark] .floor-header{background:linear-gradient(135deg,#38383c66,#3030344d)!important;border:1px solid rgba(255,255,255,.03)}[data-theme=dark] .floor-header:hover{background:linear-gradient(135deg,#0a84ff0f,#38383c80)!important;border-color:#0a84ff14}.floor-collapse-btn{width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#00000008!important;border:1px solid rgba(0,0,0,.04)!important;border-radius:8px!important;transition:all .4s cubic-bezier(.4,0,.2,1)!important;cursor:pointer!important;font-size:.65rem!important;flex-shrink:0}.floor-collapse-btn:hover{background:#007aff14!important;border-color:#007aff1f!important;color:#007aff!important}.floor-section.collapsed .floor-collapse-btn .collapse-icon{transform:rotate(-90deg)!important}[data-theme=dark] .floor-collapse-btn{background:#ffffff0a!important;border:1px solid rgba(255,255,255,.05)!important}[data-theme=dark] .floor-collapse-btn:hover{background:#0a84ff1a!important;border-color:#0a84ff26!important;color:#0a84ff!important}.floor-section:not(.collapsed) .apartments-grid{animation:floorExpand .35s cubic-bezier(.4,0,.2,1) both}@keyframes floorExpand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.floor-section.collapsed .apartments-grid{display:none!important;animation:none}.floor-label{font-weight:800!important;font-size:.95rem!important;letter-spacing:-.01em!important}.floor-badge{padding:4px 12px!important;background:linear-gradient(135deg,#007aff1a,#5856d614)!important;border:1px solid rgba(0,122,255,.1);border-radius:12px!important;font-size:.8rem!important;font-weight:700!important;color:#007aff!important;transition:all .25s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.floor-header:hover .floor-badge{background:linear-gradient(135deg,#007aff26,#5856d61f)!important;transform:scale(1.05)}[data-theme=dark] .floor-badge{background:linear-gradient(135deg,#0a84ff26,#5e5ce61a)!important;border:1px solid rgba(10,132,255,.15);color:#0a84ff!important}[data-theme=dark] .floor-header:hover .floor-badge{background:linear-gradient(135deg,#0a84ff33,#5e5ce626)!important}.block-content.active .block-section{animation:blockStaggerIn .5s cubic-bezier(.4,0,.2,1) both}.block-content.active .block-section:nth-child(1){animation-delay:0s}.block-content.active .block-section:nth-child(2){animation-delay:.06s}.block-content.active .block-section:nth-child(3){animation-delay:.12s}.block-content.active .block-section:nth-child(4){animation-delay:.18s}.block-content.active .block-section:nth-child(5){animation-delay:.24s}.block-content.active .block-section:nth-child(6){animation-delay:.3s}@keyframes blockStaggerIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.floors-container .floor-section:nth-child(1){animation-delay:.03s}.floors-container .floor-section:nth-child(2){animation-delay:.06s}.floors-container .floor-section:nth-child(3){animation-delay:.09s}.floors-container .floor-section:nth-child(4){animation-delay:.12s}.floors-container .floor-section:nth-child(5){animation-delay:.15s}.floors-container .floor-section:nth-child(6){animation-delay:.18s}.floors-container .floor-section:nth-child(7){animation-delay:.21s}.floors-container .floor-section:nth-child(8){animation-delay:.24s}.floors-container .floor-section:nth-child(9){animation-delay:.27s}.floors-container .floor-section:nth-child(10){animation-delay:.3s}.floors-container .floor-section{animation:floorStaggerIn .4s cubic-bezier(.4,0,.2,1) both}@keyframes floorStaggerIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.block-section.has-background-image{position:relative;overflow:hidden!important}.block-section.has-background-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--block-bg-image);background-size:cover;background-position:center;opacity:.06;pointer-events:none;z-index:0;transition:opacity .5s ease;border-radius:24px}.block-section.has-background-image:hover:after{opacity:.1}.block-section.has-background-image>*{position:relative;z-index:1}[data-theme=dark] .block-section.has-background-image:after{opacity:.08}[data-theme=dark] .block-section.has-background-image:hover:after{opacity:.14}.block-bg-view-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#00000008;border:1px solid rgba(0,0,0,.05);border-radius:10px;cursor:pointer;font-size:1.1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.block-bg-view-btn:hover{background:#007aff14;border-color:#007aff26;transform:scale(1.12) rotate(5deg)}[data-theme=dark] .block-bg-view-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}[data-theme=dark] .block-bg-view-btn:hover{background:#0a84ff1f;border-color:#0a84ff33}.floor-plan-view-btn{transition:all .3s cubic-bezier(.4,0,.2,1)!important;border-radius:12px!important}.floor-plan-view-btn:hover{transform:translateY(-2px) scale(1.05)!important;box-shadow:0 4px 16px #34c75933!important}.apartments-grid .apartment-btn{animation:aptFadeIn .3s cubic-bezier(.4,0,.2,1) both}.apartments-grid .apartment-btn:nth-child(1){animation-delay:0s}.apartments-grid .apartment-btn:nth-child(2){animation-delay:.02s}.apartments-grid .apartment-btn:nth-child(3){animation-delay:.04s}.apartments-grid .apartment-btn:nth-child(4){animation-delay:.06s}.apartments-grid .apartment-btn:nth-child(5){animation-delay:.08s}.apartments-grid .apartment-btn:nth-child(6){animation-delay:.1s}.apartments-grid .apartment-btn:nth-child(7){animation-delay:.12s}.apartments-grid .apartment-btn:nth-child(8){animation-delay:.14s}.apartments-grid .apartment-btn:nth-child(9){animation-delay:.16s}.apartments-grid .apartment-btn:nth-child(10){animation-delay:.18s}.apartments-grid .apartment-btn:nth-child(11){animation-delay:.2s}.apartments-grid .apartment-btn:nth-child(12){animation-delay:.22s}@keyframes aptFadeIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){body{overflow-x:hidden;max-width:100vw}*{-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,input,select,textarea{min-height:44px;min-width:44px}.mobile-container{padding:12px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}.glass-card{margin:8px 0;padding:12px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.1rem}p{font-size:.95rem;line-height:1.6}.form-input,.form-select,.project-select,select,textarea{width:100%;font-size:16px!important;max-width:100%}button:not(.icon-btn){width:100%;padding:14px 20px;font-size:1rem;border-radius:12px}.apartments-grid{grid-template-columns:repeat(auto-fill,minmax(55px,1fr));gap:8px}.led-settings-modal .led-settings-content,.facade-text-modal .facade-text-content{width:100%;max-width:100vw;height:100%;max-height:100vh;max-height:100dvh;border-radius:0;margin:0}.flex-row{flex-direction:column;gap:12px}.scrollable-content{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}}@media(max-width:480px){.mobile-container{padding:8px}h1{font-size:1.5rem}h2{font-size:1.3rem}h3{font-size:1.15rem}button{padding:12px 16px;font-size:.95rem}.apartments-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.apartment-btn{font-size:.75rem;padding:8px 4px}.stat-item{font-size:.7rem;padding:4px 8px}}@media(min-width:769px)and (max-width:1024px){.mobile-container{padding:20px;max-width:900px;margin:0 auto}.apartments-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr))}.flex-row{flex-direction:row}.led-settings-content{width:80%;max-width:700px;max-height:85vh}}@media(max-height:600px)and (orientation:landscape){.mobile-header{height:52px}:root{--header-height: 52px;--bottom-nav-height: 56px}.mobile-menu{width:280px;top:8px;bottom:8px}.mobile-container{padding:8px 12px 64px}.led-settings-content,.facade-text-content{max-height:95vh;max-height:95dvh;padding:12px}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glass-card,.led-settings-content,button{box-shadow:0 4px 16px #0000001f}}@media(hover:none)and (pointer:coarse){*:hover{transition:none}button:not(.edit-mode-card):active,.apartment-btn:not(.edit-mode-card):active,.menu-card-item:active{transform:scale(.95);opacity:.8}button,a,input,select{min-height:48px;min-width:48px}.led-mapping-badge{min-height:40px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;font-size:.75rem}.led-inline-save,.led-inline-cancel{min-height:38px;height:38px;font-size:.85rem}.led-inline-input{min-height:38px;font-size:.82rem}*{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable]{-webkit-user-select:text;user-select:text}select{-webkit-touch-callout:default}}@supports (padding: env(safe-area-inset-bottom)){.mobile-header{padding-top:env(safe-area-inset-top,0);height:calc(var(--header-height) + env(safe-area-inset-top,0))}.mobile-container{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}.bottom-nav{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0))}}@media(max-width:767px){input[type=text],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=url],input[type=search],textarea,select{font-size:16px!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:768px){[data-theme=dark] .mobile-container{background:var(--ios-bg-primary)}[data-theme=dark] .form-input,[data-theme=dark] select{background:var(--ios-bg-secondary);border-color:#ffffff1a}[data-theme=dark] button:not(.btn-primary){background:var(--ios-bg-secondary);border-color:#ffffff26}}@media print{.mobile-header,.bottom-nav,.mobile-menu-btn,.mobile-menu,button:not(.apartment-btn){display:none!important}.mobile-container{padding:0}*{background:#fff!important;color:#000!important}}@media screen and (max-width:768px){input[type=text],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=url],input[type=search],input[type=date],input[type=time],input[type=datetime-local],select,textarea{font-size:16px!important}}html,body{overscroll-behavior:none;overscroll-behavior-y:none}.scrollable,.mode-content,.modal-body,.panel-content,.settings-content,[class*=-list],[class*=-scroll]{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media(pointer:coarse){button,.btn,.nav-btn,.menu-item,.clickable,[role=button],input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}input,select,textarea{min-height:44px}}@supports (-webkit-touch-callout: none){.mobile-bottom-nav{position:fixed;bottom:0;padding-bottom:calc(var(--safe-bottom) + 8px)}.mobile-header{padding-top:var(--safe-top)}.modal,.panel-overlay,.login-screen{height:var(--app-height);height:-webkit-fill-available}body.modal-open,body.panel-open{position:fixed;width:100%;overflow:hidden}}@supports not (-webkit-touch-callout: none){.main-app,.login-screen{min-height:var(--app-height);min-height:-webkit-fill-available}}button,.btn,.nav-btn,.apartment-btn,.block-tab,.floor-toggle,[role=button]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--radius-md)}button{-webkit-appearance:none;-moz-appearance:none;appearance:none}@media(hover:none)and (pointer:coarse){*{-webkit-tap-highlight-color:transparent}button:active,.btn:active,.apartment-btn:not(.edit-mode-card):active{transform:scale(.97);transition:transform .1s ease}}@media screen and (max-height:500px)and (orientation:landscape){.mobile-header{height:50px}.mobile-bottom-nav{height:56px}.mode-content{top:50px;bottom:56px}.login-card{max-height:90vh;overflow-y:auto}}@media all and (display-mode:standalone){.mobile-header{padding-top:var(--safe-top)}.mobile-bottom-nav{padding-bottom:var(--safe-bottom)}}@media(max-width:768px){.floor-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;width:100%;box-sizing:border-box;overflow:hidden}.floor-collapse-btn{flex-shrink:0;width:32px;height:32px;min-width:32px}.floor-name,.floor-label{flex:1 1 auto;min-width:50px;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floor-toggle{flex:0 0 40px!important;width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important;padding:6px!important;margin:0 4px!important}.floor-toggle .sun-icon{width:22px;height:22px}.block-toggle{flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;padding:8px!important;margin:0 4px!important}.block-toggle .sun-icon{width:24px;height:24px}.floor-plan-view-btn{flex-shrink:0;height:32px;padding:0 10px;font-size:10px;gap:4px;margin-left:auto;max-width:100px;overflow:hidden}.floor-plan-view-btn .fp-btn-icon{font-size:13px}.floor-plan-view-btn .fp-btn-text{font-size:9px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.block-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;width:100%;box-sizing:border-box;overflow:hidden}.block-name{flex:1 1 auto;min-width:60px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.block-stats{order:10;width:100%;margin-top:8px;justify-content:flex-start}}@media(max-width:400px){.floor-header{padding:8px 10px;gap:6px}.floor-toggle{flex:0 0 36px!important;width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;min-height:36px!important;max-height:36px!important;padding:4px!important}.floor-toggle .sun-icon{width:20px;height:20px}.floor-plan-view-btn{height:28px;padding:0 8px;max-width:80px}.floor-plan-view-btn .fp-btn-text{display:none}.floor-plan-view-btn .fp-btn-icon{font-size:14px}.block-toggle{flex:0 0 40px!important;width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important}.block-toggle .sun-icon{width:22px;height:22px}.floor-name,.floor-label{font-size:.85rem}.block-name,.block-title{font-size:.9rem}}@media(max-width:480px){.mobile-quick-controls{position:fixed!important;left:0!important;right:0!important;bottom:var(--bottom-nav-height, 60px)!important;width:100%!important;max-width:100%!important;margin:0!important;border-radius:20px 20px 0 0!important;box-sizing:border-box!important;inset:auto 0 var(--bottom-nav-height, 60px) 0!important}.quick-controls-content{padding:10px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}.quick-controls-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;padding:0!important}.quick-control-btn{padding:10px 6px!important;min-height:75px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;margin:0!important}.quick-control-btn .status-icon,.quick-control-btn .control-icon{font-size:1.4rem!important}.quick-control-btn .status-label,.quick-control-btn .control-text{font-size:.7rem!important;word-break:break-word!important;text-align:center!important;line-height:1.2!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important}.quick-control-btn .status-count,.quick-control-btn .control-count{font-size:.65rem!important;padding:2px 5px!important}.relay-buttons-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;padding:0!important}.relay-buttons-grid .btn-quick-toggle,.relay-buttons-grid .relay-btn{padding:8px 4px!important;min-height:65px!important;font-size:.7rem!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.quick-controls-content .section-title{font-size:.7rem!important;margin:10px 0 6px!important}.quick-controls-header{padding:12px 10px!important}.quick-controls-header h3{font-size:1rem!important}.close-quick-controls{width:32px!important;height:32px!important;font-size:1.2rem!important}#quickControlsGrid,.quick-controls-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:6px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0!important;margin:0!important;overflow:hidden!important}.quick-control-item{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:0!important;margin:0!important;overflow:hidden!important}.btn-quick-toggle{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:10px 8px!important;gap:6px!important;overflow:hidden!important;flex-wrap:nowrap!important}.btn-quick-toggle .toggle-icon{font-size:1.2rem!important;flex-shrink:0!important}.btn-quick-toggle .toggle-label{flex:1 1 auto!important;min-width:0!important;font-size:.7rem!important;line-height:1.2!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.btn-quick-toggle .toggle-label small{font-size:.6rem!important}.btn-quick-toggle .toggle-state{flex-shrink:0!important;font-size:.55rem!important;padding:2px 5px!important;white-space:nowrap!important}#apartmentTypeButtons,#groupButtons{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:6px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}}@media(max-width:480px){.feature-modal{padding:40px 10px 10px!important;align-items:flex-start!important}.feature-modal-content,.media-upload-content{width:100%!important;max-width:100%!important;max-height:calc(100vh - 80px)!important;margin:0!important;border-radius:16px!important;box-sizing:border-box!important}.feature-modal-header{padding:12px 16px!important;gap:8px!important;flex-wrap:nowrap!important}.feature-modal-header h3{font-size:1rem!important;flex:1!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.close-feature-modal{flex-shrink:0!important;width:32px!important;height:32px!important;font-size:1.4rem!important}.feature-modal-body{padding:12px 16px!important;overflow-y:auto!important;overflow-x:hidden!important}.feature-modal-footer{padding:12px 16px!important;gap:8px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}.feature-modal-footer .btn-secondary,.feature-modal-footer .btn-primary{flex:1!important;padding:12px 16px!important;font-size:.9rem!important}.media-preview-container{min-height:150px!important;max-height:250px!important}.media-preview-img{max-height:220px!important}.media-preview-remove{width:36px!important;height:36px!important;top:4px!important;right:4px!important}.media-upload-zone{padding:16px!important}.upload-zone-icon{font-size:24px!important}.upload-zone-text{font-size:.85rem!important}.upload-zone-hint{font-size:.7rem!important}}@media(max-width:480px){.edit-mode-card,.apartment-btn{padding:8px!important;min-height:70px!important;border-radius:10px!important}.apartment-btn{gap:2px!important}.apt-number{font-size:.8rem!important}.apt-type-badge{font-size:.55rem!important;padding:2px 5px!important}.apt-m2-badge{font-size:.5rem!important;padding:1px 4px!important}.apt-name{font-size:.75rem!important}.apt-type{font-size:.65rem!important}.status-dropdown{font-size:.7rem!important;padding:4px 20px 4px 6px!important}.apartments-grid,.edit-mode-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;padding:8px!important}.edit-media-btn,.edit-floorplan-btn{font-size:.7rem!important;padding:4px 8px!important;gap:3px!important;border-radius:12px!important}.floor-media-buttons{margin-left:auto!important;margin-right:0!important}.edit-mode-header{padding:12px!important}.edit-mode-header h3{font-size:1rem!important}.edit-mode-buttons{flex-wrap:wrap!important;gap:6px!important}.edit-mode-buttons .btn-edit{font-size:.75rem!important;padding:8px 12px!important}.block-content.edit-mode .floor-header{padding:6px 8px!important;gap:6px!important}.block-content.edit-mode .floor-name{font-size:.85rem!important}.block-content.edit-mode .block-header{padding:10px 12px!important}.block-content.edit-mode .block-title{font-size:.9rem!important}}.apartment-btn,.edit-mode-card,.status-dropdown,.quick-control-btn,.floor-toggle,.block-toggle,.btn,button,select,input,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.status-dropdown{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.apartment-btn:active,.quick-control-btn:active{transform:scale(.97);transition:transform .1s ease}.edit-mode-card{transition:background-color .2s ease,box-shadow .2s ease,opacity .2s ease!important}.edit-mode-card:active{transform:none!important;transition:none!important}@media(max-width:768px){.mobile-status-panel{position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:0!important;max-height:100vh!important;height:100vh!important;border-radius:0!important;z-index:9100!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.mobile-status-panel.open{transform:translateY(0)!important;visibility:visible!important}.status-panel-header{position:sticky!important;top:0!important;z-index:10!important;padding:16px!important;padding-top:calc(16px + env(safe-area-inset-top,0px))!important;background:var(--ios-bg-secondary)!important;border-bottom:1px solid var(--ios-separator)!important;flex-shrink:0!important}.status-panel-header h3{font-size:1.1rem!important;flex:1!important}.status-panel-actions{display:flex!important;align-items:center!important;gap:8px!important}.status-action-btn{width:38px!important;height:38px!important;font-size:1.1rem!important;border-radius:8px!important;background:var(--bg-tertiary)!important}.close-status-panel{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:20px!important;font-weight:700!important;background:#ff3b30!important;color:#fff!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important}.status-panel-content{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;-webkit-overflow-scrolling:touch!important}.status-donut-container{flex-direction:column!important;align-items:center!important;gap:16px!important;padding:16px!important}.status-donut-chart{width:150px!important;height:150px!important}.status-legend{width:100%!important;display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.legend-item{padding:10px 12px!important;border-radius:10px!important;background:var(--bg-tertiary)!important}.financial-metrics{display:flex!important;flex-direction:column!important;gap:10px!important}.metric-card{flex-direction:row!important;padding:14px!important;gap:12px!important}.metric-icon{font-size:1.5rem!important;width:44px!important;height:44px!important}.metric-info{flex:1!important}.metric-value{font-size:1.3rem!important}.metric-bar{width:100%!important;max-width:80px!important}.blocks-summary{display:flex!important;flex-direction:column!important;gap:8px!important}.block-summary-card{padding:12px 14px!important}.activity-list{max-height:none!important}.activity-item{padding:12px!important}.status-apartments-modal{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;padding:0!important;z-index:9200!important}.status-apartments-modal-inner{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:0!important;display:flex!important;flex-direction:column!important}.status-apartments-header{position:sticky!important;top:0!important;z-index:10!important;padding:16px!important;padding-top:calc(16px + env(safe-area-inset-top,0px))!important;background:var(--ios-bg-primary)!important;border-bottom:1px solid var(--ios-separator)!important}.status-apartments-header h4{font-size:1.1rem!important}.close-status-apartments{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:20px!important;font-weight:700!important;background:#ff3b30!important;color:#fff!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important}.status-apartments-list{flex:1!important;overflow-y:auto!important;padding:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}.status-apartment-item{padding:14px!important;border-radius:12px!important}.status-apartment-name{font-size:1rem!important}.status-apartment-badge{padding:6px 12px!important;font-size:.8rem!important}.section-subtitle{font-size:.95rem!important;padding:8px 0!important}.feature-modal{padding:0!important}.feature-modal-content{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;border-radius:0!important;display:flex!important;flex-direction:column!important}.feature-modal-header{position:sticky!important;top:0!important;z-index:10!important;padding:16px!important;padding-top:calc(16px + env(safe-area-inset-top,0px))!important;background:var(--ios-bg-primary)!important;flex-shrink:0!important}.feature-modal-header h3{font-size:1.1rem!important;flex:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.close-feature-modal{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:20px!important;font-weight:700!important;background:#ff3b30!important;color:#fff!important;border-radius:50%!important;flex-shrink:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.feature-modal-body{flex:1!important;overflow-y:auto!important;overflow-x:hidden!important;padding:16px!important;-webkit-overflow-scrolling:touch!important}.feature-modal-footer{position:sticky!important;bottom:0!important;z-index:10!important;padding:16px!important;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;background:var(--ios-bg-secondary)!important;flex-shrink:0!important;gap:10px!important}.feature-modal-footer .btn-secondary,.feature-modal-footer .btn-primary{flex:1!important;padding:14px 20px!important;font-size:1rem!important;min-height:48px!important}.about-content{padding:10px 0!important}.about-logo-img{width:180px!important}.about-title{font-size:1.4rem!important}.about-subtitle{font-size:.9rem!important}.about-version{margin:16px 0!important}.version-badge{font-size:.9rem!important;padding:6px 14px!important}.about-description{text-align:left!important}.about-description h3{font-size:1.1rem!important}.about-description p,.about-description li{font-size:.9rem!important;line-height:1.5!important}.about-features{text-align:left!important}.about-features h4{font-size:1rem!important}.about-features li{font-size:.85rem!important}.about-copyright{padding-top:16px!important}.copyright-text,.copyright-notice{font-size:.75rem!important}.about-contact p{font-size:.8rem!important}}@media(max-width:480px){.status-panel-header{padding:12px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important}.status-panel-header h3{font-size:1rem!important}.status-action-btn{width:34px!important;height:34px!important;font-size:1rem!important}.close-status-panel{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:18px!important}.status-panel-content{padding:10px!important}.status-donut-chart{width:120px!important;height:120px!important}.donut-total{font-size:1.4rem!important}.donut-label{font-size:.65rem!important}.status-legend{grid-template-columns:1fr 1fr!important;gap:6px!important}.legend-item{padding:8px 10px!important}.legend-text{font-size:.75rem!important}.legend-value{font-size:.9rem!important}.legend-percent{font-size:.7rem!important}.section-subtitle{font-size:.9rem!important;margin:14px 0 8px!important}.metric-card{padding:12px!important;gap:10px!important}.metric-icon{font-size:1.3rem!important;width:38px!important;height:38px!important}.metric-value{font-size:1.1rem!important}.metric-label{font-size:.75rem!important}.block-summary-card{padding:10px 12px!important}.block-summary-icon{width:32px!important;height:32px!important;font-size:1.1rem!important}.block-summary-name{font-size:.85rem!important}.block-summary-stats{font-size:.7rem!important}.activity-item{padding:10px!important;gap:8px!important}.activity-icon{width:28px!important;height:28px!important;font-size:.9rem!important}.activity-text{font-size:.8rem!important}.activity-time{font-size:.65rem!important}.status-apartments-header{padding:12px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important}.status-apartments-header h4{font-size:1rem!important}.close-status-apartments{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:18px!important}.status-apartments-list{padding:10px!important}.status-apartment-item{padding:12px!important}.status-apartment-name{font-size:.9rem!important}.status-apartment-location{font-size:.75rem!important}.feature-modal-header{padding:12px!important;padding-top:calc(12px + env(safe-area-inset-top,0px))!important}.feature-modal-header h3{font-size:1rem!important}.close-feature-modal{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;font-size:18px!important}.feature-modal-body{padding:12px!important}.feature-modal-footer{padding:12px!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}.feature-modal-footer .btn-secondary,.feature-modal-footer .btn-primary{padding:12px 16px!important;font-size:.9rem!important;min-height:44px!important}.about-logo-img{width:150px!important}.about-title{font-size:1.2rem!important}.about-subtitle{font-size:.8rem!important}.about-description h3{font-size:1rem!important}.about-description p,.about-description li{font-size:.85rem!important}.about-features li{font-size:.8rem!important}}button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;cursor:pointer;border:none;outline:none;transition:all .3s ease}button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1em;box-shadow:0 2px 8px #4a90e24d;border:none}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2868a6);box-shadow:0 4px 12px #4a90e266;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #4a90e24d}.btn-secondary{background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333);padding:12px 24px;border-radius:8px;font-weight:500;font-size:1em;border:2px solid var(--border-color, #ddd)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary, #e8e8e8);border-color:var(--primary-color, #4A90E2);transform:translateY(-2px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-logout,.btn-danger{background:linear-gradient(135deg,#ff3b30,#d32f2f);color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1em;box-shadow:0 2px 8px #ff3b304d;border:none}.btn-logout:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#d32f2f,#b71c1c);box-shadow:0 4px 12px #ff3b3066;transform:translateY(-2px)}.btn-logout:active:not(:disabled),.btn-danger:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #ff3b304d}.btn-success{background:linear-gradient(135deg,#34c759,#28a745);color:#fff;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1em;box-shadow:0 2px 8px #34c7594d;border:none}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#28a745,#218838);box-shadow:0 4px 12px #34c75966;transform:translateY(-2px)}.btn-icon{background:transparent;color:var(--text-secondary);padding:8px 12px;border-radius:6px;font-size:1.2em;border:none}.btn-icon:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.admin-nav-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-weight:500;font-size:.9em;transition:all .3s;flex:1;min-width:100px}.admin-nav-btn span:first-child{font-size:1.8em}.admin-nav-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.admin-nav-btn.active{color:var(--primary-color, #4A90E2);border-bottom-color:var(--primary-color, #4A90E2);font-weight:600}.admin-nav-btn.active span:first-child{transform:scale(1.1)}button.loading{position:relative;pointer-events:none;opacity:.6}button.loading:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spinner .6s linear infinite}@keyframes btn-spinner{to{transform:rotate(360deg)}}.btn-group{display:flex;gap:10px;flex-wrap:wrap}.btn-group button{flex:1;min-width:120px}.wizard-actions{display:flex;justify-content:space-between;gap:15px;padding:20px;background:var(--bg-secondary);border-top:2px solid var(--border-color)}.wizard-actions button{min-width:120px;padding:14px 28px;font-size:1.05em}.btn-sm{padding:6px 12px;font-size:.85em}.btn-block{width:100%;display:block}@media(max-width:768px){.btn-primary,.btn-secondary,.btn-logout,.btn-danger{padding:14px 20px;font-size:1em}.admin-nav-btn{padding:12px 10px;font-size:.85em}.admin-nav-btn span:first-child{font-size:1.5em}.btn-group{flex-direction:column}.btn-group button{width:100%}}[data-theme=dark] .btn-secondary{background:#2c2c2e;color:#e5e5ea;border-color:#3a3a3c}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#3a3a3c;border-color:#4a90e2}[data-theme=dark] .btn-icon{color:#98989d}[data-theme=dark] .btn-icon:hover:not(:disabled){background:#2c2c2e;color:#e5e5ea}button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-logout{position:relative;overflow:hidden}.btn-primary:before,.btn-secondary:before,.btn-success:before,.btn-danger:before,.btn-logout:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:active:not(:disabled):before,.btn-secondary:active:not(:disabled):before,.btn-success:active:not(:disabled):before,.btn-danger:active:not(:disabled):before,.btn-logout:active:not(:disabled):before{width:300px;height:300px}#wizardPrevBtn{background:linear-gradient(135deg,#6c757d,#5a6268)}#wizardNextBtn{background:linear-gradient(135deg,#4a90e2,#357abd)}#wizardFinishBtn{background:linear-gradient(135deg,#34c759,#28a745);box-shadow:0 2px 8px #34c7594d}#wizardFinishBtn:hover:not(:disabled){background:linear-gradient(135deg,#28a745,#218838);box-shadow:0 4px 12px #34c75966}#wizardCancelBtn{background:transparent;color:var(--danger-color, #FF3B30);border:2px solid var(--danger-color, #FF3B30)}#wizardCancelBtn:hover:not(:disabled){background:var(--danger-color, #FF3B30);color:#fff}.admin-header button{white-space:nowrap}.section-header button{white-space:nowrap;min-width:auto}#newProjectBtn{background:linear-gradient(135deg,#34c759,#28a745);font-size:1.1em;padding:14px 28px;box-shadow:0 3px 10px #34c7594d}#newProjectBtn:hover:not(:disabled){background:linear-gradient(135deg,#28a745,#218838);box-shadow:0 5px 15px #34c75966;transform:translateY(-3px)}#refreshDevicesBtn{display:inline-flex;align-items:center;gap:8px}.feature-modal-footer button{min-width:120px}.close-feature-modal,.close-quick-controls,.close-status-panel,.close-led-settings,.close-project-password{background:transparent;color:var(--text-secondary);border:none;font-size:1.8em;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-feature-modal:hover,.close-quick-controls:hover,.close-status-panel:hover,.close-led-settings:hover,.close-project-password:hover{background:#0000001a;color:var(--text-primary);transform:rotate(90deg)}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px #4a90e24d}50%{box-shadow:0 4px 20px #4a90e299}}.btn-primary.pulse{animation:pulse-glow 2s ease-in-out infinite}@media(hover:none)and (pointer:coarse){button{min-height:44px;min-width:44px}.btn-primary,.btn-secondary,.btn-logout,.btn-danger,.btn-success{padding:16px 24px;font-size:1.05em}}@media(max-width:480px){button{font-size:.95em;padding:12px 18px}.admin-nav-btn{padding:10px 8px;font-size:.8em;min-width:70px}.btn-group{width:100%}.btn-group button{flex:1;min-width:0}}@media(max-width:768px)and (orientation:landscape){button{padding:10px 16px;font-size:.9em}.admin-nav-btn{padding:8px 10px}}@media(prefers-contrast:high){button{border-width:2px;font-weight:700}.btn-primary,.btn-success{border:2px solid #000}.btn-danger{border:2px solid #fff}}@media(prefers-reduced-motion:reduce){button{transition:none}button:hover,button:active{transform:none}}@media(max-width:768px){button:focus-visible{outline:3px solid var(--primary-color, #4A90E2);outline-offset:2px}.btn-danger:focus-visible{outline-color:#ff3b30}.btn-success:focus-visible{outline-color:#34c759}}@keyframes device-online-pulse{0%{box-shadow:0 0 #0f86}70%{box-shadow:0 0 0 10px #0f80}to{box-shadow:0 0 #0f80}}.device-online-pulse{animation:device-online-pulse 2s ease-in-out infinite}@keyframes status-icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.device-card-online .device-status-icon,.device-card[data-device-status=online] .device-status-icon{animation:status-icon-pulse 1.5s ease-in-out infinite}.online-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#0f8;box-shadow:0 0 8px #0f89;animation:status-icon-pulse 1.5s ease-in-out infinite}.offline-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#e74c3c}.device-card{transition:all .3s ease,box-shadow .3s ease,border-color .3s ease}.device-card[data-device-status=online]{border-left-color:#0f8!important}.device-card[data-device-status=offline]{border-left-color:#e74c3c!important;opacity:.85}@keyframes status-change-flash{0%{background-color:#0f83}to{background-color:transparent}}.device-status-changed{animation:status-change-flash 1s ease-out}.firmware-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;transition:all .3s ease}.firmware-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color, #667eea)}.firmware-info{flex:1}.firmware-name{font-weight:600;font-size:1rem;color:var(--text-primary, #2c3e50);margin-bottom:4px}.firmware-meta{display:flex;gap:16px;font-size:.85em;color:var(--text-secondary, #7f8c8d)}.firmware-actions{display:flex;gap:8px}.btn-sm{padding:6px 12px;font-size:.85rem;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease;font-weight:500}.btn-primary.btn-sm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary.btn-sm:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.btn-secondary.btn-sm{background:var(--bg-tertiary, #e9ecef);color:var(--text-primary, #2c3e50);border:1px solid var(--border-color, #e0e0e0)}.btn-secondary.btn-sm:hover{background:var(--bg-secondary, #dee2e6)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-secondary, #7f8c8d);background:var(--bg-secondary, #f8f9fa);border-radius:12px;border:2px dashed var(--border-color, #e0e0e0)}.empty-state p{font-size:1rem;margin:0}.card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;border:1px solid var(--border-color, #e0e0e0)}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary, #2c3e50);font-size:.95rem}.form-input{padding:10px 14px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:.95rem;transition:all .2s ease;background:#fff}.form-input:focus{outline:none;border-color:var(--primary-color, #667eea);box-shadow:0 0 0 3px #667eea1a}input[type=file]{font-family:inherit;cursor:pointer}input[type=file]::-webkit-file-upload-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}input[type=file]::-webkit-file-upload-button:hover{transform:scale(1.05)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-primary:active{transform:translateY(0)}@media(max-width:768px){.firmware-item{flex-direction:column;gap:12px;align-items:flex-start}.firmware-actions{width:100%;flex-direction:column}.btn-sm{width:100%;text-align:center}.card{padding:16px}}.file-info{padding:8px 12px;background:var(--bg-secondary, #f8f9fa);border-radius:6px;border-left:3px solid var(--success-color, #27ae60);color:var(--text-secondary, #7f8c8d);font-size:.9em}.device-checkbox-item{margin-bottom:4px}.device-checkbox-item:last-child{margin-bottom:0}.ota-device-checkbox{accent-color:var(--primary-color, #667eea)}#otaDeviceList::-webkit-scrollbar{width:8px}#otaDeviceList::-webkit-scrollbar-track{background:var(--bg-tertiary, #f0f0f0);border-radius:4px}#otaDeviceList::-webkit-scrollbar-thumb{background:var(--border-color, #ccc);border-radius:4px}#otaDeviceList::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #999)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-state{animation:pulse 1.5s ease-in-out infinite}.perf-card{transition:transform .2s ease,box-shadow .2s ease;cursor:default}.perf-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.1)}.perf-meter{transition:transform .2s ease;border:1px solid var(--border-color)}.perf-meter:hover{transform:translateY(-1px)}#deviceHealthGrid>div{transition:transform .2s ease,box-shadow .2s ease}#deviceHealthGrid>div:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.12)}@media(max-width:768px){#deviceHealthGrid{grid-template-columns:1fr!important}}
