@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Press+Start+2P&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--bg:#09090e;--bg-card:#0e0e17;--bg-card2:#13131f;--bg-metric:#171725;--bg-input:#111119;--bg-tab:#0b0b13;--border:rgba(255,255,255,0.05);--border-md:rgba(255,255,255,0.09);--border-active:rgba(129,140,248,0.3);--text-1:#eef0f8;--text-2:#72778f;--text-3:#3e4358;--accent:#818cf8;--green:#10b981;--green-bg:rgba(16,185,129,0.1);--green-text:#34d399;--amber:#f59e0b;--amber-bg:rgba(245,158,11,0.1);--amber-text:#fbbf24;--blue:#38bdf8;--blue-bg:rgba(56,189,248,0.1);--blue-text:#7dd3fc;--purple:#818cf8;--purple-bg:rgba(167,139,250,0.1);--purple-text:#c4b5fd;--yellow:#f59e0b;--red:#fb7185;--red-bg:rgba(251,113,133,0.1);--red-text:#fda4af;--bg-app:#09090e;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-num:"Space Grotesk","Inter",system-ui,sans-serif}.num{font-family:var(--font-num);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}*,:after,:before{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{height:100%;margin:0}body:has(.dashboard-app){overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width:600px) and (min-height:500px){body:has(.dashboard-app){height:100svh;height:var(--real-vh,100svh);min-height:0;overflow:hidden;justify-content:center}.dashboard-app .tabs,.dashboard-app .topbar{position:relative;top:auto}.dashboard-app{width:100%!important;max-width:100%!important;height:calc(var(--real-vh, 100svh));max-height:none;flex:1 1 auto!important;border-radius:0;overflow:clip;box-shadow:none;border:none!important}}body{font-family:var(--font);background:var(--bg);color:var(--text-1);min-height:100dvh;align-items:center;line-height:1.4}.app,body{display:flex;flex-direction:column}.app{width:100%;max-width:520px;flex:1 1}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:8px 12px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20;flex-shrink:0}.topbar-logo{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:15px;font-weight:800;letter-spacing:.5px;cursor:pointer;padding:0;white-space:nowrap;text-shadow:0 0 14px rgba(129,140,248,.35)}.topbar-logo span{color:var(--text-1);font-weight:600}.topbar-logo-new svg{transition:filter .3s}.topbar-logo-name{font-size:14px}.topbar-logo-bot{font-size:6px}.topbar-sub{font-size:10px;color:var(--text-2);margin-top:1px}.topbar-right{gap:6px}.topbar-icon-btn,.topbar-right{display:flex;align-items:center}.topbar-icon-btn{background:none;border:1px solid var(--border);color:var(--text-3);border-radius:8px;width:32px;height:32px;min-height:0;padding:0;justify-content:center;cursor:pointer;transition:all .15s}.topbar-icon-btn:hover{color:var(--text-1);border-color:var(--border-md)}.online-badge{display:flex;align-items:center;gap:5px;background:var(--green-bg);color:var(--green-text);font-size:10px;font-weight:600;padding:4px 8px;border-radius:20px;border:1px solid rgba(34,197,94,.2);white-space:nowrap}.online-badge.offline{background:var(--red-bg);color:var(--red-text);border-color:rgba(239,68,68,.25)}.online-badge.loading{background:rgba(251,191,36,.08);color:#ca8a04;border-color:rgba(251,191,36,.25)}.online-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.tabs{background:var(--bg-tab);border-bottom:1px solid var(--border);display:flex;padding:0 2px;position:-webkit-sticky;position:sticky;top:48px;z-index:19;flex-shrink:0}.tab{flex:1 1;padding:8px 3px;font-family:var(--font);font-size:11px;font-weight:600;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-3);cursor:pointer;transition:color .15s,border-color .15s;text-decoration:none;text-align:center;letter-spacing:.2px}.tab.active{color:var(--text-1);border-bottom-color:var(--accent)}.tab:hover:not(.active){color:var(--text-2)}.page{display:flex;flex-direction:column;gap:12px;padding:16px 16px 32px;animation:fadeIn .18s ease-out}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.card-title-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.card-title{font-size:14px;font-weight:600}.link-hover:hover{text-decoration:underline}.section-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);padding:0 2px;margin-top:4px}.dash-sensor{padding:10px 12px}.metrics-strip{display:flex;align-items:stretch}.mc{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px}.mc--vpd{flex:.85 1}.mc-label{font-size:9px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.mc-value{display:flex;align-items:baseline;gap:1px;line-height:1}.mc-value span:first-child{font-size:clamp(22px,6.5vw,30px);font-weight:700;letter-spacing:-1px;color:var(--text-1)}.mc-value--sm span:first-child{font-size:clamp(16px,4.5vw,22px);letter-spacing:-.5px}.mc-unit{font-size:10px;font-weight:500;color:var(--text-3);align-self:flex-end;padding-bottom:2px}.mc-vsep{width:1px;background:var(--border);align-self:stretch;flex-shrink:0;margin:6px 0}.mc-range{flex-direction:column;gap:1px;width:100%}.mc-ext,.mc-range{display:flex;align-items:center}.mc-ext{gap:3px;font-size:10px;font-weight:500;line-height:1}.mc-ext-icon{font-size:8px;opacity:.5}.mc-ext-val{font-weight:700}.mc-ext-time{font-size:9px;font-weight:400;opacity:.55}.mc-ext--cold{color:#7dd3fc}.mc-ext--hot{color:#fda4af}.mc-ext--dry{color:#fbbf24}.mc-ext--wet{color:#34d399}.vpd-badge{font-size:10px;font-weight:600;letter-spacing:.2px;white-space:nowrap;color:var(--text-3)}.vpd-badge.optimal{color:var(--green-text)}.vpd-badge.moderate{color:var(--amber-text)}.vpd-badge.high,.vpd-badge.low{color:var(--red-text)}.admin-history-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.history-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;overflow:hidden;animation:chart-card-in .28s ease-out both;box-shadow:0 1px 6px rgba(0,0,0,.22)}.history-card:nth-child(2){animation-delay:.08s}.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.history-sub{color:var(--text-3);font-size:10px;font-weight:600;margin-top:2px}.history-last{color:var(--text-1);font-size:18px;font-weight:800;line-height:1}.history-plot{height:148px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px}.history-plot svg{width:100%;height:100%;display:block;font-family:var(--font-num)}.history-axis{stroke:rgba(255,255,255,.08);stroke-width:1}.history-scale{fill:var(--text-3);font-size:9px;font-weight:700}.history-line,.history-line-glow{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-history-line .9s cubic-bezier(.2,.8,.2,1) forwards}.history-line{stroke-width:2.4}.history-line-glow{stroke-width:9;opacity:.22;filter:blur(1.5px)}.history-dot{opacity:0;animation:chart-dot-in .22s ease-out .85s forwards}.history-empty{height:100%;align-items:center;justify-content:center;font-size:12px;font-weight:700}.history-empty,.history-foot{display:flex;color:var(--text-3)}.history-foot{justify-content:space-between;font-size:10px;font-weight:600;margin-top:6px}.dashboard-charts-row,.dashboard-secondary-row{display:flex;flex-direction:column;gap:8px}.relay-section{display:flex;flex-direction:column;gap:4px}.relay-btn-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.relay-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;transition:border-color .2s,background .2s,box-shadow .2s;box-shadow:0 1px 4px rgba(0,0,0,.28)}.relay-btn.is-on{border-color:var(--border-active);background:linear-gradient(135deg,#171d28,#0f1a14);box-shadow:0 0 0 1px rgba(16,185,129,.1),0 2px 10px rgba(16,185,129,.07)}.relay-btn-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 5px var(--red);position:absolute;top:6px;right:6px}.relay-btn-dot.on{background:var(--green);box-shadow:0 0 7px var(--green)}.relay-btn-icon{font-size:18px;line-height:1}.relay-btn-name{font-size:10px;font-weight:600;color:var(--text-2);text-align:center;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.relay-btn.is-on .relay-btn-name{color:var(--text-1)}.relay-btn-mode{font-size:8px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-3)}.relay-btn.is-on .relay-btn-mode{color:var(--green-text)}.relay-btn-mode.ir,.relay-btn.is-on .relay-btn-mode.ir{color:#2dd4bf}.dashboard-relay-compact .relay-btn-grid{grid-template-columns:repeat(4,1fr);gap:5px}.dashboard-relay-compact .relay-btn{padding:4px 3px 5px;gap:1px;min-height:60px}.dashboard-relay-compact .relay-btn-icon{font-size:22px!important;line-height:1}.dashboard-relay-compact .relay-btn-name{font-size:9px;font-weight:700;line-height:1.1;margin-top:1px}.dashboard-relay-compact .relay-btn-mode{font-size:7px}.dashboard-relay-compact .relay-btn-dot{width:6px;height:6px;top:4px;right:4px}.snapshot-section{display:flex;flex-direction:column;gap:6px}.snapshot-section-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px}.snapshot-list{gap:6px}.snapshot-card,.snapshot-list{display:flex;flex-direction:column}.snapshot-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:8px 12px;gap:4px}.snapshot-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.snapshot-date{font-family:var(--font-num);font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:-.01em}.snapshot-cycle{font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:99px;white-space:nowrap}.snapshot-metric{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.3}.snapshot-icon{font-size:13px;flex-shrink:0;width:16px;text-align:center}.snapshot-ideal{font-family:var(--font-num);font-size:14px;font-weight:800;letter-spacing:-.02em;margin-right:4px;flex-shrink:0}.snapshot-thresh{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--font-num);font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:-.01em}.snapshot-thresh-on{white-space:nowrap}.snapshot-thresh-dot{color:var(--text-3);opacity:.5;font-weight:400}.params-fixed-page{display:flex;flex-direction:column;padding:8px 10px calc(env(safe-area-inset-bottom, 0px) + 24px);gap:8px;animation:fadeIn .18s ease-out}@media (min-width:600px) and (min-height:500px){.params-fixed-page{padding-bottom:8px}}.params-soil-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-shrink:0}.params-soil-label{font-size:11px;font-weight:700;color:var(--text-2);letter-spacing:.2px;white-space:nowrap}.params-soil-btns{display:flex;gap:4px;flex:1 1}.params-soil-btn{flex:1 1;padding:5px 0;font-size:11px;font-weight:700;border-radius:6px;border:1px solid var(--border-md);background:var(--bg-input);color:var(--text-3);cursor:pointer;transition:all .15s}.params-soil-btn.active{background:rgba(129,140,248,.18);border-color:rgba(129,140,248,.5);color:var(--accent)}.params-compact-card{min-height:220px;padding:6px 8px!important;display:flex;flex-direction:column}.params-compact-card .card-title-row{margin-bottom:4px!important;padding-bottom:4px!important}.params-compact-card .card-title{font-size:12px}.params-compact-card .setpoint-row{margin-bottom:6px;padding:4px 8px!important;gap:6px}.params-compact-card .setpoint-input{font-size:13px!important;width:36px!important}.params-compact-card .setpoint-btn{font-size:11px!important;padding:4px 8px!important}.params-compact-card .quad-labels{margin-bottom:4px;gap:2px 6px}.params-compact-card .ql-tag{font-size:9px!important}.params-compact-card .ql-val{font-size:13px!important}.params-compact-card .quad-range-wrap{margin:2px 0;height:60px}.params-compact-card .quad-setpoint-line{height:24px!important}.params-compact-card .quad-point-value{top:38px!important;font-size:9px!important}.params-compact-card .dual-hints{font-size:9px;margin-top:0}.params-tile-row{display:flex;gap:6px;flex-shrink:0}.params-mini-tile{flex:1 1;display:flex;align-items:center;gap:6px;padding:7px 9px;min-width:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:var(--text-1);cursor:pointer;transition:all .15s;text-align:left}.params-mini-tile:hover{border-color:var(--border-md);background:var(--bg-card2)}.params-mini-tile span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.devices-fixed-page{display:flex;flex-direction:column;padding:6px 8px calc(env(safe-area-inset-bottom, 0px) + 24px);gap:6px;animation:fadeIn .18s ease-out}@media (min-width:600px) and (min-height:500px){.devices-fixed-page{padding-bottom:6px}}.relay-grid-2col{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,minmax(80px,auto));grid-gap:6px;gap:6px}.tile-relay{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 8px 8px;display:flex;flex-direction:column;gap:5px;transition:border-color .2s,background .2s;min-height:0;min-width:0;overflow:hidden}.tile-relay.is-on{border-color:rgba(34,197,94,.35);background:linear-gradient(135deg,#131820,#131a16)}.tile-relay-head{display:flex;align-items:center;gap:6px;min-width:0}.tile-relay-icon{font-size:18px;line-height:1;flex-shrink:0}.tile-relay-name{flex:1 1;font-size:11px;font-weight:700;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.1px}.tile-relay-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 5px var(--red);flex-shrink:0}.tile-relay-dot.on{background:#4ade80;box-shadow:0 0 6px #4ade80}.tile-mode-chips{display:flex;gap:3px}.tile-mode-chip{flex:1 1;min-width:0;padding:4px 2px;font-size:9px;font-weight:700;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-3);cursor:pointer;transition:all .15s;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-mode-chip.sel{background:rgba(129,140,248,.14);color:var(--accent);border-color:rgba(129,140,248,.32)}.tile-mode-chip:hover:not(.sel){background:var(--bg-metric);color:var(--text-2)}.tile-toggle{width:100%;height:28px;padding:0 10px;background:var(--bg-metric);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .2s}.tile-toggle:hover:not(:disabled){border-color:var(--border-md)}.tile-toggle:disabled{opacity:.6;cursor:wait}.tile-toggle-switch{position:relative;width:32px;height:18px;flex-shrink:0;background:rgba(120,120,140,.18);border-radius:9px;transition:background .22s}.tile-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#6b7080;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .22s cubic-bezier(.4,.2,.2,1),background .22s}.tile-toggle.on .tile-toggle-switch{background:rgba(34,197,94,.22)}.tile-toggle.on .tile-toggle-switch:after{transform:translateX(14px);background:#4ade80;box-shadow:0 1px 4px rgba(74,222,128,.5)}.tile-toggle-text{font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:.2px;transition:color .22s}.tile-toggle.on .tile-toggle-text{color:rgba(74,222,128,.95)}.tile-config-btn{width:100%;height:28px;padding:0 8px;background:var(--bg-metric);border:1px solid var(--border);border-radius:8px;color:var(--text-2);font-size:10px;font-weight:700;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px;letter-spacing:.3px}.tile-config-btn:hover:not(:disabled){border-color:rgba(129,140,248,.32);color:var(--accent)}.tile-config-btn:disabled{opacity:.5;cursor:wait}.tile-relay-trigger{font-family:var(--font-num);font-weight:600;color:var(--text-2);background:rgba(129,140,248,.06);border:1px solid rgba(129,140,248,.12);border-radius:6px;padding:3px 5px;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis}.tile-relay-status,.tile-relay-trigger{font-size:10px;text-align:center;overflow:hidden}.tile-relay-status{color:var(--text-3);line-height:1.3;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tile-relay-error{font-size:10px;color:var(--red-text);background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:6px;padding:4px 6px;line-height:1.3}.tile-relay-hint{font-size:9px;color:var(--text-3);opacity:.7;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.esp-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;font-size:12px;font-weight:600;line-height:1.3}.esp-banner.loading{background:rgba(129,140,248,.08);border:1px solid rgba(129,140,248,.22);color:var(--text-2)}.esp-banner.offline{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);color:var(--red-text)}.modal-fullscreen{position:fixed;inset:0;z-index:1000;background:var(--bg-app);display:flex;flex-direction:column;animation:slideUpIn .2s ease-out}@keyframes slideUpIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-fullscreen-header{background:var(--bg-card);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0}.modal-back-btn{background:var(--bg-metric);border:1px solid var(--border);border-radius:8px;width:32px;height:32px;min-height:0;padding:0;font-size:18px;cursor:pointer;justify-content:center}.modal-back-btn,.modal-title{color:var(--text-1);display:flex;align-items:center}.modal-title{gap:6px;font-size:14px;font-weight:700;flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-fullscreen-body{flex:1 1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.modal-fullscreen-footer{background:var(--bg-card);border-top:1px solid var(--border);padding:10px 14px;flex-shrink:0;display:flex;gap:8px}.modal-fullscreen-footer>button{flex:1 1;padding:11px 14px;font-size:14px;font-weight:700}.btn-cancel{background:var(--bg-metric)!important;color:var(--text-2)!important;border:1px solid var(--border)!important}.cfg-group{display:flex;flex-direction:column;gap:6px}.cfg-mode-banner{background:rgba(129,140,248,.08);border:1px solid rgba(129,140,248,.22);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--text-2);text-align:center}.dashboard-fixed-page{display:flex;flex-direction:column;padding:6px 8px calc(env(safe-area-inset-bottom, 0px) + 24px);gap:6px;animation:fadeIn .18s ease-out}@media (min-width:600px) and (min-height:500px){.dashboard-fixed-page{padding-bottom:6px}}.dashboard-chart-compact{min-height:160px;display:flex;flex-direction:column}.dashboard-chart-compact .history-card{flex:1 1;min-height:130px;padding:8px;display:flex;flex-direction:column}.dashboard-chart-compact .history-plot{flex:1 1;min-height:90px;height:auto!important}.dashboard-chart-compact .history-foot{font-size:9px;padding-top:4px}.history-detail-btn{width:100%;margin-top:8px;padding:8px 12px;background:var(--bg-metric);border:1px solid var(--border-md);border-radius:8px;color:var(--text-2);font-size:11px;font-weight:700;letter-spacing:.4px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;min-height:0}.history-detail-btn:hover{border-color:rgba(129,140,248,.4);color:var(--accent);background:rgba(129,140,248,.08)}.relays-list{display:flex;flex-direction:column;gap:8px}.relay-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;transition:border-color .2s,background .2s}.relay-card.is-on{border-color:var(--border-active);background:linear-gradient(135deg,#1a1d26,#1a2620)}.relay-header{justify-content:space-between;gap:10px}.relay-header,.relay-left{display:flex;align-items:center}.relay-left{gap:12px;min-width:0}.relay-icon{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--bg-metric);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.relay-card.is-on .relay-icon{background:var(--green-bg);border-color:rgba(34,197,94,.3)}.relay-name{font-size:14px;font-weight:600}.relay-status{font-size:11px;color:var(--text-2);margin-top:3px}.relay-state-dot{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);flex-shrink:0}.relay-state-dot.on{background:var(--green);box-shadow:0 0 10px var(--green)}.mode-selector{display:flex;gap:6px;margin-top:12px}.mode-btn{flex:1 1;padding:9px 4px;border-radius:var(--radius-sm);border:1px solid var(--border-md);background:transparent;color:var(--text-2);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.mode-btn.sel,.mode-btn:hover{background:var(--bg-metric);color:var(--text-1)}.mode-extra{margin-top:12px}.mode-hint{font-size:12px;color:var(--text-2);background:var(--bg-metric);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;line-height:1.5}.mode-hint.ir{border-color:rgba(45,212,191,.3);color:var(--text-1)}.ir-scene-row{display:flex;align-items:flex-end;gap:10px;margin-bottom:10px}.ir-scene-row .btn-secondary{width:auto;min-width:84px;margin-bottom:0}.ir-scene-id{color:var(--text-3);font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ir-link-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-metric);padding:10px 12px;margin-bottom:10px}.manual-actions{display:flex;gap:8px}.timer-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.timer-box{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border);padding:10px 12px}.timer-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-3);margin-bottom:5px}button,input[type=submit]{background:var(--text-1);color:var(--bg);border:none;padding:13px 14px;font-family:var(--font);font-size:14px;font-weight:700;border-radius:var(--radius-md);cursor:pointer;transition:opacity .15s,transform .08s;min-height:46px;width:100%}button:hover{opacity:.88}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}.menu-item{transition:background .1s}.menu-item:hover:not(:disabled){background:var(--bg-metric)!important;opacity:1}.menu-item:active:not(:disabled){transform:none}.btn-secondary{background:var(--bg-metric);color:var(--text-1);border:1px solid var(--border-md)}.btn-on{background:var(--green);color:#06210d}.btn-off{background:var(--red);color:#2a0808}.btn-save{background:linear-gradient(135deg,#38bdf8,#22d3ee);color:#032331;margin-top:6px;border:1px solid rgba(125,211,252,.65);box-shadow:0 8px 24px rgba(34,211,238,.22),inset 0 1px 0 rgba(255,255,255,.35)}.btn-save:hover{opacity:1;box-shadow:0 10px 30px rgba(34,211,238,.32),inset 0 1px 0 rgba(255,255,255,.45)}.save-appear{animation:saveButtonIn .24s cubic-bezier(.2,.8,.2,1) both}@keyframes saveButtonIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cfg-label,label{font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--text-2);display:block;margin:12px 0 6px;text-transform:uppercase}input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select{font-family:var(--font);font-size:14px;width:100%;padding:11px 12px;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-1);border:1px solid var(--border-md);outline:none;color-scheme:dark}input:focus,select:focus{border-color:var(--accent)}.auth-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 24px;display:flex;flex-direction:column;gap:4px}.druida-logo{display:flex;align-items:center;gap:14px;margin-bottom:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:logo-flicker 8s linear infinite}.druida-logo-icon svg{display:block;animation:logo-icon-pulse 3.5s ease-in-out infinite}.druida-logo-text{display:flex;flex-direction:column;gap:5px}.druida-logo-name{font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.5px;line-height:1;background:linear-gradient(115deg,#818cf8,#c4b5fd 30%,#38bdf8 60%,#818cf8);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:logo-shimmer 5s ease-in-out infinite}.druida-logo-badge{display:flex;align-items:center;gap:5px;font-family:Press Start\ 2P,monospace;font-size:8px;color:#10b981;letter-spacing:1px}.druida-logo-cursor{color:#10b981;font-size:9px;animation:logo-cursor-blink 1.2s step-end infinite}.druida-logo-ver{color:rgba(16,185,129,.45);font-size:6.5px;letter-spacing:.5px;margin-left:2px}.topbar-logo-new{display:flex;align-items:center;gap:7px;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-decoration:none;animation:logo-flicker 7s linear infinite}.topbar-logo-new svg{display:block;flex-shrink:0;filter:drop-shadow(0 0 5px rgba(129,140,248,.35))}a:hover .topbar-logo-new svg{filter:drop-shadow(0 0 9px rgba(129,140,248,.6))}.topbar-logo-stack{display:flex;flex-direction:column;gap:2px}.topbar-logo-name{font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1;background:linear-gradient(115deg,#818cf8,#c4b5fd 40%,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topbar-logo-bot{font-family:Press Start\ 2P,monospace;font-size:7px;color:#10b981;letter-spacing:.5px;line-height:1}.admin-layout .topbar-logo-new{gap:10px}.admin-layout .topbar-logo-new svg{width:36px;height:36px}.admin-layout .topbar-logo-name{font-size:22px}.admin-layout .topbar-logo-bot{font-size:8px;letter-spacing:1px}@keyframes logo-icon-pulse{0%,to{filter:drop-shadow(0 0 4px rgba(129,140,248,.2))}50%{filter:drop-shadow(0 0 12px rgba(129,140,248,.55)) drop-shadow(0 0 24px rgba(129,140,248,.18))}}@keyframes logo-shimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes logo-cursor-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes logo-flicker{0%{filter:brightness(1)}7%{filter:brightness(.93)}14%{filter:brightness(1.06)}19%{filter:brightness(1)}19.5%{filter:brightness(.81)}20%{filter:brightness(1.09)}20.5%{filter:brightness(1)}28%{filter:brightness(.94)}36%{filter:brightness(1.05)}44%{filter:brightness(1)}44.5%{filter:brightness(.79)}45%{filter:brightness(1.1)}45.5%{filter:brightness(1)}54%{filter:brightness(.93)}62%{filter:brightness(1.06)}70%{filter:brightness(1)}70.5%{filter:brightness(.82)}71%{filter:brightness(1.08)}71.5%{filter:brightness(1)}80%{filter:brightness(.95)}88%{filter:brightness(1.04)}93%{filter:brightness(1)}93.4%{filter:brightness(.86)}93.8%{filter:brightness(1.05)}94%{filter:brightness(1)}to{filter:brightness(1)}}.auth-logo{font-size:22px;font-weight:800;letter-spacing:.5px;color:var(--accent);margin-bottom:6px;text-shadow:0 0 14px rgba(129,140,248,.35)}.auth-logo span{color:var(--text-1);font-weight:600}.auth-sub{font-size:13px;color:var(--text-2);margin-bottom:18px}.auth-error{background:var(--red-bg);color:var(--red-text);border:1px solid rgba(251,113,133,.2);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-top:8px}.auth-link{font-size:12px;color:var(--text-2);text-align:center;margin-top:12px}.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border-md);background:var(--bg-metric);color:var(--text-1);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:4px}.btn-google:hover:not(:disabled){border-color:rgba(129,140,248,.4);background:var(--bg-card2)}.btn-google:disabled{opacity:.55;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:12px;margin:10px 0 6px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-link a{color:var(--accent);text-decoration:none}.auth-link a:hover{text-decoration:underline}.code-input{font-size:20px!important;font-weight:700!important;letter-spacing:3px!important;text-align:center!important;text-transform:uppercase}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--bg-card2);color:var(--green-text);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);padding:11px 18px;font-size:13px;font-weight:500;z-index:9999;opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .25s;max-width:90vw;white-space:nowrap}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.toast.err{color:var(--red-text);border-color:rgba(239,68,68,.3)}.irrig-param-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.irrig-num-unit{display:flex;align-items:center;gap:6px}.irrig-num{width:64px!important}.irrig-unit-sel{width:auto!important;padding:7px 8px!important;font-size:13px!important}.irrig-dias{margin-top:2px}.irrig-dias-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-top:6px;text-align:center}.irrig-dia{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-3)}.irrig-dia input[type=checkbox]{width:auto!important;border:none!important;background:none!important;outline:none;accent-color:var(--green);transform:scale(1.25);cursor:pointer;min-height:0;padding:0}.hm-calc{font-size:17px;font-weight:700;color:var(--text-2);padding:2px 0;letter-spacing:-.3px}.hm-inputs{display:flex;align-items:center;gap:4px;margin-top:6px}.hm-input{width:52px!important;text-align:center;padding:6px 4px!important;font-size:16px!important;font-weight:700!important;-moz-appearance:textfield}.hm-input::-webkit-inner-spin-button,.hm-input::-webkit-outer-spin-button{-webkit-appearance:none}.hm-sep{font-size:12px;color:var(--text-3);font-weight:600;min-width:10px;text-align:center}.param-card-inner{display:flex;flex-direction:column;gap:4px}.param-card-inner select{margin-bottom:4px}.quad-labels{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 8px;gap:6px 8px;margin-bottom:14px}.ql{display:flex;flex-direction:column;gap:3px}.ql--right{text-align:right}.ql-tag{font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.ql-val{font-size:16px;font-weight:800;color:var(--text-1);letter-spacing:-.3px}.quad-range-wrap{position:relative;height:76px;display:flex;align-items:flex-start}.quad-track{top:28px;left:10px;right:10px;height:5px;background:var(--bg-metric);pointer-events:none;z-index:2}.quad-fill,.quad-track{position:absolute;border-radius:3px}.quad-fill{height:100%}.quad-fill--cold{background:var(--green)}.quad-fill--comfort{background:rgba(129,140,248,.85)}.quad-fill--hot{background:var(--red)}.quad-input{position:absolute;top:18px;width:100%!important;height:24px;background:transparent!important;border:none!important;border-radius:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:none;cursor:pointer;opacity:0;z-index:10;padding:0!important}.quad-input::-webkit-slider-runnable-track{width:100%;height:24px;background:transparent;border:0;box-shadow:none}.quad-input::-moz-range-track{width:100%;height:24px;box-shadow:none}.quad-input::-moz-range-progress,.quad-input::-moz-range-track{background:transparent;border:0}.quad-input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:20px;height:20px;margin-top:2px;border-radius:50%;border:3px solid var(--bg-card);box-shadow:0 0 0 1px var(--border-md),0 2px 6px rgba(0,0,0,.4);cursor:-webkit-grab;cursor:grab;background:var(--thumb-color,var(--text-1))}.quad-input::-webkit-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.quad-input::-moz-range-thumb{pointer-events:all;width:20px;height:20px;border-radius:50%;border:3px solid var(--bg-card);box-shadow:0 0 0 1px var(--border-md);cursor:grab;background:var(--thumb-color,var(--text-1))}.qi--1::-webkit-slider-thumb{background:var(--green)}.qi--1::-moz-range-thumb{background:var(--green)}.qi--2::-webkit-slider-thumb{background:var(--green-text)}.qi--2::-moz-range-thumb{background:var(--green-text)}.qi--3::-webkit-slider-thumb{background:var(--red-text)}.qi--3::-moz-range-thumb{background:var(--red-text)}.qi--4::-webkit-slider-thumb{background:var(--red)}.qi--4::-moz-range-thumb{background:var(--red)}.quad-scale{position:absolute;inset:0 10px;pointer-events:none;z-index:5}.quad-thumb{position:absolute;top:30.5px;width:20px;height:20px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid var(--bg-card);box-shadow:0 0 0 1px var(--border-md),0 2px 6px rgba(0,0,0,.4);z-index:8}.quad-thumb--1{background:var(--green)}.quad-thumb--2{background:var(--green-text)}.quad-thumb--3{background:var(--red-text)}.quad-thumb--4{background:var(--red)}.quad-point-value{top:48px;color:var(--text-3);font-size:10px;font-weight:700;line-height:1;white-space:nowrap;z-index:7}.quad-point-value,.quad-setpoint-marker{position:absolute;transform:translateX(-50%)}.quad-setpoint-marker{top:2px;height:46px;display:flex;flex-direction:column;align-items:center;z-index:6}.quad-setpoint-value{color:var(--text-1);background:var(--bg-card);border:1px solid rgba(129,140,248,.4);border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800;line-height:1;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.18);position:relative;z-index:7}.quad-setpoint-icon{margin-right:3px;font-size:10px}.quad-setpoint-line{width:2px;height:34px;margin-top:1px;border-radius:2px;background:var(--accent);box-shadow:0 0 0 1px rgba(129,140,248,.22);position:relative;z-index:-1}.dual-hints{display:flex;justify-content:space-between;font-size:10px;color:var(--text-3);margin-top:4px;padding:0 2px}.setpoint-row{gap:10px;margin-bottom:14px;padding:8px 10px;background:var(--bg-metric);border-radius:10px}.setpoint-input-wrap,.setpoint-row{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-md)}.setpoint-input-wrap{gap:3px;background:var(--bg-card);border-radius:8px;padding:4px 8px;flex:0 0 auto}.setpoint-input{width:44px!important;background:none!important;border:none!important;outline:none;color:var(--text-1);font-size:15px!important;font-weight:700!important;text-align:center;-moz-appearance:textfield;padding:0!important}.setpoint-input::-webkit-inner-spin-button,.setpoint-input::-webkit-outer-spin-button{-webkit-appearance:none}.setpoint-unit{color:var(--text-2);font-size:12px;font-weight:600}.setpoint-btn{background:rgba(129,140,248,.12)!important;color:var(--accent)!important;border:1px solid rgba(129,140,248,.25)!important;border-radius:8px;padding:5px 8px!important;font-size:11px!important;font-weight:700!important;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;white-space:nowrap;width:auto!important;min-height:28px!important;flex:0 0 auto}.setpoint-btn:active{opacity:.75}.panel-info-grid{display:flex;flex-direction:column;gap:0}.panel-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.panel-info-row:last-child{border-bottom:none}.panel-info-label{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--text-3);flex-shrink:0;padding-top:2px}.panel-info-val{font-size:13px;font-weight:500;color:var(--text-1);text-align:right;word-break:break-all}.monospace{font-family:monospace;letter-spacing:.5px}.panel-btn{width:34px;height:34px;border-radius:50%;background:var(--bg-metric);border:1px solid var(--border-md);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;min-height:0;transition:color .15s,background .15s}.panel-btn:hover{color:var(--text-1);background:var(--bg-card2)}.toggle-sw{position:relative;width:42px;height:24px;flex-shrink:0;background:var(--bg-metric);border:1px solid var(--border-md);border-radius:12px;cursor:pointer;transition:background .2s,border-color .2s;padding:0;min-height:0}.toggle-sw:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-3);transition:transform .2s,background .2s}.toggle-sw.on{background:rgba(74,222,128,.18);border-color:rgba(74,222,128,.4)}.toggle-sw.on:after{transform:translateX(18px);background:#4ade80}.toggle-sw:disabled{opacity:.5;cursor:not-allowed}.cfg-label{display:block;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;margin-top:2px}.cfg-input{display:block;width:100%;box-sizing:border-box;background:var(--bg-metric);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-1);font-size:13px;outline:none;transition:border-color .15s}.cfg-input:focus{border-color:var(--border-md)}.cfg-select{display:block;width:100%;box-sizing:border-box;background:var(--bg-metric);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-1);font-size:13px;outline:none}.cfg-select.hidden{display:none}footer{text-align:center;font-size:11px;color:var(--text-3);padding:10px 12px calc(env(safe-area-inset-bottom) + 12px)}.chart-modal-body{display:flex;flex-direction:column;flex:1 1;min-height:0}.chart-modal-body .history-card{flex:1 1;display:flex;flex-direction:column;min-height:0}.chart-modal-body .history-head{flex-shrink:0}.chart-modal-body .history-foot{flex-shrink:0;margin-top:4px}.chart-modal-body .history-plot{flex:1 1;height:auto!important;min-height:200px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes draw-history-line{to{stroke-dashoffset:0}}@keyframes chart-dot-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes chart-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.app{max-width:960px}.topbar{padding:14px 28px}.page{padding:16px 24px 40px;gap:14px}.dashboard-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px;align-items:start}.dashboard-secondary-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:start}.dashboard-secondary-row>:only-child{grid-column:1/-1}.admin-history-grid{grid-template-columns:1fr 1fr}.history-plot{height:176px}.relay-btn-grid{grid-template-columns:repeat(4,1fr)}.relays-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}}@media (min-width:1100px){.app{max-width:1400px}.topbar{padding:16px 48px}.page{padding:20px 48px 48px;gap:16px}.history-plot{height:260px}.dashboard-chart-compact .history-plot{height:auto!important;min-height:300px}.param-card-inner{flex-direction:row;flex-wrap:wrap;gap:12px}}@media (min-width:600px){.tabs{padding:0 12px}.tab{font-size:13px;padding:13px 16px;flex:none}}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}@media (min-width:700px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}@keyframes plantBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes warnPulse{0%,to{border-color:rgba(249,115,22,.25)}50%{border-color:rgba(249,115,22,.65);box-shadow:0 0 6px rgba(249,115,22,.25)}}@keyframes devGlowPulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18)}}@keyframes devGlowFast{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.1)}}@keyframes fanSpin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.game-page{flex:1 1;display:flex;flex-direction:column;padding:10px 14px;gap:10px;overflow:hidden;position:relative;min-height:0}body:has(.game-page){overflow-y:hidden!important}body:has(.game-page) .dashboard-app>main{min-height:0!important;overflow-y:hidden!important}.dashboard-app>main{min-height:max-content!important;overflow-y:visible!important}@media (min-width:600px) and (min-height:500px){.dashboard-app>main{min-height:0!important;overflow-y:auto!important}}body:has(.dashboard-fixed-page){overflow-y:hidden!important}body:has(.dashboard-fixed-page) .dashboard-app>main{min-height:0!important;overflow-y:hidden!important}@media (min-width:600px) and (min-height:500px){body:has(.dashboard-fixed-page) .dashboard-app{width:100%!important;max-width:100%!important}body:has(.dashboard-fixed-page) .dashboard-app>main{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}body:has(.dashboard-fixed-page) .dashboard-fixed-page{display:grid!important;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);grid-template-rows:auto 1fr;grid-gap:12px;gap:12px;padding:14px 20px;flex:1 1 auto;min-height:0;overflow:hidden}body:has(.dashboard-fixed-page) .dashboard-fixed-page>:not(.dashboard-chart-compact):not(.relay-section){grid-column:1/-1;grid-row:auto}body:has(.dashboard-fixed-page) .dashboard-chart-compact{grid-column:1;grid-row:2;min-height:0;min-width:0}body:has(.dashboard-fixed-page) .relay-section{grid-column:2;grid-row:2;min-height:0;overflow:hidden}body:has(.dashboard-fixed-page) .relay-section .relay-btn-grid{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:1fr;flex:1 1 auto;height:calc(100% - 22px)}body:has(.dashboard-fixed-page) .dashboard-relay-compact .relay-btn{min-height:0;padding:8px 6px;gap:4px}body:has(.dashboard-fixed-page) .dashboard-relay-compact .relay-btn-icon{font-size:28px!important}body:has(.dashboard-fixed-page) .dashboard-relay-compact .relay-btn-name{font-size:11px}body:has(.dashboard-fixed-page) .dashboard-relay-compact .relay-btn-mode{font-size:9px}}@media (min-width:600px) and (min-height:500px){body:has(.admin-device-view) .admin-layout{width:100%}body:has(.admin-device-view) .admin-layout-body{padding:0!important;max-width:none!important;height:calc(var(--real-vh, 100svh) - 52px);display:flex!important;flex-direction:column}body:has(.admin-device-view) .admin-device-view{display:flex;flex-direction:column;align-items:center;flex:1 1;overflow:hidden;width:100%;padding-top:8px}body:has(.admin-device-view) .admin-device-view .dashboard-app{flex:0 0 auto!important;min-height:0!important;height:calc(var(--real-vh, 100svh) - 96px)!important;max-height:860px!important;width:520px!important;max-width:520px!important}body:has(.admin-device-view .dashboard-fixed-page) .admin-device-view .dashboard-app{width:min(1100px,95vw)!important;max-width:1100px!important}}.dashboard-app [style*="overflow-y: auto"],.dashboard-app [style*="overflow-y:auto"],.dashboard-app [style*="overflowY: auto"],.dashboard-app>main{scrollbar-width:none;-ms-overflow-style:none}.dashboard-app [style*="overflow-y: auto"]::-webkit-scrollbar,.dashboard-app [style*="overflow-y:auto"]::-webkit-scrollbar,.dashboard-app [style*="overflowY: auto"]::-webkit-scrollbar,.dashboard-app>main::-webkit-scrollbar{width:0;height:0;display:none}