*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.prehled-page{padding:0}.prehled-offline-notice{align-items:center;background:#dc262624;border:1px solid #dc262659;border-radius:10px;box-sizing:border-box;color:var(--stats-banner-error-text);display:flex;font-size:.875rem;font-weight:600;gap:8px;justify-content:center;margin:0 auto 12px;max-width:1100px;padding:10px 14px;text-align:center}.prehled-checking-notice{background:#f59e0b1f;border-color:#f59e0b59;color:#b45309;color:var(--stats-banner-warn-text,#b45309)}.prehled-page--offline .io-section,.prehled-page--offline .prehled-container{filter:grayscale(.45);opacity:.72}.prehled-toolbar{align-items:center;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:0;margin-left:auto;margin-right:auto;max-width:1100px;padding:0 0 20px;width:100%}.upload-btn:not(.upload-btn-replace){align-items:center;background:#10b98124;border:1px solid #10b9817a;border-radius:8px;color:#047857;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;line-height:1.25;padding:8px 18px;transition:background .15s,border-color .15s,color .15s}.upload-btn:not(.upload-btn-replace):hover{background:#10b98138;border-color:#10b98194;color:#065f46}[data-theme=dark] .upload-btn:not(.upload-btn-replace){background:#10b9811a;border-color:#10b98166;color:#6ee7b7}[data-theme=dark] .upload-btn:not(.upload-btn-replace):hover{background:#10b98129;border-color:#10b98185;color:#a7f3d0}.upload-btn.uploading{opacity:.6;pointer-events:none}.upload-btn input{display:none}.prehled-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;overflow:visible;position:relative;z-index:2}.prehled-schema-draw-btn{align-items:center;background:#0f766e33;border:1px solid #0f766e8c;border-radius:8px;color:#065f46;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:700;gap:6px;line-height:1.25;padding:8px 14px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.prehled-schema-draw-btn:hover{background:#0f766e4d;border-color:#0f766eb3;color:#064e3b}[data-theme=dark] .prehled-schema-draw-btn{background:#2dd4bf29;border-color:#2dd4bf73;color:#99f6e4}[data-theme=dark] .prehled-schema-draw-btn:hover{background:#2dd4bf3d;color:#ccfbf1}.prehled-schema-draw-btn--compact{font-size:12px;padding:6px 10px}.prehled-admin-hint{background:#0f766e1a;border:1px solid #0f766e47;border-radius:8px;box-sizing:border-box;color:#0f766e;font-size:.875rem;margin:0 auto 12px;max-width:1100px;padding:10px 14px}[data-theme=dark] .prehled-admin-hint{background:#2dd4bf14;border-color:#2dd4bf47;color:#5eead4}.prehled-ostatni-btn{align-items:center;background:#10b98124;border:1px solid #10b9817a;border-radius:8px;color:#047857;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;font-weight:600;justify-content:center;line-height:1.25;padding:8px 14px;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.prehled-ostatni-btn:hover{background:#10b98138;border-color:#10b98194;color:#065f46}[data-theme=dark] .prehled-ostatni-btn{background:#10b9811a;border-color:#10b98166;color:#6ee7b7}[data-theme=dark] .prehled-ostatni-btn:hover{background:#10b98129;border-color:#10b98185;color:#a7f3d0}.prehled-ostatni-btn--compact{font-size:12px;line-height:1.2;max-width:min(42vw,140px);padding:6px 10px;text-align:center;white-space:normal}.prehled-ostatni-modal{max-width:min(420px,calc(100vw - 20px));padding:20px 22px 18px}.prehled-ostatni-modal-title{color:var(--card-text);font-size:1.15rem;font-weight:700;margin:0 36px 8px 0}.prehled-ostatni-modal-hint{color:var(--card-text-muted);font-size:.875rem;line-height:1.45;margin:0 0 14px}.prehled-ostatni-modal-err{background:#ef44441f;border:1px solid #ef444459;border-radius:8px;color:#b91c1c;font-size:.875rem;margin:0 0 12px;padding:8px 10px}[data-theme=dark] .prehled-ostatni-modal-err{background:#ef444426;color:#fecaca}.prehled-ostatni-modal-fields{display:flex;flex-direction:column;gap:12px}.prehled-ostatni-field{display:flex;flex-direction:column;gap:6px}.prehled-ostatni-label{color:var(--card-text-muted);font-size:.8125rem;font-weight:600}.prehled-ostatni-field input{background:var(--card-bg);background:var(--input-bg,var(--card-bg));border:1px solid var(--card-border);border-radius:8px;box-sizing:border-box;color:var(--card-text);font-size:.9375rem;padding:9px 11px;width:100%}.prehled-ostatni-field input:focus{border-color:#10b9818c;box-shadow:0 0 0 2px #10b98133;outline:none}.prehled-ostatni-modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:4px}.prehled-ostatni-btn-cancel{background:#0000;border:1px solid var(--card-border);border-radius:8px;color:var(--card-text-muted);cursor:pointer;font-size:.9375rem;font-weight:600;padding:8px 16px;transition:background .15s,border-color .15s,color .15s}.prehled-ostatni-btn-cancel:hover:not(:disabled){background:var(--row-hover-bg);color:var(--card-text)}.prehled-ostatni-btn-cancel:disabled{cursor:not-allowed;opacity:.55}.prehled-ostatni-btn-submit{background:#10b9812e;border:1px solid #10b9817a;border-radius:8px;color:#047857;cursor:pointer;font-size:.9375rem;font-weight:600;padding:8px 18px;transition:background .15s,border-color .15s,color .15s}.prehled-ostatni-btn-submit:hover:not(:disabled){background:#10b98142;border-color:#10b98194;color:#065f46}.prehled-ostatni-btn-submit:disabled{cursor:not-allowed;opacity:.6}[data-theme=dark] .prehled-ostatni-btn-submit{background:#10b9811f;border-color:#10b9816b;color:#6ee7b7}[data-theme=dark] .prehled-ostatni-btn-submit:hover:not(:disabled){background:#10b98133;color:#a7f3d0}.replace-schema-trigger{align-items:center;background:#0000;border:1px solid var(--card-border);border-radius:8px;color:var(--card-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;padding:0;transition:background .15s,color .15s,border-color .15s;width:34px}.replace-schema-trigger:hover{background:var(--row-hover-bg);border-color:var(--card-border-hover);color:var(--card-text)}.replace-schema-trigger svg{height:18px;width:18px}.replace-schema-wrap{align-items:center;display:flex;flex-direction:row;flex-shrink:0;justify-content:flex-end;min-width:0;overflow:visible;position:relative;z-index:2}.replace-schema-slide{max-width:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%);transition:max-width .35s cubic-bezier(.4,0,.2,1),opacity .28s ease;z-index:2}.replace-schema-wrap--open .replace-schema-slide{max-width:min(100vw - 48px,300px);opacity:1;pointer-events:auto;transition:max-width .35s cubic-bezier(.4,0,.2,1),opacity .28s ease .05s}.replace-schema-slide .upload-btn.upload-btn-replace{display:inline-flex;max-width:100%;white-space:nowrap;width:max-content}.replace-schema-anchor{align-items:center;display:flex;flex-shrink:0;height:34px;justify-content:center;position:relative;width:34px;z-index:3}@media (prefers-reduced-motion:reduce){.replace-schema-slide,.replace-schema-wrap--open .replace-schema-slide{transition:none}}.upload-btn.upload-btn-replace{background:#10b9811a;border:1px solid #10b9816b;border-radius:8px;color:#047857;font-size:.8125rem;font-weight:600;line-height:1.25;padding:6px 12px;transition:background .15s,border-color .15s,color .15s}.upload-btn.upload-btn-replace:hover{background:#10b9812e;border-color:#10b9818c;color:#065f46}[data-theme=dark] .upload-btn.upload-btn-replace{background:#10b98114;border-color:#10b98159;color:#6ee7b7}[data-theme=dark] .upload-btn.upload-btn-replace:hover{background:#10b98124;border-color:#10b9817a;color:#a7f3d0}.replace-schema-close{background:var(--card-icon-bg);border:1px solid var(--card-border);border-radius:6px;color:var(--card-text-muted);cursor:pointer;font-size:18px;height:32px;line-height:1;padding:0;transition:background .15s,color .15s,border-color .15s;width:32px}.replace-schema-close:hover{background:var(--row-hover-bg);border-color:var(--card-border-hover);color:var(--card-text)}.replace-schema-anchor .replace-schema-close{border-radius:8px;font-size:20px;height:34px;width:34px}.prehled-container{box-sizing:border-box;margin:12px auto 10px;max-width:1100px;min-height:0;overflow:hidden;position:relative;width:100%}.schema-zoom-row{flex-wrap:wrap;gap:8px;justify-content:space-between;overflow-x:visible;padding:12px 0}.schema-zoom-controls,.schema-zoom-row{align-items:center;display:flex;min-width:0}.schema-zoom-controls{flex-shrink:0;flex-wrap:nowrap;gap:6px;justify-content:center;position:relative;z-index:1}.schema-replace-wrap{flex-shrink:0}.schema-zoom-btn{align-items:center;background:#0000;border:1px solid var(--card-border);border-radius:8px;box-sizing:border-box;color:var(--card-text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:34px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s,border-color .15s;width:34px}.schema-zoom-btn:hover{background:var(--row-hover-bg);border-color:var(--card-border-hover);color:var(--card-text)}.schema-zoom-btn svg{flex-shrink:0;height:15px;width:15px}.schema-zoom-value{font-feature-settings:"tnum";color:var(--card-text-muted);flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;min-width:36px;text-align:center}.schema-zoom-reset{margin-left:0}.schema-zoom-container{min-width:0;width:100%}.schema-zoom-container.schema-zoom-active{-webkit-overflow-scrolling:touch;overflow:auto;scrollbar-color:#64748b8c #0f172a0f;scrollbar-width:thin}[data-theme=dark] .schema-zoom-container.schema-zoom-active{scrollbar-color:#ffffff47 #ffffff0f}.schema-zoom-container.schema-zoom-active::-webkit-scrollbar{height:8px;width:8px}.schema-zoom-container.schema-zoom-active::-webkit-scrollbar-track{background:#0f172a0f;border-radius:999px}.schema-zoom-container.schema-zoom-active::-webkit-scrollbar-thumb{background:#64748b73;border-radius:999px}.schema-zoom-container.schema-zoom-active::-webkit-scrollbar-thumb:hover{background:#64748ba6}.schema-zoom-container.schema-zoom-active::-webkit-scrollbar-corner{background:#0000}[data-theme=dark] .schema-zoom-container.schema-zoom-active::-webkit-scrollbar-track{background:#ffffff0f}[data-theme=dark] .schema-zoom-container.schema-zoom-active::-webkit-scrollbar-thumb{background:#ffffff38}[data-theme=dark] .schema-zoom-container.schema-zoom-active::-webkit-scrollbar-thumb:hover{background:#ffffff52}.schema-zoom-container.schema-zoom-active.schema-zoom-100{overflow-x:hidden}.schema-image-wrapper{background:var(--card-icon-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 2px 12px #0000000f;box-sizing:border-box;display:block;line-height:0;overflow:hidden;padding:clamp(4px,1.2vw,8px);position:relative;transition:border-color .2s ease,box-shadow .2s ease;width:100%}[data-theme=dark] .schema-image-wrapper{box-shadow:0 4px 28px #00000073,0 0 0 1px #10b9811f}.schema-image-wrapper .schema-image{border:1px solid var(--card-border);border-radius:8px;box-shadow:none;box-sizing:border-box;display:block;height:auto;vertical-align:top;width:100%}.schema-placeholder{align-items:center;background:var(--card-icon-bg);border:1px dashed var(--card-icon-border);border-radius:12px;box-shadow:0 2px 12px #0000000f;box-sizing:border-box;color:var(--card-text-muted);display:flex;flex-direction:column;font-size:16px;height:400px;justify-content:center;text-align:center;width:100%}[data-theme=dark] .schema-placeholder{box-shadow:0 4px 24px #00000059}.schema-placeholder span{color:var(--card-text-dim);font-size:13px;margin-top:4px}.schema-temp-element{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ae0;border:1px solid #47556999;border-left:3px solid #ef4444;box-shadow:0 2px 8px #00000040;box-sizing:border-box;cursor:grab;display:flex;flex-direction:column;gap:2px;left:0;overflow:hidden;position:absolute;top:0;transition:box-shadow .15s;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:10}.schema-temp-element:hover{box-shadow:0 4px 16px #0006;z-index:20}.schema-temp-element:active{cursor:grabbing}.schema-temp-ostatni-actions{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:4px;justify-content:flex-end;margin:-2px 0 4px;width:100%}.schema-temp-ostatni-icon{align-items:center;background:#ffffff14;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;display:inline-flex;justify-content:center;line-height:0;padding:3px;transition:background .15s,color .15s}.schema-temp-ostatni-icon:hover{background:#10b98140;color:#6ee7b7}.schema-temp-ostatni-icon--danger:hover{background:#ef444447;color:#fecaca}.temp-name{color:#e2e8f0;font-weight:500;overflow:hidden;text-overflow:ellipsis}.temp-name,.temp-value{display:block;line-height:inherit}.temp-value{color:#ef4444;font-weight:700}.temp-target-row{align-items:center;border-top:1px solid #47556966;display:flex;flex-shrink:0;gap:4px;margin-top:2px;padding-top:3px}.temp-target{color:#38bdf8;font-size:inherit;font-weight:600;line-height:1;text-align:center}.temp-pm-btn{align-items:center;background:#334155;border:1px solid #475569;border-radius:6px;color:#e2e8f0;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0;transition:background .15s,transform .1s;width:28px}.temp-pm-btn:hover{background:#3b82f6;border-color:#60a5fa}.temp-pm-btn:active{transform:scale(.92)}.schema-temp-element .temp-pm-btn-schema{align-items:center;display:flex;flex-shrink:0;font-size:14.3px;font-size:calc(var(--btn-size, 22px)*.65);height:22px!important;height:var(--btn-size,22px)!important;justify-content:center;min-height:22px!important;min-height:var(--btn-size,22px)!important;min-width:22px!important;min-width:var(--btn-size,22px)!important;padding:0;width:22px!important;width:var(--btn-size,22px)!important}.schema-temp-element.schema-temp-tappable{cursor:pointer}.schema-temp-modal-backdrop{align-items:center;background:#00000073;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.schema-temp-modal-card{background:#0f172af5;border:1px solid #47556999;border-left:4px solid #ef4444;border-radius:10px;box-shadow:0 12px 40px #00000080;box-sizing:border-box;display:flex;flex-direction:column;font-size:18px;gap:4px;line-height:1.25;min-width:140px;padding:14px 18px}.schema-temp-modal-card .temp-name{color:#e2e8f0;font-weight:500}.schema-temp-modal-card .temp-value{color:#ef4444;font-weight:700}.schema-temp-modal-row{border-top:1px solid #47556966;gap:8px;margin-top:8px;padding-top:10px}.temp-close-btn{align-items:center;background:#64748b80;border:none;border-radius:4px;color:#e2e8f0;cursor:pointer;display:flex;flex-shrink:0;font-size:1.1em;height:22px!important;height:var(--btn-size,22px)!important;justify-content:center;line-height:1;margin-left:2px;min-height:22px!important;min-height:var(--btn-size,22px)!important;min-width:22px!important;min-width:var(--btn-size,22px)!important;padding:0;width:22px!important;width:var(--btn-size,22px)!important}.temp-close-btn:hover{background:#64748b}.io-section{margin:clamp(10px,2vw,16px) auto clamp(8px,1.2vw,14px);max-width:1100px}.io-title{color:#94a3b8;font-size:clamp(.75rem,.45rem + 1vw,.9375rem);font-weight:600;letter-spacing:.5px;margin:0 0 6px 2px;text-transform:uppercase}.io-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.io-cell{align-items:center;background:#1e293b;border:1px solid #334155;border-radius:8px;box-sizing:border-box;color:#94a3b8;display:flex;font-size:clamp(11px,2.4vw,13px);gap:6px;min-height:32px;padding:6px 10px;transition:background .15s,border-color .15s}.io-cell:hover{border-color:#475569}.io-cell.io-on{border-color:#4ade8040;color:#4ade80}.io-btns{display:flex;flex-shrink:0;gap:3px;margin-left:auto}.io-mode-btn{background:#334155;border:1px solid #475569;border-radius:5px;box-sizing:border-box;color:#94a3b8;cursor:pointer;font-size:clamp(9px,2vw,11px);font-weight:600;line-height:1.15;min-height:26px;padding:3px 7px;transition:all .15s;white-space:nowrap}.io-mode-btn:hover:not(:disabled){filter:brightness(1.3)}.io-mode-btn:disabled{cursor:not-allowed;opacity:.5}.io-mode-btn.btn-on.active{background:#16a34a;border-color:#22c55e;color:#fff}.io-mode-btn.btn-off.active{background:#dc2626;border-color:#ef4444;color:#fff}.io-mode-btn.btn-aut.active{background:#6b7280;border-color:#9ca3af;color:#fff}.io-led{border-radius:50%;flex-shrink:0;height:8px;width:8px}.led-green{background:#4ade80;box-shadow:0 0 6px #4ade8099}.led-gray{background:#475569}.io-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.prehled-container{margin:12px auto 10px;padding:0 8px}.prehled-toolbar{padding-left:8px;padding-right:8px}}@media (max-width:640px){.prehled-toolbar{align-items:stretch;flex-direction:column;gap:10px;padding:0 8px 16px}.upload-btn{justify-content:center;min-height:44px}.upload-btn.upload-btn-replace{font-size:.8125rem;min-height:38px;padding:7px 12px}.prehled-container{margin:12px auto 10px}.schema-temp-element .temp-pm-btn-schema{min-height:0;min-width:0}.io-section{margin:12px auto;padding:0 10px}.io-grid{gap:3px;grid-template-columns:1fr}.io-cell{gap:6px;min-height:36px;padding:5px 10px}.io-mode-btn{min-height:30px;min-width:34px;padding:3px 7px}}@media (max-width:500px){.prehled-toolbar{gap:8px;padding:0 8px 12px}.upload-btn{font-size:12px;justify-content:center;min-height:36px;padding:6px 12px}.replace-schema-trigger{height:32px;width:32px}.replace-schema-trigger svg{height:16px;width:16px}.upload-btn.upload-btn-replace{font-size:12px;min-height:34px;padding:5px 10px}.replace-schema-anchor{height:32px;width:32px}.replace-schema-anchor .replace-schema-close{font-size:18px;height:32px;width:32px}.schema-zoom-row{gap:6px;padding:10px 0}.schema-zoom-controls{gap:6px}.schema-zoom-btn{font-size:.9375rem;height:32px;width:32px}.schema-zoom-btn svg{height:14px;width:14px}.schema-zoom-value{font-size:11px;min-width:34px}}@media (max-width:320px){.prehled-container{margin:12px auto 10px;padding:0 6px}.prehled-toolbar{padding-left:6px;padding-right:6px}.schema-zoom-row{gap:8px;padding:8px 0}.schema-zoom-btn{font-size:.875rem;height:30px;width:30px}.schema-zoom-btn svg{height:13px;width:13px}.schema-zoom-value{font-size:11px;min-width:32px}.replace-schema-trigger{height:30px;width:30px}.replace-schema-trigger svg{height:15px;width:15px}.upload-btn.upload-btn-replace{font-size:11px;min-height:32px;padding:4px 8px}.replace-schema-anchor{height:30px;width:30px}.replace-schema-anchor .replace-schema-close{font-size:16px;height:30px;width:30px}.io-section{margin:10px auto 8px;padding:0 8px}.io-cell{font-size:12px;min-height:34px;padding:5px 8px}.io-mode-btn{font-size:9px;min-height:28px;min-width:30px;padding:3px 6px}}:root{--app-bg:#f1f5f9;--app-header-bg:#fff;--app-header-shadow:0 1px 3px #0000000f;--app-content-bg:#fff;--cards-bg:linear-gradient(160deg,#e2e8f0,#f1f5f9 45%,#e8ecf1);--card-bg:#fff;--card-border:#00000014;--card-border-hover:#0000001f;--card-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a;--card-shadow-hover:0 12px 28px #00000014,0 4px 8px #0000000a;--card-text:#0f172a;--card-text-muted:#475569;--card-text-dim:#64748b;--card-icon-bg:#f1f5f9;--card-icon-border:#cbd5e1;--card-icon-color:#334155;--card-icon-size:22px;--temp-circle-bg:#f8fafc;--temp-circle-border:2px solid #94a3b8;--temp-circle-shadow:0 4px 16px #0000000f;--temp-flame-color:#ea580c;--mode-bar-bg:#f1f5f9;--mode-bar-border:1px solid #e2e8f0;--mode-bar-shadow:inset 0 1px 2px #0000000a;--mode-icon-color:#475569;--mode-dot-bg:#cbd5e173;--compact-flame:#ea580c;--modal-bg:#fff;--modal-shadow:0 16px 48px #0000002e;--modal-close-bg:#f1f5f9;--modal-close-color:#64748b;--modal-close-hover-bg:#e2e8f0;--modal-close-hover-color:#334155;--surface-elevated:#fff;--input-bg:#fff;--input-border:#0f172a24;--input-placeholder:#94a3b8;--row-hover-bg:#0f172a0a;--stats-banner-error-text:#7f1d1d;--stats-banner-warn-text:#7c2d12;--stats-banner-info-text:#1e3a8a;--stats-link-hover-bg:#10b98114}[data-theme=dark]{--app-bg:#0c1322;--app-header-bg:#1e293b;--app-header-shadow:0 1px 3px #0003;--app-content-bg:#0000;--cards-bg:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);--card-bg:#ffffff0d;--card-border:#ffffff14;--card-border-hover:#ffffff29;--card-shadow:none;--card-shadow-hover:0 8px 32px #0000001f;--card-text:#fff;--card-text-muted:#ffffff8c;--card-text-dim:#ffffff59;--card-icon-bg:#ffffff12;--card-icon-border:#ffffff0f;--card-icon-color:#fff6;--card-icon-size:20px;--temp-circle-bg:#00000040;--temp-circle-border:1px solid #ffffff0f;--temp-circle-shadow:none;--temp-flame-color:#fff9;--mode-bar-bg:#0003;--mode-bar-border:none;--mode-bar-shadow:inset 0 2px 6px #0003;--mode-icon-color:#ffffff80;--mode-dot-bg:#ffffff1f;--compact-flame:#f97316;--modal-bg:#1e293b;--modal-shadow:0 24px 64px #00000073;--modal-close-bg:#ffffff14;--modal-close-color:#ffffffa6;--modal-close-hover-bg:#ffffff24;--modal-close-hover-color:#fff;--surface-elevated:#1e293bf2;--input-bg:#0f172aa6;--input-border:#ffffff1f;--input-placeholder:#ffffff59;--row-hover-bg:#ffffff0f;--stats-banner-error-text:#fecaca;--stats-banner-warn-text:#fed7aa;--stats-banner-info-text:#bfdbfe;--stats-link-hover-bg:#10b98126}.App{background:#f1f5f9;background:var(--app-bg);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-width:0;text-align:center;transition:background .3s ease,color .3s ease}.App,body{color:#0f172a;color:var(--card-text);overflow-x:hidden}body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background-color:#f1f5f9;background-color:var(--app-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0}::placeholder{color:#94a3b8;color:var(--input-placeholder);opacity:1}.app-page-title{color:#475569;color:var(--card-text-muted);font-size:.95em;font-weight:700;letter-spacing:.06em;line-height:1.35;margin:0 0 8px;padding:0 4px;text-transform:uppercase}@media (min-width:1025px){.app-page-title{font-size:1.05em;margin-bottom:10px}}@media (max-width:899px){.app-page-title{font-size:.85em;margin-bottom:6px}}html{scrollbar-color:#64748b8c #0f172a0f;scrollbar-width:thin}html[data-theme=dark]{scrollbar-color:#ffffff47 #ffffff0f}.App-main::-webkit-scrollbar,.modal-content::-webkit-scrollbar,html::-webkit-scrollbar{height:8px;width:8px}.App-main::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track,html::-webkit-scrollbar-track{background:#0f172a0f;border-radius:999px}.App-main::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb,html::-webkit-scrollbar-thumb{background:#64748b73;border-radius:999px}.App-main::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover,html::-webkit-scrollbar-thumb:hover{background:#64748ba6}[data-theme=dark] .App-main::-webkit-scrollbar-track,[data-theme=dark] .modal-content::-webkit-scrollbar-track,html[data-theme=dark]::-webkit-scrollbar-track{background:#ffffff0f}[data-theme=dark] .App-main::-webkit-scrollbar-thumb,[data-theme=dark] .modal-content::-webkit-scrollbar-thumb,html[data-theme=dark]::-webkit-scrollbar-thumb{background:#ffffff38}[data-theme=dark] .App-main::-webkit-scrollbar-thumb:hover,[data-theme=dark] .modal-content::-webkit-scrollbar-thumb:hover,html[data-theme=dark]::-webkit-scrollbar-thumb:hover{background:#ffffff52}.App-main::-webkit-scrollbar-corner,.modal-content::-webkit-scrollbar-corner,html::-webkit-scrollbar-corner{background:#0000}:focus-visible{outline:2px solid #10b981;outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}@supports (padding:env(safe-area-inset-top)){.App{padding-top:env(safe-area-inset-top)}.App-chrome{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.App-header{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.App-nav-wrap{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.App-content{padding-bottom:env(safe-area-inset-bottom);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}.App-chrome{background-color:#fff;background-color:var(--app-header-bg);box-shadow:0 1px 3px #0000000f;box-shadow:var(--app-header-shadow);isolation:isolate;position:relative;transition:background-color .3s ease;z-index:200}.App-chrome:after{background:linear-gradient(90deg,#10b981,#059669);content:"";display:block;height:2px;opacity:.9}.regulator-offline-banner{align-items:center;background:#dc262633;border-bottom:1px solid #dc262673;color:#7f1d1d;color:var(--stats-banner-error-text);display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;position:sticky;text-align:center;top:0;z-index:199}.regulator-offline-banner svg{flex-shrink:0;opacity:.9}.regulator-checking-banner{background:#f59e0b2e;border-bottom-color:#f59e0b73;color:#7c2d12;color:var(--stats-banner-warn-text,#b45309)}.regulator-checking-spinner{animation:regulator-checking-spin .9s linear infinite;flex-shrink:0}@keyframes regulator-checking-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.room-cards__checking-notice{background:#f59e0b1f;border-color:#f59e0b59;color:#7c2d12;color:var(--stats-banner-warn-text,#b45309)}.dashboard--status,.prehled-page--status{align-items:center;display:flex;justify-content:center;min-height:240px;width:100%}.app-status-placeholder{align-items:center;color:#6b7280;color:var(--app-text-muted,#6b7280);display:flex;flex-direction:column;font-size:15px;font-weight:600;gap:12px;padding:32px 24px;text-align:center}.app-status-spinner{animation:regulator-checking-spin .9s linear infinite;height:32px;opacity:.8;width:32px}.App-header{align-items:center;background-color:initial;color:#0f172a;color:var(--card-text);display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;padding:5px 12px;text-align:center;transition:color .3s ease}@media (max-width:480px){.App-header{padding:4px 10px}.Logo-LHA{height:36px}}.header-left{align-items:center;display:flex;justify-content:flex-start}.header-center{display:flex;flex:2 1;justify-content:center}.header-right{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.Logo-LHA{border-radius:6px;box-sizing:border-box;display:block;height:38px;object-fit:contain;width:auto}@media (max-width:480px){.Logo-LHA{border-radius:6px;height:36px}}.App-content{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:12px 16px;position:relative;z-index:0}@media (min-width:768px){.App-content{padding:20px}.App-content:has(.App-main--dashboard){padding:12px 16px}}@media (min-width:1025px) and (max-width:1920px){.App-content{padding:18px 24px}.App-content:has(.App-main--dashboard){padding:12px 18px}}.App-main{background-color:#fff;background-color:var(--app-content-bg);border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:auto;scrollbar-color:#64748b8c #0f172a0f;scrollbar-width:thin;transition:background-color .3s ease;width:100%}[data-theme=dark] .App-main{scrollbar-color:#ffffff47 #ffffff0f}.App-main--dashboard{overflow:hidden}.room-cards__error{color:#f87171;font-size:.875rem;margin:0 0 8px;text-align:center}.room-cards__error--warn{color:#fbbf24}.app-loading-text{color:#64748b;color:var(--card-text-dim);font-size:.95rem;margin:0;padding:40px 16px;text-align:center}.room-cards__offline-notice{align-items:center;background:#dc262624;border:1px solid #dc262659;border-radius:10px;color:#7f1d1d;color:var(--stats-banner-error-text);display:flex;font-size:.875rem;font-weight:600;gap:8px;grid-column:1/-1;justify-content:center;padding:10px 14px;text-align:center}.room-cards--offline{position:relative}.room-cards{grid-gap:16px;align-items:start;background:linear-gradient(160deg,#e2e8f0,#f1f5f9 45%,#e8ecf1);background:var(--cards-bg);border-radius:20px;box-sizing:border-box;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;padding:24px;width:100%}@media (max-width:768px){.room-cards{border-radius:16px;gap:10px;grid-template-columns:1fr;padding:12px}}@media (min-width:769px){.room-cards{gap:20px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));padding:24px}}.nazev-regulace{color:#0f172a;color:var(--card-text);font-size:20px;font-weight:700;margin-bottom:auto;margin-top:auto}.submenu-panel{align-items:center;background-color:#22c55e;display:flex;gap:15px;height:40px;justify-content:center}.submenu-button{background:none;border:none;color:#000;cursor:pointer;font-size:16px;font-weight:700;height:100%;padding:8px 15px;transition:all .3s ease-in-out}.modal-overlay{align-items:center;animation:modalBgFade .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}@keyframes modalBgFade{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideUp .25s ease;background:#fff;background:var(--modal-bg);border:1px solid #00000014;border:1px solid var(--card-border);border-radius:14px;box-shadow:0 16px 48px #0000002e;box-shadow:var(--modal-shadow);box-sizing:border-box;color:#0f172a;color:var(--card-text);max-height:85vh;max-width:min(560px,calc(100vw - 20px));overflow-y:auto;padding:8px;position:relative;width:90%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{align-items:center;background:#f1f5f9;background:var(--modal-close-bg);border:none;border-radius:50%;color:#64748b;color:var(--modal-close-color);cursor:pointer;display:flex;font-size:1.25rem;height:36px;justify-content:center;line-height:1;position:absolute;right:14px;top:12px;transition:all .15s;width:36px;z-index:10}.modal-close:hover{background:#e2e8f0;background:var(--modal-close-hover-bg);color:#334155;color:var(--modal-close-hover-color)}@media (max-width:640px){.modal-close{height:44px;right:8px;top:8px;width:44px}}@media (min-width:521px){.App-header{grid-gap:6px 10px;align-items:center;display:grid;flex-wrap:nowrap;gap:6px 10px;grid-template-columns:auto minmax(0,1fr) auto;padding:4px 12px}.App-header--nav-compact{grid-template-columns:1fr auto 1fr}.App-header--nav-compact .App-nav-wrap{align-self:center;grid-column:1;grid-row:1;justify-self:start;min-width:0;width:auto}.App-header--nav-compact .header-left{display:flex;grid-column:2;grid-row:1;justify-content:center;justify-self:center;max-width:100%;width:auto}.App-header--nav-compact .header-right{align-self:center;grid-column:3;grid-row:1;justify-self:end}.header-right{flex:initial;justify-self:end}.header-left{justify-self:start}}@media (max-width:520px){.App-header{flex-wrap:wrap;row-gap:2px}.header-left{order:1}.header-right{flex:0 0 auto;margin-left:auto;order:2}.App-nav-wrap{border-top:1px solid #00000014;border-top:1px solid var(--card-border);flex:1 1 100%;margin-top:4px;order:3;padding-top:8px;width:100%}.App-header--nav-compact{grid-gap:6px 8px;grid-row-gap:0;align-items:center;display:grid;flex-wrap:nowrap;gap:6px 8px;grid-template-columns:1fr auto 1fr;row-gap:0}.App-header--nav-compact .header-left{display:flex;grid-column:2;grid-row:1;justify-content:center;justify-self:center;max-width:100%;order:0;width:auto}.App-header--nav-compact .header-right{align-self:center;grid-column:3;grid-row:1;justify-self:end;margin-left:0;order:0}.App-header--nav-compact .App-nav-wrap{align-self:center;border-top:none;flex:initial;grid-column:1;grid-row:1;justify-self:start;margin-top:0;min-width:0;order:0;padding-top:0;width:auto}}.App-nav-wrap{box-sizing:border-box;container-name:appnav;container-type:inline-size;min-width:0;width:100%}.App-nav-btn,.App-nav-dropdown-item{font-family:inherit;font-size:clamp(.65rem,.55vw + .38rem,.78rem);font-weight:600}.App-nav-btn span,.App-nav-dropdown-item span{letter-spacing:.04em;min-width:0;text-transform:uppercase}.App-nav{align-items:stretch;background:#0000;box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:clamp(2px,1vw,10px);justify-content:flex-start;min-width:0;overflow:hidden;padding:3px 10px 5px;width:100%}@container appnav (max-width: 980px){.App-nav{gap:clamp(2px,.9vw,8px);padding:3px 6px 4px}.App-nav-btn span{display:none}.App-nav-btn{min-height:clamp(30px,7vw,38px);padding:clamp(3px,1vw,8px) clamp(4px,1.5vw,10px)}}.App-nav-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:#475569;color:var(--card-text-muted);cursor:pointer;display:flex;flex:1 1;gap:clamp(2px,.6vw,6px);justify-content:center;min-height:34px;min-width:0;padding:clamp(3px,.8vw,8px) clamp(4px,1.2vw,14px);transition:background .2s,color .2s;white-space:nowrap}.App-nav-btn span{flex:1 1 auto;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis}.App-nav-icon{color:currentColor;flex-shrink:0;height:clamp(13px,1.5vw + 7px,17px);width:clamp(13px,1.5vw + 7px,17px)}.App-nav-mobile{align-items:center;box-sizing:border-box;display:flex;justify-content:flex-start;min-width:0;padding:2px 0 4px;position:relative;width:auto}.App-header--nav-compact .App-nav-mobile{padding-bottom:2px}.App-nav-burger{align-items:center;border:1px solid #0f172a24;border:1px solid var(--input-border);border-radius:10px;cursor:pointer;display:inline-flex;justify-content:center;min-height:38px;min-width:38px;padding:6px;transition:background .2s,border-color .2s,color .2s}.App-nav-burger,.App-nav-burger:hover{background:#0f172a0a;background:var(--row-hover-bg);color:#0f172a;color:var(--card-text)}.App-nav-burger:hover{border-color:#00000014;border-color:var(--card-border)}.App-nav-burger--open{border-color:#10b98173;color:#059669}[data-theme=dark] .App-nav-burger--open{color:#34d399}.App-nav-burger-icon{height:20px;width:20px}.App-nav-dropdown{background:#fff;background:var(--surface-elevated);border:1px solid #00000014;border:1px solid var(--card-border);border-radius:14px;box-shadow:0 16px 48px #0000002e;box-shadow:var(--modal-shadow,0 16px 48px #0000002e);display:flex;flex-direction:column;gap:4px;left:0;max-width:calc(100vw - 24px);min-width:min(280px,calc(100vw - 32px));padding:8px;position:absolute;right:auto;top:calc(100% - 2px);transform:none;z-index:200}.App-nav-dropdown-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#475569;color:var(--card-text-muted);cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;transition:background .15s,color .15s;width:100%}.App-nav-dropdown-item:hover{background:#0f172a0a;background:var(--row-hover-bg);color:#0f172a;color:var(--card-text)}.App-nav-dropdown-item--active{background:#10b98124;color:#059669;font-weight:600}[data-theme=dark] .App-nav-dropdown-item--active{color:#34d399}.App-nav-dropdown-icon{flex-shrink:0;height:20px;width:20px}.App-nav-btn:hover{color:#0f172a;color:var(--card-text)}.App-nav-btn:active,.App-nav-btn:hover{background:#0f172a0a;background:var(--row-hover-bg)}.App-nav-btn--active{background:#10b98129;color:#059669;font-weight:600}[data-theme=dark] .App-nav-btn--active{color:#34d399}.App-nav-btn:focus-visible{outline:2px solid #10b981;outline-offset:2px}@media (max-width:520px){.App-nav{gap:4px;justify-content:flex-start;padding:4px 4px 5px}.App-nav-btn{min-height:36px;padding:4px}.App-nav-icon{height:16px;width:16px}}@media (max-width:380px){.App-nav{gap:4px;padding:4px 4px 6px}.App-nav-btn{min-height:40px;min-width:36px;padding:6px}.App-nav-icon{height:16px;width:16px}}@media (max-width:320px){.App-header{gap:4px;padding:4px 8px}.Logo-LHA{height:32px}.App-content{padding:8px 10px}.App-nav{gap:2px;padding:4px 2px 6px}.App-nav-btn{min-height:36px;min-width:32px;padding:4px}.App-nav-icon{height:14px;width:14px}.room-cards{gap:12px;grid-template-columns:1fr;min-width:0;padding:8px 0}}@media (min-width:521px){.App-nav{gap:clamp(4px,.8vw,10px);padding:4px 12px 6px}.App-nav-btn{min-height:34px;padding:6px clamp(10px,1vw,16px)}}.header-panel{flex-shrink:0;gap:0}.header-panel,.header-weather{align-items:center;display:flex}.header-weather{gap:6px;padding:2px 0}.header-weather-icon{height:28px;object-fit:contain;width:28px}.header-weather-data{align-items:flex-start;display:flex;flex-direction:column;gap:0}.header-weather-temp{color:var(--card-text);font-size:.875rem;font-weight:600;line-height:1.15}.header-weather-location{align-items:center;color:var(--card-text-muted);display:flex;font-size:.7rem;gap:4px}.header-weather-location svg{color:var(--card-text-dim);flex-shrink:0}.header-weather-error{color:var(--card-text-dim);font-size:.875rem}.header-impersonate-dropdown{padding:8px 14px 4px}.header-impersonate-label{color:var(--card-text-muted);display:block;font-size:.7rem;margin-bottom:6px}.header-impersonate-select{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:8px;box-sizing:border-box;color:var(--card-text);cursor:pointer;font-size:.8rem;max-width:100%;padding:8px 32px 8px 10px;width:100%}.header-panel-divider{background:var(--card-border);height:20px;margin:0 10px;width:1px}.header-user-wrap{position:relative}.header-user-btn{align-items:center;background:none;border:none;color:var(--card-text);cursor:pointer;display:flex;gap:8px;min-height:38px;min-width:38px;padding:2px 0;transition:opacity .2s}.header-user-btn:hover{opacity:.85}.header-user-btn:hover .header-user-icon{background:#0ea872}.header-user-icon{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;height:32px;justify-content:center;transition:background .2s;width:32px}.header-user-icon svg{flex-shrink:0}.header-user-name{color:var(--card-text);font-size:.85rem;font-weight:500}.header-user-dropdown{animation:headerDropdownFade .15s ease;background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--modal-shadow);color:var(--card-text);max-width:calc(100vw - 16px);min-width:min(288px,calc(100vw - 16px));padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:5000}@keyframes headerDropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-user-dropdown-item{align-items:center;background:none;border:none;border-radius:8px;color:var(--card-text);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:10px;min-height:44px;padding:12px 14px;text-align:left;transition:background .15s;width:100%}.header-user-dropdown-item:hover{background:var(--row-hover-bg)}.header-user-dropdown-item svg{color:var(--card-text-muted);flex-shrink:0}.header-user-dropdown-logout{color:#f87171}.header-user-dropdown-logout:hover{background:#f871711f}.header-user-dropdown-divider{background:var(--card-border);height:1px;margin:4px 8px}.header-admin-edit-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:10px 14px 8px}.header-admin-edit-label{color:var(--card-text);font-size:.8rem;font-weight:600}.header-admin-edit-switch{cursor:pointer;display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.header-admin-edit-switch input{height:0;opacity:0;position:absolute;width:0}.header-admin-edit-slider{background:var(--card-icon-border);border-radius:999px;inset:0;position:absolute;transition:background .2s}.header-admin-edit-slider:after{background:var(--surface-elevated);border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .2s;width:20px}.header-admin-edit-switch input:checked+.header-admin-edit-slider{background:#10b981}.header-admin-edit-switch input:checked+.header-admin-edit-slider:after{transform:translateX(20px)}.header-admin-edit-switch input:focus-visible+.header-admin-edit-slider{box-shadow:0 0 0 2px #10b98159}@media (max-width:600px){.header-panel-divider{height:20px;margin:0 10px}.header-weather{gap:6px}.header-weather-icon{height:28px;width:28px}.header-weather-temp{font-size:.9rem}.header-weather-location{font-size:.65rem}.header-user-icon{height:32px;width:32px}.header-user-icon svg{height:18px;width:18px}.header-user-name{display:none}}@media (max-width:400px){.header-weather{gap:4px;padding:4px 8px}.header-weather-icon{height:24px;width:24px}.header-weather-temp{font-size:.8rem}.header-weather-location{font-size:.6rem}.header-panel-divider{height:18px;margin:0 6px}}@media (max-width:320px){.header-panel{gap:0}.header-weather{gap:2px;padding:4px 6px}.header-weather-icon{height:20px;width:20px}.header-weather-temp{font-size:.75rem}.header-weather-location{font-size:.625rem}.header-panel-divider{height:16px;margin:0 4px}.header-user-icon{height:28px;width:28px}.header-user-icon svg{height:14px;width:14px}}.room-card{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;box-shadow:var(--card-shadow);color:var(--card-text);container-name:roomcard;container-type:inline-size;overflow:hidden;transition:border-color .3s,box-shadow .3s,background .3s,color .3s}.room-card:hover{border-color:var(--card-border-hover);box-shadow:var(--card-shadow-hover)}.room-card--offline{filter:grayscale(.55);opacity:.72;pointer-events:none;position:relative;-webkit-user-select:none;user-select:none}.rc-offline-overlay{align-items:center;background:#0f172a85;border-radius:inherit;color:#fecaca;display:flex;flex-direction:column;font-size:.875rem;font-weight:700;gap:6px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center;z-index:20}[data-theme=dark] .rc-offline-overlay{background:#0000008c}.rc-body{flex-direction:column}.rc-body,.rc-header{align-items:center;display:flex}.rc-header{box-sizing:border-box;gap:12px;justify-content:space-between;padding:12px 16px 0;width:100%}.rc-header__main{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.rc-header__actions,.rc-room-admin-actions{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end}.rc-room-admin-actions__btn{align-items:center;background:var(--card-icon-bg);border:1px solid var(--card-icon-border);border-radius:8px;box-sizing:border-box;color:var(--card-icon-color);cursor:pointer;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;min-width:34px;padding:0;transition:background .3s,border-color .3s,color .3s;width:34px}.rc-room-admin-actions__btn svg{flex-shrink:0;height:16px;width:16px}.rc-room-admin-actions__btn:hover{background:color-mix(in srgb,var(--card-icon-bg) 85%,var(--card-text) 15%);border-color:var(--card-border-hover)}.rc-room-admin-actions__btn--danger:hover{background:#dc262614;border-color:#dc26268c;color:#dc2626}.rc-header__icon{align-items:center;background:var(--card-icon-bg);border:1px solid var(--card-icon-border);border-radius:8px;color:var(--card-icon-color);display:flex;flex-shrink:0;height:34px;justify-content:center;transition:background .3s,border-color .3s,color .3s;width:34px}.rc-header__icon svg{height:20px;height:var(--card-icon-size,20px);width:20px;width:var(--card-icon-size,20px)}.rc-header__name{font-size:1.05em;font-weight:700;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.rc-temp-area{display:flex;min-height:0;padding:12px 0;position:relative;width:100%}.rc-temp-area,.rc-temp-display{align-items:center;justify-content:center}.rc-temp-display{display:inline-flex;flex-direction:row;flex-wrap:nowrap;gap:clamp(8px,2vw,16px);max-width:100%}@media (max-width:640px){.rc-temp-display{flex-wrap:wrap}}.rc-temp-circle{align-items:center;background:var(--temp-circle-bg);border:var(--temp-circle-border);border-radius:50%;box-shadow:var(--temp-circle-shadow),0 0 24px color-mix(in srgb,#0000 30%,#0000),0 0 48px color-mix(in srgb,#0000 15%,#0000);box-shadow:var(--temp-circle-shadow),0 0 24px color-mix(in srgb,var(--glow-color,#0000) 30%,#0000),0 0 48px color-mix(in srgb,var(--glow-color,#0000) 15%,#0000);box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;height:160px;justify-content:center;transition:background .3s,border-color .3s,box-shadow .5s;width:160px}@supports (container-type:inline-size){.rc-temp-circle{height:min(160px,calc(100cqi - 24px));width:min(160px,calc(100cqi - 24px))}@container roomcard (max-width: 260px){.rc-temp-circle{height:min(140px,calc(100cqi - 20px));width:min(140px,calc(100cqi - 20px))}.rc-temp-circle__val{font-size:clamp(2rem,18cqi,3.2em)}}@container roomcard (max-width: 220px){.rc-temp-circle{height:min(120px,calc(100cqi - 16px));width:min(120px,calc(100cqi - 16px))}.rc-temp-circle__val{font-size:clamp(1.75rem,16cqi,2.5em)}.rc-mode-info__temp{font-size:1em}}}.rc-temp-circle__pct{color:var(--card-text-muted);font-size:1em;font-weight:600;line-height:1}.rc-temp-circle__pct small{font-size:.75em}.rc-temp-circle__val{font-family:Calibri,sans-serif;font-size:3.2em;font-weight:700;line-height:1}.rc-temp-circle__dec{font-size:.5em}.rc-temp-circle__deg{font-size:.35em;margin-left:-2px;position:relative;top:-.5em}.rc-temp-circle__flame{color:var(--temp-flame-color);font-size:.8em;margin-top:2px}.rc-mode-info{flex-direction:column;gap:4px;min-width:0}.rc-mode-info,.rc-mode-info__badge{align-items:center;display:flex;flex-shrink:0}.rc-mode-info__badge{border-radius:50%;height:32px;justify-content:center;width:32px}.rc-mode-info__label{color:var(--card-text-dim);font-size:.7em;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.rc-mode-info__temp{font-size:1.15em;font-weight:700}.rc-expand-btn{align-items:center;background:none;border:none;border-top:1px solid var(--card-border);color:var(--card-text-dim);cursor:pointer;display:flex;font-size:.75em;font-weight:600;gap:4px;justify-content:center;letter-spacing:.06em;padding:6px 0;text-transform:uppercase;transition:color .2s,background .2s;width:100%}.rc-expand-btn:hover{background:var(--card-icon-bg);color:var(--card-text)}.rc-expand-btn svg{transform:rotate(180deg);transition:transform .3s ease}.room-card--expanded .rc-expand-btn svg{transform:rotate(0deg)}.rc-controls-wrap{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.room-card--expanded .rc-controls-wrap{max-height:200px;opacity:1;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .25s ease .05s}.rc-overlay-anchor{overflow:hidden;position:relative;width:100%}@media (min-width:641px){.room-card:not(.room-card--system-temps){overflow:hidden}.room-card:not(.room-card--system-temps) .rc-overlay-anchor .rc-controls-wrap{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--modal-bg);border:none;border-radius:0;bottom:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center;left:0;margin:0;max-height:none;opacity:0;padding:0;pointer-events:none;position:absolute;right:0;top:0;transform:translateY(100%);transition:transform .38s cubic-bezier(.4,0,.2,1),opacity .28s ease,visibility .28s ease;visibility:hidden;z-index:2}.room-card:not(.room-card--system-temps).room-card--expanded .rc-overlay-anchor .rc-controls-wrap{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.room-card:not(.room-card--system-temps) .rc-overlay-anchor .rc-controls{padding:10px 12px 12px}[data-theme=dark] .room-card:not(.room-card--system-temps) .rc-overlay-anchor .rc-controls-wrap{background:#1e293b}}@media (max-width:640px){.rc-overlay-anchor{overflow:visible}.rc-overlay-anchor .rc-controls-wrap{background:#0000!important;box-shadow:none!important;display:block!important;max-height:0;opacity:0;pointer-events:auto!important;position:static!important;transform:none!important;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;visibility:visible!important}.room-card--expanded .rc-overlay-anchor .rc-controls-wrap{max-height:none;opacity:1}}.temperature-decrease-button,.temperature-increase-button{background:#0000;border:none;color:var(--card-text-muted);cursor:pointer;height:35%;left:50%;position:absolute;transform:translate(-50%,-50%);transition:color .2s;width:70%;z-index:10}.temperature-increase-button{border-top-left-radius:100px;border-top-right-radius:100px}.temperature-decrease-button:hover,.temperature-increase-button:hover{color:var(--card-text)}.temperature-decrease-button{border-bottom-left-radius:100px;border-bottom-right-radius:100px;transform:translate(-50%,50%)}.temperature-control-circle{align-items:center;aspect-ratio:1;background-color:initial;border-radius:50%;box-sizing:border-box;color:var(--card-text);display:flex;font-size:clamp(2.5rem,10vw,7em);height:min(250px,100%);justify-content:center;left:50%;max-height:min(250px,100%);max-width:min(250px,100%);position:absolute;top:50%;transform:translate(-50%,-50%);width:min(250px,100%)}.decimal-part,.temperature-control-circle{font-family:Calibri,sans-serif;font-weight:700}.decimal-part{font-size:.5em;margin-top:30px}.celsius-part{font-family:Calibri,sans-serif;margin-left:-30px;margin-top:-20px}.rc-controls{box-sizing:border-box;padding:2px 14px 14px;width:100%}.rc-mode-bar{background:var(--mode-bar-bg);border:none;border:var(--mode-bar-border,none);border-radius:24px;box-shadow:var(--mode-bar-shadow);height:48px;margin:6px 0;position:relative;transition:background .3s,box-shadow .3s,border-color .3s;width:100%}.rc-temp-buttons{--rc-temp-gap:clamp(6px,2.5vw,14px);--rc-temp-circle-min:2.75rem;--rc-temp-circle-max:4.8rem;grid-gap:var(--rc-temp-gap);box-sizing:border-box;display:grid;gap:var(--rc-temp-gap);grid-template-columns:repeat(3,minmax(0,1fr));margin:15px 0 2px}.rc-temp-btn-wrap,.rc-temp-buttons{align-items:center;min-width:0;width:100%}.rc-temp-btn-wrap{display:flex;isolation:isolate;justify-content:center;overflow:hidden}.rc-temp-btn-wrap:first-child{justify-content:flex-start}.rc-temp-btn-wrap:nth-child(2){justify-content:center}.rc-temp-btn-wrap:nth-child(3){justify-content:flex-end}.rc-temp-buttons .btn-temp-circle{aspect-ratio:1;box-sizing:border-box;height:auto;max-height:var(--rc-temp-circle-max);width:clamp(var(--rc-temp-circle-min),min(24vw,100%),min(var(--rc-temp-circle-max),100%))}@supports (container-type:inline-size){.rc-temp-buttons{--rc-temp-gap:clamp(6px,3.5cqi,14px)}.rc-temp-buttons .btn-temp-circle{width:clamp(var(--rc-temp-circle-min),min(30cqi,100%),min(var(--rc-temp-circle-max),100%))}}.rc-temp-buttons .custom-text-inner-temp{font-size:clamp(.75rem,4.2vw,1.25rem)}@supports (container-type:inline-size){.rc-temp-buttons .custom-text-inner-temp{font-size:clamp(.75rem,5cqi,1.25rem)}}.rc-compact{display:none}@media (max-width:640px){.room-card{border-radius:16px}.rc-compact{-webkit-tap-highlight-color:transparent;align-items:center;cursor:pointer;display:flex;gap:14px;padding:14px;-webkit-user-select:none;user-select:none}.room-card:not(.room-card--system-temps) .rc-expand-btn,.room-card:not(.room-card--system-temps) .rc-header,.room-card:not(.room-card--system-temps) .rc-temp-area{display:none}.rc-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease}.room-card--expanded .rc-body{max-height:600px;opacity:1;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .25s ease .05s}.rc-controls-wrap{max-height:none;opacity:1;overflow:visible}.room-card--editing .rc-temp-area{display:flex;min-height:0;padding:8px 0}.rc-controls{padding:10px 12px 14px}.rc-mode-bar{border-radius:21px;height:42px}.rc-temp-buttons{--rc-temp-circle-min:2.6rem;--rc-temp-circle-max:4.2rem}.rc-temp-buttons .custom-text-inner-temp{font-size:clamp(.85rem,3.8vw,1.05rem)}.rc-compact__icon{align-items:center;background:var(--card-icon-bg);border:1px solid var(--card-icon-border);border-radius:14px;color:var(--card-icon-color);display:flex;height:52px;justify-content:center;min-width:52px;transition:background .3s,border-color .3s,color .3s;width:52px}.rc-compact__icon svg{height:26px;width:26px}.rc-compact__info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.rc-compact__title-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0;width:100%}.rc-compact__title-row .rc-compact__name{flex:1 1;min-width:0}.rc-compact__actions{align-items:center;display:flex;flex-shrink:0;gap:6px;justify-content:flex-end}.rc-compact__actions .rc-room-admin-actions__btn{border-radius:14px;height:52px;min-width:52px;width:52px}.rc-compact__actions .rc-room-admin-actions__btn svg{height:20px;width:20px}.rc-compact__name{color:var(--card-text-muted);font-size:.8em;font-weight:700;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.rc-compact__temp-row{align-items:baseline;display:flex;gap:6px}.rc-compact__temp{font-size:1.55em;font-weight:700;line-height:1.2}.rc-compact__dec{font-size:.6em}.rc-compact__dot{color:var(--card-text-dim);font-size:1.2em}.rc-compact__pct{color:var(--card-text-muted);font-size:.9em;font-weight:600}.rc-compact__flame{color:var(--compact-flame);font-size:.75em;margin-left:-2px}.rc-compact__mode{align-items:center;display:flex;gap:6px;margin-top:1px}.rc-compact__mode-badge{align-items:center;border-radius:50%;display:flex;height:18px;justify-content:center;width:18px}.rc-compact__set{font-size:.8em;font-weight:700}.rc-compact__arrow{align-items:center;color:var(--card-text-dim);display:flex;flex-shrink:0;transform:rotate(0deg);transition:transform .3s ease}.room-card--expanded .rc-compact__arrow{transform:rotate(180deg)}}@media (max-width:480px){.room-card{border-radius:14px}.rc-compact{gap:12px;padding:12px}.rc-compact__icon{border-radius:12px;height:46px;min-width:46px;width:46px}.rc-compact__icon svg{height:22px;width:22px}.rc-compact__actions .rc-room-admin-actions__btn{border-radius:12px;height:46px;min-width:46px;width:46px}.rc-compact__actions .rc-room-admin-actions__btn svg{height:18px;width:18px}.rc-compact__temp{font-size:1.4em}}.rc-room-edit-backdrop{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172a66;display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));position:fixed;z-index:5100}.rc-room-edit-dialog{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:var(--card-shadow-hover);color:var(--card-text);padding:20px 22px;width:min(420px,100%)}.rc-room-edit__title{font-size:1.05rem;font-weight:700;letter-spacing:.02em;margin:0 0 14px}.rc-room-edit__label{color:var(--card-text-muted);display:block;font-size:.78rem;font-weight:600;margin-bottom:6px}.rc-room-edit__input{background:var(--card-bg);background:var(--modal-bg,var(--card-bg));border:1px solid var(--card-border);border-radius:10px;box-sizing:border-box;color:var(--card-text);font-size:1rem;padding:10px 12px;width:100%}.rc-room-edit__input:focus{outline:2px solid #10b981;outline-offset:2px}.rc-room-edit__err{color:var(--stats-banner-error-text);font-size:.85rem;margin:10px 0 0}.rc-room-edit__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.rc-room-edit__btn{background:#0000;border:1px solid var(--card-border);border-radius:10px;color:var(--card-text);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 18px}.rc-room-edit__btn--primary{background:#10b981;border-color:#10b981;color:#fff}.rc-room-edit__btn--primary:hover:not(:disabled){filter:brightness(1.05)}.rc-room-edit__btn:disabled{cursor:not-allowed;opacity:.6}.rc-temp-slider-backdrop{align-items:center;backdrop-filter:blur(8px) saturate(1.12);-webkit-backdrop-filter:blur(8px) saturate(1.12);background:rgba(15,23,42,.266);display:flex;inset:0;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));position:fixed;z-index:5000}[data-theme=dark] .rc-temp-slider-backdrop{backdrop-filter:blur(8px) saturate(1.08);-webkit-backdrop-filter:blur(8px) saturate(1.08);background:#02061747}.rc-temp-slider-modal{align-items:center;aspect-ratio:1;backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);background:#ffffff73;border:1px solid #ffffff6b;border-radius:50%;box-shadow:0 20px 56px #0f172a24;box-sizing:border-box;display:flex;justify-content:center;max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);padding:clamp(8px,2.8vmin,22px);position:relative;width:max-content}[data-theme=dark] .rc-temp-slider-modal{background:#1e293b61;border:1px solid #ffffff1f;box-shadow:0 24px 64px #00000059}.rc-temp-slider-modal .circle-slider-container.rc-temp-slider-modal__slider-wrap{--rc-slider-diam:max(168px,min(320px,78vmin,calc(100vw - 56px),calc(100dvh - 100px)));height:var(--rc-slider-diam);left:auto;margin:0 auto;max-height:min(92vw,92dvh);max-width:min(92vw,92dvh);position:relative;top:auto;transform:none;width:var(--rc-slider-diam)}.rc-temp-slider-modal__slider-wrap>.circle-slider{inset:0;position:absolute;z-index:2}.rc-temp-slider-modal .rc-temp-slider-chevron{display:block;height:clamp(22px,7vmin,44px)!important;width:clamp(22px,7vmin,44px)!important}.rc-temp-slider-modal .temperature-decrease-button .rc-temp-slider-chevron--down,.rc-temp-slider-modal .temperature-increase-button .rc-temp-slider-chevron--up{left:50%;position:absolute;right:auto;transform:translateX(-50%)}.rc-temp-slider-modal .temperature-increase-button .rc-temp-slider-chevron--up{bottom:auto;top:10%}.rc-temp-slider-modal .temperature-decrease-button .rc-temp-slider-chevron--down{bottom:10%;top:auto}.rc-temp-slider-modal .rc-temp-slider-modal__slider-wrap .temperature-control-circle{font-size:clamp(1.35rem,14vmin,3.15rem);height:100%;max-height:100%;max-width:100%;width:100%}.rc-temp-slider-modal .rc-temp-slider-modal__slider-wrap .decimal-part{font-size:.48em;margin-top:.38em}.rc-temp-slider-modal .rc-temp-slider-modal__slider-wrap .celsius-part{margin-left:-.18em;margin-top:-.1em}.btn-temp-circle{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:6rem;justify-content:center;overflow:hidden;position:relative;touch-action:manipulation;transition:all .3s ease;width:6rem}.btn-temp-circle:active{transform:scale(.94)}.btn-active{opacity:1}.btn-active,.btn-inactive{transition:opacity .12s ease}.btn-inactive{opacity:.3}.btn-temp-circle.btn-pending{opacity:1}.btn-temp-circle.btn-pending .custom-overlay{animation:btn-temp-pending-pulse .85s ease-in-out infinite}@keyframes btn-temp-pending-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}.custom-overlay{bottom:0;left:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.custom-overlay.active{opacity:1}.custom-overlay.inactive{opacity:.8}.custom-inner-circle{background-color:var(--mode-bar-bg);border-radius:50%;bottom:8%;left:8%;position:absolute;right:8%;top:8%}.custom-text-inner-temp{color:var(--card-text);font-size:1.575rem;font-weight:700;left:50%;position:absolute;transform:translate(-50%);z-index:10}.mode-slider{inset:0;position:absolute;z-index:1}.mode-slider-zone{-webkit-tap-highlight-color:transparent;bottom:0;cursor:pointer;position:absolute;top:0;z-index:4}.mode-slider-zone:first-child{left:0;width:30%}.mode-slider-zone:nth-child(2){left:30%;width:40%}.mode-slider-zone:nth-child(3){left:70%;width:30%}.mode-slider-icon{align-items:center;aspect-ratio:1;color:#ffffff80;color:var(--mode-icon-color,#ffffff80);display:flex;height:58%;justify-content:center;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.mode-slider-icon svg{height:100%;width:100%}.mode-slider-dot{aspect-ratio:1;background:#ffffff26;background:var(--mode-dot-bg,#ffffff26);border-radius:50%;height:78%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .35s ease,transform .35s ease;z-index:2}.mode-slider-dot.active{opacity:0;transform:translate(-50%,-50%) scale(.5)}.mode-slider-thumb{background:#0000;border:2.5px solid #22c55e;border:2.5px solid var(--thumb-color,#22c55e);border-radius:50%;box-shadow:0 0 14px #22c55e;box-shadow:0 0 14px var(--thumb-color,#22c55e);height:88%;pointer-events:none;top:50%;transition:left .35s cubic-bezier(.4,0,.2,1),border-color .35s ease,box-shadow .35s ease;z-index:3}.circle-slider-container,.mode-slider-thumb{aspect-ratio:1;position:absolute;transform:translate(-50%,-50%)}.circle-slider-container{align-items:center;background-color:var(--temp-circle-bg);border-radius:50%;cursor:pointer;display:flex;font-family:Calibri,sans-serif;font-weight:700;height:250px;justify-content:center;left:50%;max-height:75vw;max-width:75vw;top:52%;-webkit-user-select:none;user-select:none;width:250px}.circle-slider{z-index:2}.circle-slider svg{display:block;height:100%;width:100%}.circle-cursor{overflow:visible;touch-action:none}.lh-toast-viewport{flex-direction:column;gap:8px;left:0;padding:calc(52px + env(safe-area-inset-top, 0px)) 12px 0;pointer-events:none;position:fixed;right:0;top:0;z-index:10050}.lh-toast,.lh-toast-viewport{align-items:center;display:flex}.lh-toast{animation:lh-toast-in .32s cubic-bezier(.22,1,.36,1);border:1px solid #0000;border-radius:10px;box-shadow:0 8px 28px #00000038,0 2px 8px #0000001f;font-size:.875rem;font-weight:500;gap:10px;line-height:1.35;padding:11px 14px;pointer-events:auto;width:min(420px,100%)}.lh-toast--leaving{animation:lh-toast-out .28s ease forwards}.lh-toast--success{background:#064e3b;border-color:#34d39959;color:#ecfdf5}.lh-toast--success .lh-toast__icon{color:#34d399}.lh-toast--error{background:#7f1d1d;border-color:#fca5a559;color:#fef2f2}.lh-toast--error .lh-toast__icon{color:#fca5a5}.lh-toast--info{background:#1e3a8a;border-color:#93c5fd59;color:#eff6ff}.lh-toast--info .lh-toast__icon{color:#93c5fd}.lh-toast__icon{flex-shrink:0}.lh-toast__text{flex:1 1;min-width:0}.lh-toast__close{background:#ffffff1f;border:none;border-radius:6px;color:inherit;cursor:pointer;flex-shrink:0;font-size:1.1rem;height:24px;line-height:1;opacity:.85;padding:0;transition:background .15s,opacity .15s;width:24px}.lh-toast__close:hover{background:#fff3;opacity:1}@keyframes lh-toast-in{0%{opacity:0;transform:translateY(calc(-100% - 12px))}to{opacity:1;transform:translateY(0)}}@keyframes lh-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(-100% - 8px))}}@media (max-width:767px){.lh-toast-viewport{padding-top:calc(48px + env(safe-area-inset-top, 0px))}}body.lh-login-page .lh-toast-viewport{padding-top:calc(12px + env(safe-area-inset-top, 0px))}.sett-page{color:var(--card-text);margin:0 auto;max-width:680px;width:100%}.sett-header{margin-bottom:16px}.sett-title{font-size:22px;font-weight:800}.sett-subtitle{color:var(--card-text-muted);font-size:13px;margin-top:4px}.sett-tabs{border-bottom:2px solid var(--card-border);display:flex;gap:6px;margin-bottom:16px;padding-bottom:0}.sett-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--card-text-dim);cursor:pointer;font-size:14px;font-weight:650;margin-bottom:-2px;padding:10px 18px;transition:color .15s,border-color .15s}.sett-tab:hover{color:var(--card-text)}.sett-tab.active{border-bottom-color:#10b981;color:#10b981}.sett-loading{color:var(--card-text-dim);padding:40px 0;text-align:center}.sett-card{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--card-shadow-hover);padding:24px}.sett-card-title{font-size:16px;font-weight:800;margin-bottom:18px}.sett-msg{border-radius:10px;font-size:13px;font-weight:600;margin-bottom:16px;padding:10px 14px}.sett-msg-ok{background:#10b98126;border:1px solid #10b98159;color:#6ee7b7}.sett-msg-err{background:#dc26261f;border:1px solid #dc262659;color:#fecaca}.sett-form{gap:18px}.sett-field,.sett-form{display:flex;flex-direction:column}.sett-field{gap:5px}.sett-label{color:var(--card-text-muted);font-size:13px;font-weight:700}.sett-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--card-text);font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.sett-input:focus{border-color:#10b98180;box-shadow:0 0 0 3px #10b9811a}.sett-hint{color:var(--card-text-dim);font-size:12px}.sett-toggles{display:flex;flex-direction:column;gap:14px}.sett-toggle{align-items:flex-start;border:1px solid var(--card-border);border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:12px 14px;transition:background .15s}.sett-toggle:hover{background:var(--row-hover-bg)}.sett-toggle-label{color:var(--card-text);display:block;font-size:14px;font-weight:650}.sett-toggle-hint{color:var(--card-text-dim);display:block;font-size:12px;margin-top:2px}.sett-switch-wrap{flex-shrink:0;height:24px;margin-top:2px;position:relative;width:44px}.sett-switch-wrap input{height:0;opacity:0;position:absolute;width:0}.sett-switch{background:var(--card-icon-border);border-radius:999px;cursor:pointer;inset:0;position:absolute;transition:background .2s}.sett-switch:after{background:var(--surface-elevated);border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .2s;width:20px}.sett-switch-wrap input:checked+.sett-switch{background:#10b981}.sett-switch-wrap input:checked+.sett-switch:after{transform:translateX(20px)}.sett-btn{align-self:flex-start;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:11px 24px;transition:background .15s,opacity .15s}.sett-btn:disabled{cursor:not-allowed;opacity:.5}.sett-btn-primary{background:#10b981;color:#fff}.sett-btn-primary:hover:not(:disabled){background:#059669}.sett-form-actions{align-items:center;display:flex;gap:10px}.sett-btn-secondary{background:var(--surface-elevated);border:1px solid var(--card-border);color:var(--card-text)}.sett-btn-secondary:hover:not(:disabled){background:var(--row-hover-bg)}@media (max-width:600px){.sett-page{padding:0 12px 24px}.sett-card{padding:16px}.sett-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.sett-tab{min-height:44px;padding:10px 14px;white-space:nowrap}.sett-input{font-size:16px;min-height:48px}.sett-btn{align-self:stretch;width:100%}.sett-btn,.sett-toggle{min-height:48px}}@media (max-width:480px){.sett-page{padding:0 8px 16px}.sett-card{border-radius:12px;padding:14px 12px}.sett-tab{font-size:13px;padding:8px 12px}}@media (max-width:320px){.sett-title{font-size:18px}.sett-card{padding:12px 10px}.sett-btn{font-size:13px;min-height:44px}}.dashboard{display:flex;flex-direction:column;height:100%}.dashboard,.dashboard__scale-wrap{min-height:0;overflow:hidden;width:100%}.dashboard__scale-wrap{flex:1 1}.dashboard__content{transition:transform .2s ease-out;width:100%;will-change:transform}.dashboard-section{margin-bottom:0;min-width:0}.dashboard-section__error{color:#f87171;font-size:.8em;margin:0 0 6px}.dashboard-section__rooms-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;margin-bottom:4px}.dashboard-section__rooms-header .app-page-title{margin-bottom:0}.dashboard-add-room-btn{align-items:center;background:#10b981;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:700;gap:8px;padding:8px 14px;transition:background .15s,opacity .15s}.dashboard-add-room-btn:hover:not(:disabled){background:#059669}.dashboard-add-room-btn:disabled{cursor:not-allowed;opacity:.65}.dashboard .app-page-title{margin-bottom:4px}.dashboard .room-cards{align-items:stretch;border-radius:16px;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(200px,28vw,300px)),1fr));padding:10px 12px}.dashboard .room-card{box-sizing:border-box;display:flex;flex-direction:column;height:100%;max-width:none;min-height:0;min-width:0;width:100%}.dashboard .room-card .rc-body{align-items:stretch;width:100%}.dashboard .room-card .rc-body,.dashboard .room-card .rc-overlay-anchor{display:flex;flex:1 1;flex-direction:column;min-height:0}.dashboard .room-card .rc-header{padding:8px 10px 0}.dashboard .room-card .rc-header__icon{height:28px;width:28px}.dashboard .room-card .rc-room-admin-actions__btn{height:28px;min-width:28px;width:28px}.dashboard .room-card .rc-room-admin-actions__btn svg{height:16px;width:16px}.dashboard .room-card .rc-header__name{font-size:.92em}.dashboard .room-card .rc-temp-area{flex:1 1;min-height:0;padding:4px 0}.dashboard .room-card .rc-temp-circle{height:124px;width:124px}.dashboard .room-card .rc-temp-circle__val{font-size:2.55em}.dashboard .room-card .rc-temp-circle__pct{font-size:.85em}.dashboard .room-card .rc-mode-info__badge{height:28px;width:28px}.dashboard .room-card .rc-mode-info__label{font-size:.65em}.dashboard .room-card .rc-mode-info__temp{font-size:1em}.dashboard .room-card .rc-expand-btn{font-size:.68em;padding:3px 0}.dashboard .room-card .rc-controls{padding:2px 8px 8px}.dashboard .room-card .rc-mode-bar{height:38px;margin:3px 0}.dashboard .room-card .rc-temp-buttons{--rc-temp-circle-min:2.75rem;--rc-temp-circle-max:4rem}.dashboard .room-card .rc-temp-buttons .custom-text-inner-temp{font-size:clamp(.85rem,4vw,1.1rem)}@media (min-width:769px) and (max-width:1024px){.dashboard .room-cards{gap:8px;padding:8px 10px}.dashboard .room-card .rc-temp-circle{height:116px;width:116px}.dashboard .room-card .rc-temp-circle__val{font-size:2.3em}}@media (min-width:1025px) and (max-width:1920px),(min-width:1921px){.dashboard .room-card .rc-header{padding:8px 12px 0}.dashboard .room-card .rc-header__icon{height:32px;width:32px}.dashboard .room-card .rc-room-admin-actions__btn{height:32px;min-width:32px;width:32px}.dashboard .room-card .rc-room-admin-actions__btn svg{height:18px;width:18px}.dashboard .room-card .rc-header__name{font-size:.98em}.dashboard .room-card .rc-temp-area{padding:5px 0}.dashboard .room-card .rc-temp-circle{height:152px;width:152px}.dashboard .room-card .rc-temp-circle__val{font-size:2.75em}.dashboard .room-card .rc-temp-circle__pct{font-size:.92em}.dashboard .room-card .rc-mode-info__badge{height:28px;width:28px}.dashboard .room-card .rc-mode-info__label{font-size:.65em}.dashboard .room-card .rc-mode-info__temp{font-size:1.02em}.dashboard .room-card .rc-expand-btn{font-size:.7em;padding:4px 0}.dashboard .room-card .rc-controls{padding:3px 10px 8px}.dashboard .room-card .rc-mode-bar{height:40px;margin:4px 0}.dashboard .room-card .rc-temp-buttons{--rc-temp-circle-max:4rem}.dashboard .room-card .rc-temp-buttons .custom-text-inner-temp{font-size:clamp(.9rem,4.5vw,1.2rem)}.dashboard .room-card--system-temps .room-card--system-temps__body{gap:3px;padding:6px 12px 10px}.dashboard-system-temps-row{padding:4px 0}.dashboard-system-temps-name{font-size:.88em}.dashboard-system-temps-value{font-size:1.05em}}@media (min-width:1025px) and (max-width:1920px){.dashboard .room-cards{border-radius:16px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(260px,22vw,380px)),1fr));padding:10px 14px}}@media (min-width:1921px){.dashboard .room-cards{border-radius:16px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(280px,14vw,400px)),1fr));padding:12px 16px}}.dashboard .room-card--system-temps{align-self:stretch}.dashboard .room-card--system-temps .room-card--system-temps__body{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center;min-height:0;min-width:0;overflow:auto;padding:6px 12px 12px;width:100%}.room-card--system-temps__error{margin:0 0 8px;text-align:left}.dashboard-system-temps-row{align-items:center;border-bottom:1px solid var(--card-border);display:flex;gap:8px;justify-content:space-between;min-width:0;padding:4px 0}.dashboard-system-temps-row:last-child{border-bottom:none}.dashboard-system-temps-name{color:var(--card-text-muted);font-size:.8em;font-weight:600;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.dashboard-system-temps-value{color:var(--card-text);flex-shrink:0;font-family:Calibri,sans-serif;font-size:.95em;font-weight:700}@media (max-width:899px){.dashboard .room-card--system-temps .room-card--system-temps__body{padding:4px 10px 10px}.dashboard-system-temps-row{padding:3px 0}.dashboard-system-temps-name{font-size:.75em}.dashboard-system-temps-value{font-size:.9em}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{touch-action:none;z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color-default);background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-default);fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(--xy-minimap-mask-stroke-color-default);stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(--xy-minimap-mask-stroke-width-default);stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-default);fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(--xy-minimap-node-stroke-color-default);stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(--xy-minimap-node-stroke-width-default);stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-dots-color-default);fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-lines-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected-default);box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color-default);background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color-default);background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-default);background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(--xy-controls-button-color-hover-default);color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.schema-flow-editor{box-sizing:border-box;display:flex;flex-direction:column;gap:10px;margin:0 auto 20px;max-width:1100px;width:100%}.schema-flow-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.schema-flow-toolbar-left,.schema-flow-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.schema-flow-toolbar-title{color:var(--card-text);font-size:.9375rem;font-weight:700}[data-theme=dark] .schema-flow-toolbar-title{color:#fff}.schema-flow-btn{background:#0f766e14;border:1px solid #0f766e59;border-radius:8px;color:#0f766e;cursor:pointer;font-size:.875rem;font-weight:600;padding:7px 12px}.schema-flow-btn:disabled{cursor:not-allowed;opacity:.45}.schema-flow-btn--primary{background:#0f766e2e;border-color:#0f766e80}.schema-flow-btn--danger{background:#dc262614;border-color:#dc262659;color:#b91c1c}.schema-flow-error{color:#b91c1c;font-size:.8125rem;font-weight:600}[data-theme=dark] .schema-flow-btn{background:#2dd4bf1f;border-color:#2dd4bf66;color:#ccfbf1}[data-theme=dark] .schema-flow-btn--primary{background:#2dd4bf38;border-color:#2dd4bf8c;color:#f0fdfa}[data-theme=dark] .schema-flow-btn--danger{background:#ef444424;border-color:#f8717173;color:#fecaca}[data-theme=dark] .schema-flow-error{color:#fca5a5}.schema-flow-body{grid-gap:10px;display:grid;gap:10px;grid-template-columns:140px minmax(0,1fr) 180px;height:min(70vh,640px);min-height:480px}.schema-flow-palette,.schema-flow-props{background:#f8fafce6;border:1px solid #0f172a1f;border-radius:10px;overflow:auto;padding:10px}[data-theme=dark] .schema-flow-palette,[data-theme=dark] .schema-flow-props{background:#0f172a8c;border-color:#94a3b840}.schema-flow-palette-title{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}[data-theme=dark] .schema-flow-palette-title{color:#94a3b8}.schema-flow-palette-item{align-items:center;background:#fff;border:1px dashed #0f766e66;border-radius:8px;color:#0f172a;cursor:grab;display:flex;flex-direction:column;font-size:.75rem;font-weight:600;gap:4px;margin-bottom:6px;padding:8px 6px;-webkit-user-select:none;user-select:none}[data-theme=dark] .schema-flow-palette-item{background:#1e293be6;border-color:#2dd4bf59;color:#e2e8f0}.schema-flow-palette-item:active{cursor:grabbing}.schema-flow-palette-icon{align-items:center;display:flex;justify-content:center;min-height:44px;pointer-events:none;width:100%}.schema-palette-svg{display:block;height:40px;width:56px}.schema-palette-svg--tall{height:48px;width:36px}.schema-palette-label-preview{background:#ffffffeb;border:1px solid #94a3b8;border-radius:4px;color:#0f172a;font-size:12px;font-weight:700;min-width:48px;padding:6px 10px;text-align:center}[data-theme=dark] .schema-palette-label-preview{background:#0f172ad9;border-color:#64748b;color:#e2e8f0}.schema-palette-temp-preview{background:#fffffff2;border-left:3px solid #2dd4bf;border-radius:6px;display:flex;flex-direction:column;gap:1px;min-width:52px;padding:4px 8px}[data-theme=dark] .schema-palette-temp-preview{background:#0f172ae6}.schema-palette-temp-name{color:#94a3b8;font-size:10px;font-weight:700}.schema-palette-temp-val{color:#2dd4bf;font-size:13px;font-weight:800}.schema-flow-palette-label{line-height:1.2;text-align:center}.schema-flow-palette-hint{color:#64748b;font-size:.75rem;line-height:1.35;margin-top:10px}.schema-flow-canvas-wrap{background:#f8fafc;border:1px solid #0f172a1f;border-radius:10px;min-width:0;overflow:hidden}[data-theme=dark] .schema-flow-canvas-wrap{background:#243044;border-color:#94a3b840}.schema-flow-canvas-wrap .react-flow{height:100%;width:100%}.schema-flow-canvas-wrap .react-flow__viewport-portal{pointer-events:none;z-index:0}.schema-flow-canvas-wrap .react-flow__edges{z-index:1}.schema-flow-canvas-wrap .react-flow__nodes{z-index:2}.schema-flow-field{color:#334155;display:flex;flex-direction:column;font-size:.8125rem;font-weight:600;gap:4px;margin-bottom:10px}[data-theme=dark] .schema-flow-field{color:#cbd5e1}.schema-flow-field input,.schema-flow-field select{border:1px solid #0f172a2e;border-radius:6px;font-size:.8125rem;font-weight:500;padding:7px 8px}[data-theme=dark] .schema-flow-field input,[data-theme=dark] .schema-flow-field select{background:#0f172aa6;border-color:#94a3b84d;color:#e2e8f0}.schema-flow-field-meta{color:#64748b;font-size:.75rem}.schema-flow-color-row{display:flex;gap:6px;margin-top:4px}.schema-flow-color-btn{background:color-mix(in srgb,var(--pipe-swatch) 18%,#0000);border:2px solid #0000;border-radius:8px;color:var(--pipe-swatch);cursor:pointer;flex:1 1;font-size:.75rem;font-weight:700;padding:7px 8px}.schema-flow-color-btn--active{background:color-mix(in srgb,var(--pipe-swatch) 28%,#0000);border-color:var(--pipe-swatch)}.schema-flow-rotate-row{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-top:4px}.schema-flow-rotate-row .schema-flow-btn{font-size:.75rem;padding:5px 8px}.schema-flow-tank-levels{display:flex;flex-direction:column;gap:8px;margin-top:10px}.schema-flow-tank-level-row{grid-gap:6px;align-items:center;color:#334155;display:grid;font-size:.75rem;font-weight:600;gap:6px;grid-template-columns:64px 1fr 36px}[data-theme=dark] .schema-flow-tank-level-row{color:#cbd5e1}.schema-flow-tank-level-row strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.schema-flow-scale-slider{accent-color:#0f766e;margin-top:8px;width:100%}.schema-symbol-body{align-items:center;display:flex;justify-content:center;line-height:0;transform-origin:center center}.schema-symbol-body svg{display:block;overflow:visible}.schema-pipe-handle{background:#0f766e;border:2px solid #fff;border-radius:4px;box-shadow:0 1px 4px #0f172a59;height:14px;width:14px;z-index:5}.schema-pipe-handle--h{cursor:ns-resize;height:12px;width:18px}.schema-pipe-handle--v{cursor:ew-resize;height:18px;width:12px}.schema-pipe-hint{background:#ffffffeb;border-radius:4px;box-shadow:0 1px 3px #0f172a26;color:#0f766e;font-size:10px;font-weight:600;padding:2px 6px;white-space:nowrap}.schema-minimap-node--selected circle,.schema-minimap-node--selected ellipse,.schema-minimap-node--selected polygon,.schema-minimap-node--selected rect{stroke:#0f766e;stroke-width:2}.react-flow__minimap{border:1px solid #0f172a26;border-radius:8px;overflow:hidden}.react-flow__node-expansion,.react-flow__node-flange,.react-flow__node-floorHeating,.react-flow__node-heatPump,.react-flow__node-label,.react-flow__node-pump,.react-flow__node-radiator,.react-flow__node-solar,.react-flow__node-tank,.react-flow__node-tempWidget,.react-flow__node-valve2,.react-flow__node-valve3{background:#0000;border:none;box-shadow:none;padding:0}.schema-flow-panel-hint{background:#ffffffd9;border-radius:6px;color:#64748b;font-size:.7rem;padding:4px 8px}.schema-flow-template{box-sizing:border-box}.schema-flow-template-img{-webkit-user-drag:none;display:block;height:100%;object-fit:contain;object-position:left top;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%}.schema-flow-template-controls{align-items:center;border-left:1px solid #94a3b873;display:inline-flex;gap:8px;margin-left:4px;padding-left:10px}.schema-flow-template-controls label{align-items:center;color:#475569;cursor:pointer;display:inline-flex;font-size:.78rem;gap:6px;-webkit-user-select:none;user-select:none;white-space:nowrap}[data-theme=dark] .schema-flow-template-controls label{color:#cbd5e1}.schema-flow-template-opacity{accent-color:#0f766e;vertical-align:middle;width:88px}.schema-flow-btn--active{background:#0f766e;border-color:#0f766e;color:#fff}[data-theme=dark] .schema-flow-btn--active{background:#0d9488;border-color:#2dd4bf;color:#fff}.schema-flow-canvas-wrap .react-flow__controls-button.schema-flow-template-control--off svg{opacity:.55}.schema-flow-viewer{background:#f8fafc;border:1px solid #0f172a1a;border-radius:10px;box-sizing:border-box;height:min(62vh,560px);margin:0 auto;max-width:1100px;min-height:320px;overflow:hidden;position:relative;width:100%}.schema-flow-viewer--locked .react-flow__pane{cursor:default}.schema-flow-viewer .react-flow__handle{background:#0000!important;border:none!important;opacity:0!important;pointer-events:none!important}.schema-flow-viewer .schema-pipe-handle,.schema-flow-viewer .schema-pipe-hint,.schema-flow-viewer .schema-pipe-hit{display:none!important;pointer-events:none!important}.schema-flow-viewer .react-flow__edges{z-index:2}.schema-flow-viewer .react-flow__nodes{z-index:3}.schema-flow-viewer .react-flow__edge-path{stroke-width:3px!important;stroke-opacity:1!important}.schema-flow-viewer .react-flow__edge-interaction{pointer-events:none}[data-theme=dark] .schema-flow-viewer{background:#243044;border-color:#94a3b833}.schema-flow-viewer--empty{font-size:.9rem;padding:24px;text-align:center}.schema-flow-viewer--empty,.schema-flow-viewer-loading{align-items:center;color:#64748b;display:flex;justify-content:center}.schema-flow-viewer-loading{background:#f8fafcb3;font-size:.875rem;inset:0;pointer-events:none;position:absolute}[data-theme=dark] .schema-flow-viewer-loading{background:#243044c7;color:#cbd5e1}.schema-symbol{box-sizing:border-box;font-family:Segoe UI,system-ui,sans-serif}.schema-symbol,.schema-symbol-core{height:100%;overflow:visible;position:relative;width:100%}.schema-symbol-core{align-items:center;display:flex;justify-content:center}.schema-symbol--selected{border-radius:4px;outline:2px solid #0f766e;outline-offset:2px}.schema-symbol-label{color:#334155;font-size:10px;font-weight:600;left:50%;line-height:1.2;max-width:110px;overflow:hidden;pointer-events:none;position:absolute;text-align:center;text-overflow:ellipsis;transform:translateX(-50%);white-space:nowrap;z-index:1}.schema-symbol-label--below{bottom:auto;top:calc(100% + 8px)}.schema-symbol-label--above{bottom:calc(100% + 2px);top:auto}[data-theme=dark] .schema-symbol-label{color:#cbd5e1}.schema-flow-canvas-wrap .react-flow__handle{z-index:5}.schema-flow-canvas-wrap .react-flow__handle:after{border-radius:50%;content:"";inset:-10px;position:absolute}.schema-flow-canvas-wrap--move-only .react-flow__handle{border:none!important;opacity:0!important;pointer-events:none!important}.schema-flow-canvas-wrap--move-only .schema-pipe-handle,.schema-flow-canvas-wrap--move-only .schema-pipe-hint,.schema-flow-canvas-wrap--move-only .schema-pipe-hit{display:none!important;pointer-events:none!important}.schema-flow-canvas-wrap .react-flow__node{overflow:visible}.schema-label-box{background:#ffffffeb;border:1px solid #94a3b8;border-radius:4px;color:#0f172a;font-size:12px;font-weight:700;min-width:80px;padding:6px 10px;text-align:center}.schema-temp-card{background:#fffffff2;border-left:3px solid #0f766e;border-radius:6px;box-shadow:0 1px 3px #0f172a1f;min-width:100px;padding:6px 8px}[data-theme=dark] .schema-temp-card{background:#1e293bf2;color:#e2e8f0}.schema-temp-card-name{color:#334155;font-size:11px;font-weight:700;margin-bottom:2px}[data-theme=dark] .schema-temp-card-name{color:#cbd5e1}.schema-temp-card-row{align-items:baseline;display:flex;gap:6px}.schema-temp-card-value{color:#0f766e;font-size:14px;font-weight:800}[data-theme=dark] .schema-temp-card-value{color:#5eead4}.schema-temp-card-target{color:#64748b;font-size:11px}.schema-temp-card-id{color:#94a3b8;font-size:9px;margin-top:2px}.schema-temp-card-id--warn{color:#b45309}@media (max-width:800px){.schema-flow-body{grid-template-columns:1fr;height:auto}.schema-flow-canvas-wrap{height:420px}.schema-flow-palette,.schema-flow-props{max-height:160px}}.lcd-page{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;width:100%}.lcd-page .app-page-title{max-width:100%;width:100%}.panel-wrapper{background-color:var(--card-icon-bg);border:3px double var(--card-border);border-radius:10px;display:inline-flex;justify-content:center;max-width:100%;padding:20px}.lcd-error{background:#dc26261f;border:1px solid #dc262659;border-radius:8px;color:var(--stats-banner-error-text);font-size:14px;margin-bottom:10px;max-width:100%;padding:8px 10px;width:520px}.lcd-box{align-items:center}.lcd-box,.lcd-row{display:flex}.lcd-char{color:#000;display:inline-block;height:24px;line-height:24px;text-align:center;width:18px}.cursor{animation:blink 1s steps(1) infinite;background-color:#000;color:#fff}@keyframes blink{50%{opacity:0}}.lcd-display{background-color:#fff;border:10px solid #000;color:#000;display:flex;flex-direction:column;font-family:monospace;font-size:18px;height:120px;justify-content:center;line-height:28px;padding:10px 15px;width:350px}.lcd-display,.lcd-display .lcd-char,.lcd-display .lcd-line,.lcd-display .lcd-row{color:#000}.lcd-display .lcd-char.cursor{background-color:#000;color:#fff}.lcd-line{white-space:pre}.button-panel{display:flex;flex-direction:column;height:150px;justify-content:space-between;margin-left:30px}.button-row{gap:20px}.button-row,.circle-button{display:flex;justify-content:center}.circle-button{align-items:center;background-color:#444;border:2px solid #000;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;height:50px;-webkit-user-select:none;user-select:none;width:50px}.circle-button.pressed{box-shadow:inset 0 0 5px #000;transform:scale(.9);transition:transform .1s,box-shadow .1s}.gray{background-color:#666}.red{background-color:crimson}@media (max-width:640px){.panel-wrapper{box-sizing:border-box;padding:12px;width:100%}.lcd-box{flex-direction:column;gap:16px}.lcd-display{font-size:16px;max-width:320px;width:100%}.lcd-char{height:22px;line-height:22px;width:16px}.button-panel{gap:12px;height:auto;margin-left:0;margin-top:8px}.circle-button{min-height:48px;min-width:48px}}@media (max-width:320px){.panel-wrapper{padding:8px}.lcd-display{border-width:6px;font-size:14px;min-height:100px;padding:8px 10px}.lcd-char{height:20px;line-height:20px;width:14px}.button-row{gap:12px}.circle-button{font-size:18px;min-height:44px;min-width:44px}}.login-container{align-items:center;background-color:var(--app-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh}.login-card{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 30px #0003;box-shadow:var(--card-shadow-hover,0 8px 30px #0003);color:var(--card-text);padding:32px;text-align:center;width:320px}.login-logo{border-radius:10px;display:block;height:auto;margin:0 auto 20px;max-height:88px;object-fit:contain;width:min(260px,100%)}.login-title{color:var(--card-text);font-size:24px;font-weight:700;margin-bottom:10px}.login-description{color:var(--card-text-muted);font-size:14px;margin-bottom:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{margin-bottom:15px;text-align:left}.form-group label{color:var(--card-text-muted);font-size:14px;margin-bottom:5px}.form-group input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--card-text);font-size:16px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{border-color:#10b98199;box-shadow:0 0 0 3px #10b98126;outline:none}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{padding-right:40px;width:100%}.password-toggle{align-items:center;background:none;border:none;color:var(--card-text-muted);cursor:pointer;display:flex;position:absolute;right:10px}.password-toggle:hover{color:var(--card-text)}.login-button{background-color:#10b981;border:none;border-radius:10px;box-shadow:0 2px 8px #10b98140;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background .2s,transform .1s,box-shadow .2s}.login-button:hover{background-color:#059669;box-shadow:0 4px 12px #10b9814d}.login-button:active{transform:scale(.98)}.login-footer button{background:none;border:none;color:#10b981;cursor:pointer;font-size:14px;margin-top:10px;text-decoration:underline;transition:color .2s ease-in-out}.login-footer button:hover{color:#34d399}[data-theme=dark] .login-footer button{color:#6ee7b7}[data-theme=dark] .login-footer button:hover{color:#a7f3d0}.login-error{color:#f87171;font-size:14px;margin-bottom:10px}@media (max-width:480px){.login-container{align-items:flex-start;padding:max(20px,env(safe-area-inset-top)) 16px 16px}.login-card{margin:0 auto;max-width:360px;padding:24px 20px;width:100%}.form-group input,.login-button{font-size:16px;min-height:48px}.password-toggle{align-items:center;justify-content:center;min-height:44px;min-width:44px}}@media (max-width:320px){.login-container{padding:10px}.login-card{padding:20px 16px}.login-title{font-size:20px}.form-group input{padding:8px}.login-button{padding:10px}}.day-timeline{font-family:sans-serif;margin-bottom:24px}.hour-scale{color:#666;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px;padding:0 4px;position:relative}.hour-mark{flex:1 1;position:relative;text-align:center;white-space:nowrap}@media (max-width:640px){.hour-mark:nth-child(odd){display:none}}.day-timeline-axes{align-items:stretch;background:#000130;border:1px solid #ccc;border-radius:6px;display:flex;overflow:hidden;position:relative}.day-timeline-label{align-items:center;border-right:1px solid #ffffff26;color:#fffffff2;display:flex;flex-shrink:0;font-size:13px;font-weight:700;justify-content:center;min-width:28px;padding:0 6px}.day-timeline-content{background:linear-gradient(90deg,#000130 0,#0d182e 28%,#5b87b8 54%,#0d182e 72%,#000130);background:linear-gradient(to right,#000130 0,#0d182e var(--sun-rise,28%),#5b87b8 var(--sun-noon,54%),#0d182e var(--sun-set,72%),#000130 100%);flex:1 1;min-width:0;padding:6px 0 8px;position:relative}.day-timeline-axes .hour-scale{color:#f8fafce0;margin-bottom:4px;padding:0}.timeline-bar{background-color:#fff0;border-radius:4px 4px 0 0;height:20px;min-height:20px;overflow:hidden;position:relative}.day-timeline-axes:not(:has(.daynight-bar)) .timeline-bar{border-radius:4px}.daynight-bar{border-radius:0 0 4px 4px;box-sizing:border-box;min-height:32px;overflow:hidden;padding:4px 22px 6px;position:relative;width:100%}.daynight-bar-tick{background:#fff6;height:5px;top:4px;width:1px}.daynight-bar-hour,.daynight-bar-tick{position:absolute;transform:translateX(-50%)}.daynight-bar-hour{bottom:2px;color:#fffffff2;font-size:10px;font-weight:500;text-shadow:0 0 1px #0006,0 1px 2px #0000004d}.daynight-bar-icon{align-items:center;display:inline-flex;justify-content:center;line-height:0;top:50%}.daynight-bar-glow,.daynight-bar-icon{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.daynight-bar-glow{margin-top:30px;opacity:.9}.daynight-bar-glow-1{background:#a6d6f8;border-radius:12%;filter:blur(18px);height:35px}.daynight-bar-glow-2{background:#cce6ff;border-radius:50%;filter:blur(10px);height:20px}.daynight-bar-moon-left,.daynight-bar-moon-right,.daynight-bar-sun{top:10px;transform:translate(-50%,-50%)}.daynight-bar-moon{animation:daynight-icon-pulse 2.8s ease-in-out infinite;color:#ffffffe6;filter:drop-shadow(0 0 1px rgba(0,0,0,.4))}.daynight-bar-sun{animation:daynight-icon-pulse 2.4s ease-in-out infinite;color:#fef08a;filter:drop-shadow(0 0 2px rgba(254,240,138,.5))}@keyframes daynight-icon-pulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.88;transform:translate(-50%,-50%) scale(1.12)}}@media (max-width:450px){.daynight-bar-hour-odd{display:none}}@media (max-width:640px){.timeline-bar{height:20px;min-height:20px}}.interval-bar{backface-visibility:hidden;border:none;border-radius:0;bottom:0;box-sizing:border-box;margin:0;opacity:1;position:absolute;top:0;z-index:1}.interval-bar-tappable{-webkit-tap-highlight-color:transparent;cursor:pointer;display:block;padding:0;transition:filter .2s,box-shadow .2s}.interval-bar-tappable:hover{box-shadow:inset 0 0 0 1px #fff3;filter:brightness(1.08)}.interval-bar-tappable:active{filter:brightness(.95)}.interval-bar.low{background:linear-gradient(180deg,#0cfff2,#00000080 45%,#0cfff200)}.interval-bar.mid{background:linear-gradient(180deg,#fde500,#00000080 45%,#c69f0200)}.interval-bar.high{background:linear-gradient(180deg,#ff0707,#00000080 45%,#9d030300)}.interval-bar.off{background:linear-gradient(180deg,#e8e6e4e6,#d4d2d0e6)}.interval-bar.on{background:linear-gradient(180deg,#6ade4ae0,#4fc732e0)}.interval-resize-handle{align-items:center;bottom:-4px;cursor:col-resize;display:flex;justify-content:center;margin-left:-10px;position:absolute;top:-4px;touch-action:none;width:20px;z-index:2}.interval-resize-handle:after{background:#ffffffe6;border-radius:2px;box-shadow:0 0 2px #0006;content:"";height:14px;transition:height .15s,background .15s,box-shadow .15s;width:3px}.interval-resize-handle:hover:after{background:#fff;height:18px}.interval-resize-handle--linked:after{background:#fff;box-shadow:0 0 0 1px #ffffff59,0 0 6px #ffffff8c;width:4px}@media (max-width:640px),(pointer:coarse){.interval-resize-handle{bottom:-8px;margin-left:-16px;top:-8px;width:32px}}.interval-resize-tooltip{background:#1e293b;border-radius:6px;box-shadow:0 4px 12px #00000059;color:#f8fafc;font-size:13px;font-weight:600;padding:4px 10px;pointer-events:none;position:fixed;transform:translate(-50%);white-space:nowrap;z-index:10000}.schedule-page{color:var(--card-text);width:100%}.schedule-header{align-items:center;display:flex;gap:16px;margin-bottom:12px}.schedule-subtitle{color:var(--card-text-muted);font-size:13px;margin-top:4px}.schedule-actions,.schedule-actions-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.schedule-actions-bar{margin-bottom:12px}.btn{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:10px;color:var(--card-text);cursor:pointer;font-weight:600;padding:8px 12px;transition:background .15s,border-color .15s,transform .1s,box-shadow .15s}.btn:disabled{cursor:not-allowed;opacity:.55}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid #10b981;outline-offset:2px}.btn-primary{background:#10b981;border-color:#10b981;color:#fff}.btn-secondary:hover:not(:disabled){background:var(--row-hover-bg)}.btn-primary:hover:not(:disabled){background:#0ea371;border-color:#0ea371;box-shadow:0 2px 8px #10b98133}.schedule-banner{border-radius:12px;font-size:13px;margin:0;padding:6px 14px;white-space:nowrap}.schedule-banner-error{background:#dc26261f;border:1px solid #dc262659;color:var(--stats-banner-error-text)}.schedule-banner-warn{background:#f59e0b1f;border:1px solid #f59e0b59;color:var(--stats-banner-warn-text)}.schedule-banner-info{background:#3b82f61a;border:1px solid #3b82f640;color:var(--stats-banner-info-text)}.schedule-layout{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(220px,280px) 1fr}.schedule-sidebar{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:14px;display:flex;flex-direction:column;gap:12px;height:fit-content;padding:12px}.sidebar-title-toggle{align-items:center;border:none;cursor:pointer;display:flex;font:inherit;gap:8px;justify-content:space-between;text-align:left;width:100%}.sidebar-title-toggle svg{flex-shrink:0}.sidebar-section-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.sidebar-section-content.expanded{margin-top:8px;max-height:min(70vh,560px)}.sidebar-section,.sidebar-title{margin-bottom:0}.sidebar-title{background:linear-gradient(90deg,#059669,#10b981);border-radius:8px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.05em;padding:6px 10px;text-transform:uppercase}.sidebar-title-ostatni{background:linear-gradient(90deg,#0f766e,#14b8a6)}.room-search{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;box-sizing:border-box;color:var(--card-text);margin-bottom:0;min-width:0;outline:none;padding:8px 10px;width:100%}.room-search::placeholder{color:var(--input-placeholder)}[data-theme=dark] .room-search{background:#ffffff12}.room-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto;padding-right:4px}.schedule-page .room-list,.schedule-page .table-wrap{scrollbar-color:#64748b8c #0f172a0f;scrollbar-width:thin}[data-theme=dark] .schedule-page .room-list,[data-theme=dark] .schedule-page .table-wrap{scrollbar-color:#ffffff47 #ffffff0f}.schedule-page .room-list::-webkit-scrollbar,.schedule-page .table-wrap::-webkit-scrollbar{height:8px;width:8px}.schedule-page .room-list::-webkit-scrollbar-track,.schedule-page .table-wrap::-webkit-scrollbar-track{background:#0f172a0f;border-radius:999px}.schedule-page .room-list::-webkit-scrollbar-thumb,.schedule-page .table-wrap::-webkit-scrollbar-thumb{background:#64748b73;border-radius:999px}.schedule-page .room-list::-webkit-scrollbar-thumb:hover,.schedule-page .table-wrap::-webkit-scrollbar-thumb:hover{background:#64748ba6}[data-theme=dark] .schedule-page .room-list::-webkit-scrollbar-track,[data-theme=dark] .schedule-page .table-wrap::-webkit-scrollbar-track{background:#ffffff0f}[data-theme=dark] .schedule-page .room-list::-webkit-scrollbar-thumb,[data-theme=dark] .schedule-page .table-wrap::-webkit-scrollbar-thumb{background:#ffffff38}[data-theme=dark] .schedule-page .room-list::-webkit-scrollbar-thumb:hover,[data-theme=dark] .schedule-page .table-wrap::-webkit-scrollbar-thumb:hover{background:#ffffff52}.room-item{align-items:center;background:#0f172a05;border:1px solid var(--card-border);border-radius:12px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:10px;text-align:left;width:100%}.room-item:hover{background:#0f172a0a}.room-item.active{background:#10b9811a;border-color:#10b9818c}.room-name{color:var(--card-text);font-weight:650}.room-dirty{color:#f59e0b;font-size:14px}.room-empty{color:var(--card-text-dim);padding:6px 2px}.schedule-main{display:flex;flex-direction:column;gap:14px}.card{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:14px;box-shadow:0 8px 20px #0f172a0f;overflow:hidden}.card-header{align-items:flex-start;border-bottom:1px solid var(--card-border);display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.card-title{font-weight:800}.card-title--schedule-room{color:var(--card-text);font-size:clamp(1.05rem,2.4vw,1.2rem);line-height:1.25;text-align:left}.card-title--schedule-room-unsaved{color:var(--card-text-muted);font-size:.88em;font-weight:600}.card-subtitle{color:var(--card-text-dim);font-size:12px;margin-top:2px}.schedule-program-table-toggle{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.schedule-program-table-toggle:hover{background:#0f172a08}[data-theme=dark] .schedule-program-table-toggle:hover{background:#ffffff0a}.schedule-program-table-chevron{align-items:center;color:var(--card-text-muted);display:inline-flex;flex-shrink:0;justify-content:center}.schedule-program-table-card{isolation:isolate;position:relative;z-index:0}.schedule-program-table-card:not(.is-expanded) .card-header{border-bottom:none}.timeline-list{padding:12px 14px;position:relative}.schedule-linked-lines{height:100%;inset:0;overflow:visible;pointer-events:none;position:absolute;width:100%;z-index:3}.schedule-linked-line{stroke:#ffffffd9;stroke-width:1.5;stroke-linecap:round}.legend{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.legend-item{background:#0f172a05;border:1px solid var(--card-border);border-radius:999px;font-size:12px;font-weight:700;padding:4px 8px}.legend-item.low{border-color:#0cfff2cc}.legend-item.mid{border-color:#edbd02b3}.legend-item.high{border-color:#db0000b3}.legend-item.off{background:#e0dcdc4d;border-color:#e0dcdcd9}.legend-item.on{background:#50de1e26;border-color:#50de1ebf}.table-wrap{overflow:auto;padding:0 14px 14px;position:relative;z-index:0}.program-table{border-collapse:initial;border-spacing:0;overflow:hidden;width:100%}.program-table td,.program-table th{border-bottom:1px solid var(--card-border);color:var(--card-text);padding:10px;text-align:center;vertical-align:middle}.program-table thead th{background:var(--card-icon-bg);color:var(--card-text-muted);font-size:12px;letter-spacing:.04em;position:sticky;text-transform:uppercase;top:0;z-index:1}.program-table select{padding:6px 8px}.icon-btn,.program-table select{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:10px;color:var(--card-text)}.icon-btn{align-items:center;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .1s;width:36px}.icon-btn:hover{background:#dc262614;border-color:#dc262659}.icon-btn:active{transform:scale(.92)}.icon-btn:focus-visible{outline:2px solid #10b981;outline-offset:2px}.empty-state{color:var(--card-text-dim);padding:18px 10px;text-align:center}@media (max-width:980px){.schedule-layout{grid-template-columns:1fr}.room-list{max-height:220px}}@media (max-width:640px){.schedule-header{align-items:flex-start;flex-direction:column;gap:8px}.schedule-banner{white-space:normal}.schedule-actions,.schedule-actions-bar{justify-content:stretch}.schedule-actions .btn,.schedule-actions-bar .btn{flex:1 1;min-height:44px}.room-item{min-height:48px;padding:12px 14px}.program-table td,.program-table th{font-size:.8rem;padding:8px 6px}.program-table select{min-height:40px;width:100%}.icon-btn{min-height:44px;min-width:44px}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 -14px 14px;overflow-x:auto;padding:0 14px 14px}}@media (max-width:320px){.schedule-page{padding:8px}.schedule-actions .btn,.schedule-actions-bar .btn{font-size:.8rem;min-height:40px;padding:6px 10px}.room-item{min-height:44px;padding:10px 12px}.program-table td,.program-table th{font-size:.75rem;padding:6px 4px}.icon-btn{min-height:40px;min-width:40px}.table-wrap{margin:0 -8px 10px;padding:0 8px 10px}}.schedule-temp-picker-backdrop{align-items:flex-end;animation:schedulePickerFade .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#02061780;display:flex;inset:0;isolation:isolate;justify-content:center;position:fixed;z-index:11000}@keyframes schedulePickerFade{0%{opacity:0}to{opacity:1}}.schedule-temp-picker-sheet{--tp-chip-bg:#0f172a0d;--tp-chip-bg-hover:#0f172a1a;animation:schedulePickerSlide .3s cubic-bezier(.32,.72,0,1);background:var(--surface-elevated);border:1px solid var(--card-border);border-bottom:none;border-radius:22px 22px 0 0;box-shadow:0 -16px 48px #0206174d;color:var(--card-text);max-width:420px;padding:10px 20px max(24px,env(safe-area-inset-bottom));position:relative;width:100%;z-index:1}[data-theme=dark] .schedule-temp-picker-sheet{--tp-chip-bg:#ffffff0f;--tp-chip-bg-hover:#ffffff1f}.schedule-temp-picker-handle{background:var(--card-border);border-radius:999px;height:4px;margin:2px auto 14px;width:40px}@keyframes schedulePickerSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width:641px){.schedule-temp-picker-backdrop{align-items:center;padding:24px}.schedule-temp-picker-sheet{animation:schedulePickerPop .22s cubic-bezier(.32,.72,0,1);border-bottom:1px solid var(--card-border);border-radius:20px;box-shadow:0 24px 60px #02061759}.schedule-temp-picker-handle{display:none}}@keyframes schedulePickerPop{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.schedule-temp-picker-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px;min-height:40px;position:relative}.schedule-temp-picker-header-left{flex-shrink:0;min-width:36px}.schedule-temp-picker-header-right{display:flex;flex-shrink:0;justify-content:flex-end;min-width:36px}.schedule-temp-picker-title{color:var(--card-text);font-size:1.05rem;font-weight:700;left:50%;letter-spacing:-.01em;margin:0;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);white-space:nowrap}.schedule-temp-picker-header-back{align-items:center;background:var(--tp-chip-bg);border:none;border-radius:999px;color:var(--card-text-muted);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:8px 12px;transition:background .2s,color .2s}.schedule-temp-picker-header-back:hover{background:var(--tp-chip-bg-hover);color:var(--card-text)}.schedule-temp-picker-days{margin-bottom:14px}.schedule-temp-picker-days label{color:var(--card-text-dim);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:10px;text-transform:uppercase}.schedule-temp-picker-day-radios,.schedule-temp-picker-day-radios-grid{display:flex;flex-wrap:wrap;gap:6px}.schedule-temp-picker-day-radios-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-temp-picker-day-radios-grid .schedule-temp-picker-day-radio{min-width:0;padding:8px 4px;width:100%}.schedule-temp-picker-day-radio{align-items:center;background:#0000;border:1px solid var(--card-border);border-radius:999px;color:var(--card-text-muted);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;justify-content:center;min-width:44px;padding:8px 12px;position:relative;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.schedule-temp-picker-day-radio:hover{background:var(--tp-chip-bg);color:var(--card-text)}.schedule-temp-picker-day-radio.selected{background:linear-gradient(90deg,#059669,#10b981);border-color:#0000;box-shadow:0 2px 10px #10b98159;color:#fff}.schedule-temp-picker-day-radio input{opacity:0;pointer-events:none;position:absolute}.schedule-temp-picker-hint{color:var(--card-text-dim);font-size:.8125rem;line-height:1.5;margin:0 0 16px}.schedule-temp-picker-btns{display:flex;gap:10px;margin-bottom:18px}.schedule-temp-picker-btn{align-items:center;background:var(--tp-chip-bg);border:none;border-radius:14px;color:var(--card-text-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.8125rem;font-weight:700;gap:5px;justify-content:center;min-height:58px;padding:10px 8px;transition:background .15s,color .15s,transform .1s,box-shadow .15s}.schedule-temp-picker-btn:hover{transform:translateY(-1px)}.schedule-temp-picker-btn:active{transform:scale(.97)}.schedule-temp-picker-btn-label{display:block}.schedule-temp-picker-btn-check{font-size:.875rem;font-weight:700;line-height:1}.schedule-temp-picker-btn.temp-picker-low{background:#0da59e1f;color:#0a9e97}.schedule-temp-picker-btn.temp-picker-low:hover{background:#0da59e38}.schedule-temp-picker-btn.temp-picker-low.active{background:#0da59e;box-shadow:0 4px 14px #0da59e66;color:#fff}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-low{color:#2dd4bf}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-low.active{color:#fff}.schedule-temp-picker-btn.temp-picker-mid{background:#d977061f;color:#c2740a}.schedule-temp-picker-btn.temp-picker-mid:hover{background:#d9770638}.schedule-temp-picker-btn.temp-picker-mid.active{background:#f59e0b;box-shadow:0 4px 14px #f59e0b66;color:#fff}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-mid{color:#fbbf24}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-mid.active{color:#fff}.schedule-temp-picker-btn.temp-picker-high{background:#ef44441f;color:#dc2626}.schedule-temp-picker-btn.temp-picker-high:hover{background:#ef444438}.schedule-temp-picker-btn.temp-picker-high.active{background:#ef4444;box-shadow:0 4px 14px #ef444466;color:#fff}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-high{color:#f87171}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-high.active{color:#fff}.schedule-temp-picker-btn.temp-picker-off{background:#64748b1f;color:#64748b}.schedule-temp-picker-btn.temp-picker-off:hover{background:#64748b38}.schedule-temp-picker-btn.temp-picker-off.active{background:#64748b;box-shadow:0 4px 14px #64748b59;color:#fff}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-off{color:#94a3b8}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-off.active{color:#fff}.schedule-temp-picker-btn.temp-picker-on{background:#22c55e1f;color:#16a34a}.schedule-temp-picker-btn.temp-picker-on:hover{background:#22c55e38}.schedule-temp-picker-btn.temp-picker-on.active{background:#22c55e;box-shadow:0 4px 14px #22c55e66;color:#fff}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-on{color:#4ade80}[data-theme=dark] .schedule-temp-picker-btn.temp-picker-on.active{color:#fff}.schedule-temp-picker-btns-icon .schedule-temp-picker-btn{flex-direction:column;font-size:.8125rem;gap:4px;min-height:56px;padding:8px}.schedule-temp-picker-btns-icon .schedule-temp-picker-btn-label{font-size:.75rem;font-weight:700}.schedule-temp-picker-btns-small .schedule-temp-picker-btn{font-size:.9rem;min-height:48px}.schedule-temp-picker-actions-row{border-top:1px solid var(--card-border);display:flex;gap:10px;margin-bottom:0;padding-top:16px}.schedule-temp-picker-icon-btn{align-items:center;background:var(--tp-chip-bg);border:none;border-radius:14px;color:var(--card-text-muted);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.7rem;font-weight:700;gap:6px;justify-content:center;letter-spacing:.04em;line-height:1.25;min-width:0;padding:12px 8px;text-transform:uppercase;transition:background .15s,color .15s,transform .1s}.schedule-temp-picker-icon-btn:hover{background:var(--tp-chip-bg-hover);color:var(--card-text)}.schedule-temp-picker-icon-btn:active{transform:scale(.97)}.schedule-temp-picker-icon-btn.schedule-temp-picker-delete{background:#ef44441a;color:#dc2626}.schedule-temp-picker-icon-btn.schedule-temp-picker-delete:hover{background:#ef44442e;color:#b91c1c}[data-theme=dark] .schedule-temp-picker-icon-btn.schedule-temp-picker-delete{color:#f87171}[data-theme=dark] .schedule-temp-picker-icon-btn.schedule-temp-picker-delete:hover{color:#fca5a5}.schedule-temp-picker-icon-btn.schedule-temp-picker-clear-timeline{background:#f59e0b1a;color:#d97706}.schedule-temp-picker-icon-btn.schedule-temp-picker-clear-timeline:hover{background:#f59e0b2e;color:#b45309}[data-theme=dark] .schedule-temp-picker-icon-btn.schedule-temp-picker-clear-timeline{color:#fbbf24}[data-theme=dark] .schedule-temp-picker-icon-btn.schedule-temp-picker-clear-timeline:hover{color:#fcd34d}.schedule-temp-picker-icon-btn.schedule-temp-picker-edit-open{background:#10b9811a;color:#059669}.schedule-temp-picker-icon-btn.schedule-temp-picker-edit-open:hover{background:#10b9812e;color:#047857}[data-theme=dark] .schedule-temp-picker-icon-btn.schedule-temp-picker-edit-open{color:#34d399}[data-theme=dark] .schedule-temp-picker-icon-btn.schedule-temp-picker-edit-open:hover{color:#6ee7b7}.schedule-temp-picker-edit-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:6px}.schedule-temp-picker-edit-action{background:var(--tp-chip-bg);border:1px solid var(--card-border);border-radius:14px;color:var(--card-text);cursor:pointer;font-size:.9375rem;font-weight:600;margin-bottom:0;padding:14px 16px;text-align:left;transition:background .15s,border-color .15s,color .15s;width:100%}.schedule-temp-picker-edit-action:hover{background:#10b9811a;border-color:#10b98166;color:#10b981}.schedule-temp-picker-temp-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.schedule-temp-picker-temp-label{color:var(--card-text-dim);flex-shrink:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.schedule-temp-picker-btns-inline{flex:1 1;margin-bottom:0;min-width:0}.schedule-temp-picker-btns-inline .schedule-temp-picker-btn{flex:1 1;min-width:64px}.schedule-temp-picker-range{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}.schedule-temp-picker-field{display:flex;flex-direction:column;gap:8px}.schedule-temp-picker-field label{color:var(--card-text-dim);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.schedule-temp-picker-time-trigger{font-feature-settings:"tnum";background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;color:var(--card-text);cursor:pointer;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:700;padding:13px 16px;text-align:center;transition:border-color .15s,box-shadow .15s;width:100%}.schedule-temp-picker-time-trigger:hover{border-color:#10b98180;box-shadow:0 0 0 3px #10b9811f}.schedule-temp-picker-time-slider-wrap{display:flex;flex-direction:column;gap:10px;padding:10px 0}.schedule-temp-picker-time-slider-wrap .picker-wrapper{margin:0;max-width:100%}.schedule-temp-picker-time-done{align-self:center;background:var(--tp-chip-bg);border:none;border-radius:999px;color:var(--card-text-muted);cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 24px;transition:background .2s,color .2s}.schedule-temp-picker-time-done:hover{background:var(--tp-chip-bg-hover);color:var(--card-text)}.schedule-temp-picker-time{align-items:center;display:flex;gap:6px}.schedule-temp-picker-time input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--card-text);font-size:1rem;font-weight:600;padding:10px 12px;text-align:center;width:56px}.schedule-temp-picker-time input:focus{border-color:#10b9818c;box-shadow:0 0 0 3px #10b9811f;outline:none}.schedule-temp-picker-time span{color:var(--card-text-dim);font-weight:700}.schedule-temp-picker-day-select{background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;color:var(--card-text);font-size:1rem;font-weight:500;padding:12px 14px;width:100%}.schedule-temp-picker-day-select:focus{border-color:#10b9818c;outline:none}.schedule-temp-picker-actions{display:flex;gap:10px;margin-bottom:0}.schedule-temp-picker-actions .schedule-temp-picker-delete{flex:1 1;margin-bottom:0;width:auto}.schedule-temp-picker-back{background:var(--tp-chip-bg);border:none;border-radius:14px;color:var(--card-text-muted);cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:600;padding:14px 18px;transition:background .2s,color .2s}.schedule-temp-picker-back:hover{background:var(--tp-chip-bg-hover);color:var(--card-text)}.schedule-temp-picker-back-block{margin-bottom:12px;width:100%}.schedule-temp-picker-back-inline{margin-bottom:12px;padding:8px 14px;width:auto}.schedule-temp-picker-confirm{background:linear-gradient(90deg,#059669,#10b981);border:none;border-radius:14px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;padding:14px 18px;transition:filter .15s,transform .1s}.schedule-temp-picker-confirm:hover{filter:brightness(1.06)}.schedule-temp-picker-confirm:active{transform:scale(.99)}.schedule-temp-picker-next{background:linear-gradient(90deg,#059669,#10b981);border:none;border-radius:14px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-bottom:16px;padding:15px 24px;transition:filter .15s,transform .1s;width:100%}.schedule-temp-picker-next:hover{filter:brightness(1.06)}.schedule-temp-picker-next:active{transform:scale(.99)}.schedule-temp-picker-close{background:var(--tp-chip-bg);border:none;color:var(--card-text-muted);cursor:pointer;transition:background .2s,color .2s}.schedule-temp-picker-close:hover{background:var(--tp-chip-bg-hover);color:var(--card-text)}.schedule-temp-picker-header-close{align-items:center;border-radius:999px;display:flex;flex-direction:row;height:36px;justify-content:center;padding:0;width:36px}.picker-wrapper{display:flex;font-family:sans-serif;isolation:isolate;justify-content:center;margin:0 auto;max-width:320px;overflow:hidden;position:relative;width:100%;z-index:0}.picker-wrapper .picker-container{z-index:0}.picker-wrapper .picker-container .picker-column .picker-item{color:var(--card-text-muted)}.picker-wrapper .picker-container .picker-column .picker-item.picker-item-selected{color:var(--card-text);font-weight:700}.picker-wrapper .picker-container .picker-column .picker-item,.picker-wrapper .picker-container .picker-column .picker-item.picker-item-selected{min-height:0;min-height:auto}.picker-wrapper .picker-container .picker-highlight:after,.picker-wrapper .picker-container .picker-highlight:before{background-color:var(--input-border)!important}.stats-page{box-sizing:border-box;color:var(--card-text);max-width:100%;min-height:0;min-width:0;width:100%}@media (min-width:769px){.App-main .stats-page{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0}}.stats-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:8px}.stats-header-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;min-width:0}.stats-sidebar-reveal-mobile{align-items:center;display:none;font-size:12px;gap:6px}.stats-sidebar-reveal-mobile-icon{flex-shrink:0}@media (max-width:768px){.stats-page--sidebar-collapsed .stats-sidebar-reveal-mobile{display:inline-flex}}.stats-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.stats-actions button{transition:background .15s,border-color .15s,transform .1s}.stats-actions button:active{transform:scale(.98)}.stats-actions button:focus-visible{outline:2px solid #10b981;outline-offset:2px}.stats-page .btn{background:var(--surface-elevated);border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;color:var(--card-text);cursor:pointer;font-size:12px;font-weight:600;line-height:1.2;min-height:30px;padding:5px 10px;transition:background .15s,border-color .15s,transform .1s}.stats-page .btn:disabled{cursor:not-allowed;opacity:.55}.stats-page .btn-primary{background:#10b981;border-color:#10b981;color:#fff}.stats-page .btn-secondary:hover:not(:disabled){background:var(--row-hover-bg)}.stats-page .btn-primary:hover:not(:disabled){background:#0ea371;border-color:#0ea371}.stats-banner{border-radius:10px;font-size:12px;margin:8px 0;padding:8px 10px}.stats-banner-error{background:#dc26261f;border:1px solid #dc262659;color:var(--stats-banner-error-text)}.stats-layout{grid-gap:10px;align-items:stretch;display:grid;gap:10px;grid-template-columns:minmax(min(180px,100%),220px) 1fr;min-height:0;min-width:0}@media (min-width:769px){.stats-layout{flex:1 1;grid-template-rows:minmax(0,1fr);height:100%;min-height:0}.stats-sidebar{max-height:none}.stats-main,.stats-sidebar{height:100%;min-height:0}}.stats-layout.stats-layout--sidebar-hidden{grid-template-columns:22px 1fr}@media (max-width:768px){.stats-layout.stats-layout--sidebar-hidden{grid-template-columns:1fr}}.stats-sidebar{align-items:stretch;align-self:stretch;background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:10px;container-name:statsside;container-type:inline-size;display:flex;flex-direction:row;min-width:0;overflow:hidden;padding:0}.stats-sidebar-inner{-ms-overflow-style:none;flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;padding:6px 8px;scrollbar-width:none}.stats-sidebar-inner::-webkit-scrollbar{display:none}.stats-sidebar-expand-cell{align-self:stretch;display:none;height:100%;max-height:none;min-height:0;min-width:0}.stats-sidebar-edge-strip{align-items:center;align-self:stretch;background:var(--surface-elevated);border:none;box-sizing:border-box;color:var(--card-text);cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin:0;min-height:0;padding:6px 2px;transition:background .15s,border-color .15s}.stats-sidebar-edge-strip--collapse{border-left:1px solid var(--card-border);border-radius:0 10px 10px 0;flex:0 0 22px;padding-left:0;padding-right:0;width:22px}.stats-sidebar-edge-strip--expand{border:1px solid var(--card-border);border-radius:8px;display:none;width:100%}@media (min-width:769px){.stats-sidebar-expand-cell{display:flex;flex-direction:column;min-height:100%}.stats-sidebar-edge-strip--expand{align-self:stretch;display:flex;flex:1 1 auto;min-height:0}}.stats-sidebar-edge-strip:hover{background:var(--row-hover-bg)}.stats-sidebar-edge-strip:focus-visible{outline:2px solid #10b981;outline-offset:2px}.sidebar-block{border-bottom:1px solid var(--card-border);margin-bottom:10px;padding-bottom:8px}.sidebar-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sidebar-block-title{color:var(--card-text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.stats-section-heading{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:4px;min-width:0}.stats-section-heading .section-toggle{flex:1 1;margin-bottom:0;min-width:0}.stats-section-chevron{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--card-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:background .15s,color .15s;width:32px}.stats-section-chevron:hover{background:var(--row-hover-bg);color:var(--card-text)}.stats-section-chevron:focus-visible{outline:2px solid #10b981;outline-offset:2px}.section-toggle{align-items:center;cursor:pointer;display:flex;gap:6px;margin-bottom:4px;-webkit-user-select:none;user-select:none}.section-toggle input[type=checkbox]{accent-color:#10b981;cursor:pointer;flex-shrink:0;height:15px;width:15px}.check-item input[type=checkbox]{flex-shrink:0;height:15px;width:15px}.field{grid-gap:6px 8px;align-items:center;color:var(--card-text-muted);display:grid;font-size:12px;gap:6px 8px;grid-template-columns:minmax(4.5rem,auto) 1fr;margin-bottom:6px}.field span{white-space:nowrap}.field input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;color:var(--card-text);font-size:12px;max-width:100%;min-height:30px;outline:none;padding:5px 8px;width:100%}.field input:focus{border-color:#10b98180;box-shadow:0 0 0 2px #10b9811f}.stats-page input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}[data-theme=dark] .stats-page input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.15)}:root:not([data-theme=dark]) .stats-page input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none;opacity:.75}.stats-field-row--datetime{grid-gap:8px;display:grid;gap:8px;grid-template-columns:minmax(0,1fr);margin-bottom:6px;min-width:0;width:100%}.stats-field-row--datetime .field{grid-gap:4px;align-items:start;display:grid;gap:4px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;margin-bottom:0;min-width:0}.stats-field-row--datetime .field span{font-size:11px;white-space:nowrap}.stats-field-row--datetime .field input{min-width:0;width:100%}@container statsside (min-width: 520px){.stats-field-row--datetime{column-gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:0}}.search{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;color:var(--card-text);font-size:12px;max-width:100%;min-height:30px;outline:none;padding:5px 8px;width:100%}.search:focus{border-color:#10b98180;box-shadow:0 0 0 2px #10b9811f}.check-list-actions{display:flex;gap:6px;margin-bottom:4px}.link-btn{background:none;border:none;border-radius:4px;color:#10b981;cursor:pointer;font-size:11px;font-weight:600;min-height:0;padding:2px 4px;text-decoration:underline;transition:background .15s,color .15s}.link-btn:hover{background:var(--stats-link-hover-bg);color:#059669}[data-theme=dark] .link-btn:hover{color:#6ee7b7}.check-list{display:flex;flex-direction:column;gap:2px;min-width:0}.check-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:12px;gap:6px;line-height:1.25;min-height:0;padding:3px 4px;-webkit-user-select:none;user-select:none}.check-item:hover{background:var(--row-hover-bg)}.check-item input[type=checkbox]{accent-color:#10b981}.toggles{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:6px}.toggle{align-items:center;color:var(--card-text-muted);cursor:pointer;display:flex;font-size:12px;gap:5px}.toggle input[type=checkbox]{accent-color:#10b981}.empty{color:var(--card-text-dim);font-size:12px;padding:4px 2px}.stats-main{align-self:stretch;display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0}.stats-main .card{display:flex;flex:1 1;flex-direction:column;min-height:0}.stats-page .card{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:10px;box-shadow:var(--card-shadow);overflow:hidden}.stats-page .card-header{align-items:flex-start;border-bottom:1px solid var(--card-border);display:flex;gap:8px;justify-content:space-between;padding:8px 10px}.stats-page .card-title{font-size:.9rem;font-weight:700}.stats-page .card-subtitle{color:var(--card-text-dim);font-size:11px;line-height:1.35;margin-top:2px}.stats-page .card-body{padding:8px 10px}.stats-main .card-body{display:flex;flex:1 1;flex-direction:column;min-height:0;padding-left:6px;padding-right:6px}.stats-page .empty-state{color:var(--card-text-dim);font-size:12px;padding:12px 8px;text-align:center}.stats-main .empty-state{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:200px}.stats-main .chart-wrap{flex:1 1;isolation:isolate;min-height:220px;min-width:0;overflow:hidden;position:relative;touch-action:pan-x pan-y pinch-zoom;width:100%}@media (max-width:980px){.stats-layout{gap:8px;grid-template-columns:minmax(160px,200px) 1fr}.stats-layout.stats-layout--sidebar-hidden{grid-template-columns:22px 1fr}}@media (max-width:768px){.stats-layout{grid-template-columns:1fr}.stats-main{order:-1}.stats-main .card{height:auto}.stats-main .chart-wrap{flex:none;height:min(380px,50vh);min-height:240px}.stats-sidebar{max-height:none}.stats-sidebar-inner{padding:8px}}@media (max-width:640px){.stats-header{align-items:stretch;flex-direction:column;gap:8px}.stats-actions{gap:6px;justify-content:flex-start}.stats-page .stats-actions .btn{flex:1 1 auto;min-height:34px;min-width:0;padding:6px 8px}.check-item,.section-toggle{min-height:32px;padding:4px}.field input,.stats-page .search{min-height:34px}.stats-main .chart-wrap{height:min(320px,48vh);min-height:200px}}@media (max-width:400px){.stats-page .sidebar-block>.field{gap:4px;grid-template-columns:1fr}.stats-page .sidebar-block>.field span{font-size:11px}}@media (max-width:320px){.stats-page{padding:6px}.stats-layout{gap:6px}.stats-sidebar{min-width:0}.stats-sidebar-inner{padding:6px 8px}.stats-page .stats-actions .btn{font-size:11px;min-height:32px;padding:5px 6px}.check-item,.section-toggle{font-size:11px;min-height:30px;padding:3px 2px}.field input,.stats-page .search{font-size:11px;min-height:32px}.stats-main .chart-wrap{height:min(260px,42vh);min-height:180px}}.nast-page{box-sizing:border-box;color:var(--card-text);font-family:Inter,Segoe UI,sans-serif;margin:0 auto;max-width:900px;min-width:0;padding:24px 16px;width:100%}.nast-header .app-page-title{margin-bottom:20px}.nast-sub-tabs{-webkit-overflow-scrolling:touch;align-items:flex-end;border-bottom:2px solid var(--card-border);display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:24px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}.nast-sub-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--card-text-dim);cursor:pointer;flex:0 1 auto;font-size:clamp(.68rem,.38rem + 1.35vw,.875rem);font-weight:500;line-height:1.25;max-width:100%;padding:10px 14px;text-align:center;transition:all .2s;white-space:normal}.nast-sub-tab:hover{background:var(--row-hover-bg);color:var(--card-text-muted)}.nast-sub-tab.active{border-bottom-color:#10b981;color:#10b981;font-weight:600}.nast-content{animation:nastFadeIn .2s ease}@keyframes nastFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.nast-section h3{color:var(--card-text-muted);font-size:clamp(.9rem,.55rem + 1.1vw,1.15rem);font-weight:600;margin:0 0 16px}.nast-mode-list{display:flex;flex-direction:column;gap:8px}.nast-mode-btn{align-items:center;background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:10px;box-sizing:border-box;color:var(--card-text-muted);cursor:pointer;display:flex;font-size:clamp(.6875rem,.48rem + 1.05vw,.95rem);gap:clamp(8px,1.5vw,14px);justify-content:flex-start;line-height:1.35;min-width:0;padding:clamp(10px,1.5vw + 6px,14px) clamp(12px,2vw + 6px,20px);transition:all .2s;width:100%}.nast-mode-btn:hover{background:var(--row-hover-bg);border-color:var(--card-border-hover);box-shadow:0 1px 4px #0000001f}.nast-mode-btn.active{background:#10b9811f;border-color:#10b981;box-shadow:0 0 0 2px #10b98140}.nast-mode-btn.active .nast-mode-label{color:#6ee7b7;font-weight:600}.nast-led{background:var(--card-icon-border);border:2px solid var(--card-text-dim);border-radius:50%;display:inline-block;flex-shrink:0;height:18px;transition:all .2s;width:18px}.nast-led-on{background:#10b981;border-color:#059669;box-shadow:0 0 8px #10b98180}.nast-mode-label{flex:1 1;-webkit-hyphens:auto;hyphens:auto;min-width:0;overflow-wrap:anywhere;text-align:left;word-break:break-word}.nast-mode-row{align-items:center;display:flex;gap:8px}.nast-mode-row .nast-mode-btn{flex:1 1;min-width:0}.nast-mode-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.nast-icon-btn{align-items:center;background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:8px;color:var(--card-text);cursor:pointer;display:inline-flex;height:38px;justify-content:center;transition:all .2s;width:38px}.nast-icon-btn:hover:not(:disabled){background:var(--row-hover-bg);border-color:var(--card-border-hover)}.nast-icon-btn:disabled{cursor:not-allowed;opacity:.5}.nast-icon-btn--danger:hover:not(:disabled){background:#ef44441a;border-color:#ef4444;color:#ef4444}.nast-icon-btn--ok:hover:not(:disabled){background:#10b9811a;border-color:#10b981;color:#10b981}.nast-mode-row--editing{gap:6px}.nast-mode-edit-input{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:10px;color:var(--card-text);flex:1 1;font-size:clamp(.6875rem,.48rem + 1.05vw,.95rem);min-width:0;padding:clamp(10px,1.5vw + 6px,14px) clamp(12px,2vw + 6px,20px)}.nast-mode-edit-input:focus{border-color:#10b981;box-shadow:0 0 0 2px #10b98140;outline:none}.nast-mode-add{align-items:center;border-top:1px dashed var(--card-border);display:flex;gap:8px;margin-top:4px;padding-top:12px}.nast-mode-add-btn{align-items:center;display:inline-flex;flex-shrink:0;gap:6px;white-space:nowrap}.nast-mode-add-btn:disabled{cursor:not-allowed;opacity:.5}.nast-empty{background:var(--card-icon-bg);border:1px dashed var(--card-border);border-radius:10px;color:var(--card-text-dim);font-size:.9rem;padding:32px;text-align:center}.nast-temperace-extra{background:var(--card-icon-bg);border:1px solid var(--card-border);border-radius:10px;margin-top:clamp(14px,2.5vw,24px);min-width:0;padding:clamp(10px,1.8vw,16px) clamp(12px,2vw,18px)}.nast-temperace-extra h4{color:var(--card-text-muted);font-size:clamp(.85rem,.5rem + .9vw,1rem);font-weight:600;line-height:1.25;margin:0 0 clamp(8px,1.5vw,12px);text-align:left}.nast-val-row{align-items:center;border-bottom:1px solid var(--card-border);display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;min-width:0;padding:clamp(6px,1.2vw,10px) 0}.nast-val-row:last-child{border-bottom:none;padding-bottom:0}.nast-val-row label{color:var(--card-text-muted);flex:1 1 auto;font-size:clamp(.78rem,.48rem + .85vw,.9rem);font-weight:500;line-height:1.3;min-width:min(100%,12rem);text-align:left}.nast-val-ctrl{flex-shrink:0;gap:clamp(6px,1.2vw,12px)}.nast-pm-btn,.nast-val-ctrl{align-items:center;display:flex}.nast-pm-btn{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;color:var(--card-text-muted);cursor:pointer;font-size:clamp(1rem,.85rem + .6vw,1.2rem);font-weight:700;height:clamp(30px,5vw + 22px,36px);justify-content:center;transition:all .15s;width:clamp(30px,5vw + 22px,36px)}.nast-pm-btn:hover{background:var(--row-hover-bg);border-color:var(--card-border-hover)}.nast-pm-btn:active{background:var(--card-icon-bg)}.nast-pm-btn:focus-visible{outline:2px solid #10b981;outline-offset:2px}.nast-val-num{font-feature-settings:"tnum";color:var(--card-text);font-size:clamp(1rem,.65rem + 1vw,1.25rem);font-variant-numeric:tabular-nums;font-weight:700;min-width:clamp(32px,6vw,40px);text-align:center}.nast-time-panel{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px);min-width:0}.nast-time-current{background:#10b9811a;border:1px solid #10b98159;border-radius:10px;padding:clamp(12px,2vw,18px) clamp(14px,2.5vw,20px)}.nast-time-current h4{color:#34d399;font-size:clamp(.68rem,.38rem + 1vw,.9rem);font-weight:600;letter-spacing:.03em;margin:0 0 6px;text-align:left;text-transform:uppercase}.nast-time-display{font-feature-settings:"tnum";color:#6ee7b7;font-size:clamp(1.15rem,.85rem + 1.6vw,1.75rem);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.25;text-align:left;word-break:break-word}.nast-time-form{background:var(--card-icon-bg);border:1px solid var(--card-border);border-radius:10px;padding:clamp(12px,2vw,18px) clamp(14px,2.5vw,20px)}.nast-time-form h4{color:var(--card-text-muted);font-size:clamp(.9rem,.55rem + 1vw,1rem);font-weight:600;margin:0 0 clamp(8px,1.5vw,14px);text-align:left}.nast-time-fields{display:flex;flex-direction:column;margin-bottom:clamp(10px,2vw,16px)}.nast-time-fields,.nast-time-row{gap:clamp(8px,1.5vw,12px);min-width:0}.nast-time-row{grid-gap:clamp(8px,1.5vw,12px);display:grid}.nast-time-row--date{grid-template-columns:repeat(3,minmax(0,1fr))}.nast-time-row--clock{grid-template-columns:repeat(2,minmax(0,1fr));max-width:min(100%,22rem)}.nast-time-field{display:flex;flex-direction:column;gap:3px;min-width:0}.nast-time-field label{color:var(--card-text-dim);font-size:clamp(.65rem,.4rem + .8vw,.75rem);font-weight:600;letter-spacing:.03em;text-align:left;text-transform:uppercase}.nast-time-field input{font-feature-settings:"tnum";background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;box-sizing:border-box;color:var(--card-text);font-size:clamp(.875rem,.55rem + 1vw,1rem);font-variant-numeric:tabular-nums;font-weight:600;min-width:0;padding:clamp(6px,1vw + 4px,10px) clamp(8px,1.2vw + 4px,12px);text-align:left;transition:border-color .2s;width:100%}.nast-time-field input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811f;outline:none}.nast-time-actions{align-items:stretch;display:flex;flex-wrap:wrap;gap:clamp(8px,1.5vw,12px)}.nast-time-actions .nast-btn{flex:1 1 auto;font-size:clamp(.78rem,.45rem + .9vw,.875rem);min-width:min(100%,12rem);padding:clamp(8px,1vw + 4px,10px) clamp(14px,2vw,22px)}@media (max-width:400px){.nast-time-row--clock,.nast-time-row--date{grid-template-columns:1fr}.nast-time-row--clock{max-width:100%}}.nast-btn{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:10px 22px;transition:all .2s}.nast-btn.primary{background:#10b981;color:#fff}.nast-btn.primary:hover{background:#059669}.nast-btn.secondary{background:var(--card-icon-bg);border:1px solid var(--card-border);color:var(--card-text)}.nast-btn.secondary:hover{background:var(--row-hover-bg)}.nast-btn:active{transform:scale(.98)}.nast-btn:focus-visible{outline:2px solid #10b981;outline-offset:2px}.nast-msg{border-radius:8px;font-size:.85rem;font-weight:500;margin-bottom:16px;padding:10px 16px}.nast-msg.ok{background:#10b9811f;border:1px solid #10b98159;color:#6ee7b7}.nast-msg.err{background:#dc26261f;border:1px solid #f8717166;color:#fecaca}.nast-loading{color:var(--card-text-dim);font-size:.95rem;padding:40px;text-align:center}@media (max-width:640px){.nast-page{padding:16px 12px}.nast-sub-tabs{gap:2px;padding-bottom:2px}.nast-sub-tab{min-height:44px;padding:10px 12px}.nast-mode-btn{min-height:48px}.nast-pm-btn{min-height:44px;min-width:44px}.nast-time-row--clock{max-width:100%}.nast-time-field input{min-height:48px}.nast-time-actions{flex-direction:column}.nast-time-actions .nast-btn{min-width:0;width:100%}.nast-btn{min-height:48px;text-align:center;width:100%}}@media (max-width:320px){.nast-page{padding:12px 8px}.nast-sub-tab{padding:8px 10px}.nast-mode-btn{min-height:44px}.nast-pm-btn{min-height:40px;min-width:40px}.nast-btn{min-height:44px}}.nast-firmware-hint{color:var(--card-text-muted);font-size:.9rem;line-height:1.5;margin:0 0 16px;max-width:42rem}.nast-firmware-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.nast-firmware-input{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:8px;color:var(--card-text);flex:1 1;font-size:.875rem;min-width:200px;padding:8px 10px}.nast-fw-progress{margin-top:16px;max-width:28rem}.nast-fw-progress__header{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.nast-fw-progress__label{color:var(--card-text);font-size:.875rem;font-weight:600}.nast-fw-progress__pct{font-feature-settings:"tnum";color:#10b981;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600}.nast-fw-progress__track{background:#ffffff14;background:var(--card-icon-bg,#ffffff14);border:1px solid var(--card-border);border-radius:999px;height:10px;overflow:hidden;position:relative}.nast-fw-progress__fill{background:linear-gradient(90deg,#059669,#10b981 55%,#34d399);border-radius:999px;box-shadow:0 0 12px #10b98173;height:100%;transition:width .35s ease}.nast-fw-progress__track--indeterminate .nast-fw-progress__fill--indeterminate{animation:nast-fw-progress-indeterminate 1.4s ease-in-out infinite;position:absolute;width:40%}@keyframes nast-fw-progress-indeterminate{0%{left:-40%}to{left:100%}}.nast-fw-progress__detail{font-feature-settings:"tnum";color:var(--card-text-muted);font-size:.8125rem;font-variant-numeric:tabular-nums;margin:8px 0 0}.nast-page--wide{max-width:1180px}.ks-panel{margin-bottom:32px}.ks-pills{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ks-pill{font-feature-settings:"tnum";background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:999px;color:var(--card-text);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600;padding:4px 10px}.ks-pill--ok{border-color:#10b98173;color:#10b981}.ks-pill--bad{border-color:#f8717173;color:#f87171}.ks-filter{align-items:center;color:var(--card-text-muted);display:inline-flex;font-size:.8125rem;gap:6px;margin-left:4px}.ks-error{background:#f871711a;border:1px solid #f8717166;border-radius:8px;color:#f87171;font-size:.875rem;margin-bottom:12px;padding:10px 12px}.ks-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(280px,1fr) minmax(280px,1.1fr)}.ks-table-wrap{border:1px solid var(--card-border);border-radius:8px;overflow:auto}.ks-table{border-collapse:collapse;font-size:.8125rem;width:100%}.ks-table td,.ks-table th{border-bottom:1px solid var(--card-border);padding:8px 10px;text-align:left}.ks-table th{background:var(--surface-elevated);color:var(--card-text-muted);font-weight:600}.ks-table tbody tr{cursor:pointer}.ks-table tbody tr:hover{background:var(--row-hover-bg)}.ks-row--conn{background:#10b9811f}.ks-row--disc{background:#f871711f}.ks-row--idle{background:#0000}.ks-row--sel{outline:1px solid #10b981;outline-offset:-1px}.ks-row--imp td:first-child{font-weight:700}.ks-empty{font-size:.8125rem;padding:8px 0}.ks-empty,.ks-side h4{color:var(--card-text-muted)}.ks-side h4{font-size:.9rem;margin:0 0 8px}.ks-log{background:var(--surface-elevated);border:1px solid var(--card-border);border-radius:8px;color:var(--card-text);font-family:ui-monospace,Consolas,monospace;font-size:.75rem;line-height:1.45;max-height:280px;overflow:auto;padding:10px 12px;white-space:pre-wrap}.ks-log--err{color:#f87171}@media (max-width:800px){.ks-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.e6e03a84.css.map*/