/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-teal-400:oklch(77.7% .152 181.912);--color-teal-500:oklch(70.4% .14 182.503);--color-teal-600:oklch(60% .118 184.704);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:calc(var(--spacing) * 0)}.-right-1{right:calc(var(--spacing) * -1)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-12{grid-column:12}.col-auto{grid-column:auto}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.float-right{float:right}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0{margin-left:calc(var(--spacing) * 0)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-100{height:calc(var(--spacing) * 100)}.h-\[580px\]{height:580px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-\[0\%\]{width:0%}.w-\[5\%\]{width:5%}.w-\[10\%\]{width:10%}.w-\[15\%\]{width:15%}.w-\[20\%\]{width:20%}.w-\[25\%\]{width:25%}.w-\[30\%\]{width:30%}.w-\[35\%\]{width:35%}.w-\[40\%\]{width:40%}.w-\[45\%\]{width:45%}.w-\[50\%\]{width:50%}.w-\[55\%\]{width:55%}.w-\[60\%\]{width:60%}.w-\[60px\]{width:60px}.w-\[65\%\]{width:65%}.w-\[70\%\]{width:70%}.w-\[75\%\]{width:75%}.w-\[80\%\]{width:80%}.w-\[85\%\]{width:85%}.w-\[90\%\]{width:90%}.w-\[95\%\]{width:95%}.w-\[100\%\],.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[1400px\]{max-width:1400px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[50px\]{min-width:50px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--bg-main\)\]{border-color:var(--bg-main)}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-amber-600\/30{border-color:#dd74004d}@supports (color:color-mix(in lab, red, red)){.border-amber-600\/30{border-color:color-mix(in oklab, var(--color-amber-600) 30%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-500\/20{border-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/20{border-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-blue-600\/30{border-color:#155dfc4d}@supports (color:color-mix(in lab, red, red)){.border-blue-600\/30{border-color:color-mix(in oklab, var(--color-blue-600) 30%, transparent)}}.border-emerald-500\/20{border-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\/20{border-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.border-emerald-600\/30{border-color:#0097674d}@supports (color:color-mix(in lab, red, red)){.border-emerald-600\/30{border-color:color-mix(in oklab, var(--color-emerald-600) 30%, transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.border-orange-500\/30{border-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-red-600\/30{border-color:#e400144d}@supports (color:color-mix(in lab, red, red)){.border-red-600\/30{border-color:color-mix(in oklab, var(--color-red-600) 30%, transparent)}}.border-slate-500\/30{border-color:#62748e4d}@supports (color:color-mix(in lab, red, red)){.border-slate-500\/30{border-color:color-mix(in oklab, var(--color-slate-500) 30%, transparent)}}.border-teal-500{border-color:var(--color-teal-500)}.border-teal-500\/30{border-color:#00baa74d}@supports (color:color-mix(in lab, red, red)){.border-teal-500\/30{border-color:color-mix(in oklab, var(--color-teal-500) 30%, transparent)}}.border-teal-600\/30{border-color:#0095884d}@supports (color:color-mix(in lab, red, red)){.border-teal-600\/30{border-color:color-mix(in oklab, var(--color-teal-600) 30%, transparent)}}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.border-white\/5{border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-t-amber-500{border-top-color:var(--color-amber-500)}.border-t-blue-500{border-top-color:var(--color-blue-500)}.border-t-emerald-500{border-top-color:var(--color-emerald-500)}.border-t-red-500{border-top-color:var(--color-red-500)}.bg-\[var\(--accent-blue\)\]{background-color:var(--accent-blue)}.bg-\[var\(--bg-main\)\]{background-color:var(--bg-main)}.bg-\[var\(--sidebar-bg\)\]{background-color:var(--sidebar-bg)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\/90{background-color:#f99c00e6}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/90{background-color:color-mix(in oklab, var(--color-amber-500) 90%, transparent)}}.bg-amber-600\/10{background-color:#dd74001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-600\/10{background-color:color-mix(in oklab, var(--color-amber-600) 10%, transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-600\/10{background-color:#155dfc1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-600\/10{background-color:color-mix(in oklab, var(--color-blue-600) 10%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-600\/10{background-color:#0097671a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-600\/10{background-color:color-mix(in oklab, var(--color-emerald-600) 10%, transparent)}}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab, var(--color-orange-500) 10%, transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-red-600\/10{background-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.bg-red-600\/10{background-color:color-mix(in oklab, var(--color-red-600) 10%, transparent)}}.bg-red-600\/20{background-color:#e4001433}@supports (color:color-mix(in lab, red, red)){.bg-red-600\/20{background-color:color-mix(in oklab, var(--color-red-600) 20%, transparent)}}.bg-slate-600\/20{background-color:#45556c33}@supports (color:color-mix(in lab, red, red)){.bg-slate-600\/20{background-color:color-mix(in oklab, var(--color-slate-600) 20%, transparent)}}.bg-slate-700\/20{background-color:#31415833}@supports (color:color-mix(in lab, red, red)){.bg-slate-700\/20{background-color:color-mix(in oklab, var(--color-slate-700) 20%, transparent)}}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/30{background-color:#1d293d4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/30{background-color:color-mix(in oklab, var(--color-slate-800) 30%, transparent)}}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/50{background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-500\/10{background-color:#00baa71a}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/10{background-color:color-mix(in oklab, var(--color-teal-500) 10%, transparent)}}.bg-teal-500\/90{background-color:#00baa7e6}@supports (color:color-mix(in lab, red, red)){.bg-teal-500\/90{background-color:color-mix(in oklab, var(--color-teal-500) 90%, transparent)}}.bg-teal-600\/10{background-color:#0095881a}@supports (color:color-mix(in lab, red, red)){.bg-teal-600\/10{background-color:color-mix(in oklab, var(--color-teal-600) 10%, transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/5{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-amber-400{color:var(--color-amber-400)}.text-amber-500{color:var(--color-amber-500)}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-400{color:var(--color-teal-400)}.text-teal-500{color:var(--color-teal-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\[env\:nodemcu-32s\]{env:nodemcu-32s}.\[env\:release\]{env:release}@media (hover:hover){.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-red-600\/30:hover{background-color:#e400144d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-600\/30:hover{background-color:color-mix(in oklab, var(--color-red-600) 30%, transparent)}}.hover\:bg-white\/2:hover{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/2:hover{background-color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:opacity-90:active{opacity:.9}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}}:root{--bg-main:#0b0f19;--card-bg:#1e2533;--sidebar-bg:#07090f;--accent-blue:#2c45fc;--accent-red:#ef4444;--accent-green:#10b981;--accent-amber:#f59e0b;--accent-teal:#2dd4bf;--text-muted:#94a3b8}html.light{--bg-main:#e8edf4;--card-bg:#fff;--sidebar-bg:#cdd5e0;--accent-blue:#1d4ed8;--accent-red:#dc2626;--accent-green:#059669;--accent-amber:#d97706;--accent-teal:#0d9488;--text-muted:#475569}html,body{background-color:var(--bg-main);color:#fff;font-family:Nunito,ui-sans-serif,system-ui,sans-serif}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=time]{color-scheme:dark}input[type=time]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.2);opacity:.9;cursor:pointer}html.light input[type=time]{color-scheme:light}html.light input[type=time]::-webkit-calendar-picker-indicator{filter:none;opacity:.75}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#fff3}.card{background-color:var(--card-bg);border:1px solid #ffffff0d;border-radius:20px}html.light .card{border-color:#0000001a;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000f}.thermostat-card{flex-direction:column;height:580px;display:flex;position:relative;overflow:hidden}.sidebar-item{width:100%;height:48px;min-height:48px;color:var(--text-muted);justify-content:flex-start;align-items:center;padding-left:20px;text-decoration:none;transition:color .15s,background .15s;display:flex;position:relative}.sidebar-item:hover{color:#e2e8f0;background:#ffffff0f}.sidebar-item.active{color:var(--accent-blue);border-left:3px solid var(--accent-blue);background:linear-gradient(90deg,#2c45fc26 0%,#0000 100%)}html.light .sidebar-item:hover{color:#0f172a;background:#00000012}html.light .sidebar-item.active{background:linear-gradient(90deg,#1d4ed824 0%,#0000 100%)}.progress-bar-bg{background:#1e293b80;border-radius:9999px;width:100%;height:.5rem;overflow:hidden}html.light .progress-bar-bg{background:#94a3b859}.gradient-power{background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444)}.gradient-temp{background:linear-gradient(90deg,#3b82f6,#10b981,#ef4444)}.hatched-bar-animated{background-image:linear-gradient(45deg,#3b82f666 25%,#0000 25% 50%,#3b82f666 50% 75%,#0000 75%,#0000);background-size:20px 20px;animation:2s linear infinite barber-pole}.btn-mode{text-transform:uppercase;letter-spacing:.05em;text-align:center;color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff08;border-radius:.5rem;flex:1;padding:.625rem .75rem;font-size:.625rem;font-weight:700;transition:all .15s}.btn-mode.active{background:var(--accent-blue);color:#fff;border-color:#0000;box-shadow:0 4px 12px #2c45fc4d}html.light .btn-mode{color:#334155;background:#0000000f;border-color:#0000001a}html.light .btn-mode:hover{background:#0000001a}.btn-control{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.75rem;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-control:hover{background:#ffffff1f}html.light .btn-control{background:#0000000f;border-color:#0000001f}html.light .btn-control:hover{background:#0000001f}.indicator-slot{opacity:.25;flex-direction:column;justify-content:center;align-items:center;width:100%;transition:opacity .15s;display:flex}.indicator-slot.active{opacity:1}.status-grid-card{background-color:var(--card-bg);border:1px solid #ffffff0d;border-radius:.5rem;flex-direction:column;justify-content:space-between;padding:.75rem;display:flex}html.light .status-grid-card{border-color:#0000001a;box-shadow:0 2px 6px #00000012}.settings-card{background-color:var(--card-bg);border:1px solid #ffffff0d;border-radius:20px;padding:1.5rem}.field-group{flex-direction:column;gap:.375rem;display:flex}.field-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.625rem;font-weight:700;display:block}.field-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff14;border-radius:.5rem;outline:none;width:100%;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s}.field-input:focus{border-color:#2c45fc80;box-shadow:0 0 0 2px #2c45fc80}html.light .field-input{color:#1e293b;background:#0000000a;border-color:#0000001a}.field-select{cursor:pointer}.ioh-settings-page{max-width:1520px;margin:0 auto}body.h-screen{height:100dvh;min-height:100dvh}.ioh-settings-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:.75rem 1rem;display:grid}@media (min-width:1100px){.ioh-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1680px){.ioh-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ioh-settings-grid>.alert,.ioh-settings-grid>h1,.ioh-settings-grid>h2,.ioh-settings-grid>h3,.ioh-settings-grid>h4,.ioh-settings-grid>h5,.ioh-settings-grid>h6,.ioh-settings-grid>.row,.ioh-settings-grid>.ioh-settings-group-title,.ioh-settings-grid>.ioh-output-panel,.ioh-settings-grid>.ioh-inline-note,.ioh-settings-grid>.ioh-action-row,.ioh-grid-span-full{grid-column:1/-1}.ioh-settings-group-title{background:#0f766e1f;border:1px solid #38bdf838;border-left-width:3px;border-radius:10px;flex-direction:column;gap:.2rem;margin:.2rem 0 .05rem;padding:.56rem .75rem;display:flex}.ioh-settings-group-title__main{letter-spacing:.045em;text-transform:uppercase;color:#ccfbf1;font-size:.69rem;font-weight:800}.ioh-settings-group-title__hint{color:var(--text-muted);font-size:.77rem;line-height:1.25}html.light .ioh-settings-group-title{background:#0e749014;border-color:#0e749042}html.light .ioh-settings-group-title__main{color:#0f172a}.ioh-page-intro{background:radial-gradient(circle at 100% 0,#2c45fc29,#0000 42%),linear-gradient(#0f172aad 0%,#0f172a66 100%);border:1px solid #60a5fa2e;border-radius:16px;flex-direction:column;gap:.35rem;margin:0 0 .1rem;padding:1rem 1.1rem;display:flex}.ioh-page-intro__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;font-size:.68rem;font-weight:800}.ioh-page-intro__title{color:#f8fafc;margin:0;font-size:1.05rem;font-weight:800;line-height:1.2}.ioh-page-intro__text{max-width:72ch;color:var(--text-muted);margin:0;font-size:.84rem;line-height:1.4}html.light .ioh-page-intro{background:radial-gradient(circle at 100% 0,#1d4ed81f,#0000 42%),linear-gradient(#fffffff5 0%,#f8fafcf0 100%);border-color:#1d4ed829}html.light .ioh-page-intro__eyebrow{color:#1d4ed8}html.light .ioh-page-intro__title{color:#0f172a}.ioh-card-lead{color:var(--text-muted);margin:0 0 .85rem;font-size:.82rem;line-height:1.35}.ioh-inline-note{color:#cbd5e1;background:#94a3b814;border:1px solid #94a3b82e;border-radius:12px;padding:.72rem .86rem;font-size:.78rem;line-height:1.4}.ioh-inline-note--info,.ioh-inline-note--primary{color:#93c5fd;background:#3b82f61a;border-color:#3b82f638}.ioh-inline-note--success{color:#6ee7b7;background:#10b9811a;border-color:#10b98138}.ioh-inline-note--warning{color:#fcd34d;background:#f59e0b1c;border-color:#f59e0b3d}.ioh-inline-note--danger{color:#fca5a5;background:#ef44441a;border-color:#ef44443d}.ioh-inline-note--secondary,.ioh-inline-note--dark{color:var(--text-muted)}.ioh-action-row,.ioh-save-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.ioh-settings-page .card .card-body>.ioh-inline-note:not(:first-child),.ioh-settings-page .card .card-body>.ioh-action-row:not(:first-child),.ioh-settings-page .card .card-body>.ioh-upload-form:not(:first-child),.ioh-settings-page .card .card-body>.ioh-upload-progress:not(:first-child),.ioh-settings-page .card .card-body>.ioh-upload-post-actions:not(:first-child){margin-top:.95rem}.ioh-upload-form{flex-direction:column;gap:1rem;margin:0;display:flex}.ioh-upload-form .form-group{margin-bottom:0}.ioh-upload-form__field{background:#ffffff08;border:1px solid #94a3b82e;border-radius:14px;padding:.95rem 1rem}.ioh-upload-form__field label{margin-bottom:.45rem}.ioh-upload-form__field .form-control{max-width:none}.ioh-upload-form__field .form-text{margin-top:.45rem}.ioh-upload-form__actions,.ioh-upload-post-actions{padding-top:.1rem}.ioh-upload-progress{background:#ffffff08;border:1px solid #94a3b82e;border-radius:14px;flex-direction:column;gap:.6rem;padding:.95rem 1rem;display:flex}.ioh-upload-progress__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ioh-upload-progress__status{color:#e2e8f0;font-size:.82rem;font-weight:700;line-height:1.35}.ioh-upload-progress__percent{letter-spacing:.02em;color:var(--text-muted);font-size:.76rem;font-weight:800;line-height:1}.ioh-upload-progress .progress{margin:0}.ioh-file-input[type=file]{color:#e2e8f0;background:#0f172a3d;border:1px solid #94a3b838;border-radius:14px;max-width:none;padding:.65rem .72rem}.ioh-file-input[type=file]::file-selector-button{color:#fff;cursor:pointer;background:linear-gradient(#2c45fcf5 0%,#2563ebeb 100%);border:1px solid #3b82f659;border-radius:12px;min-height:42px;margin-right:.85rem;padding:.68rem 1rem;font-weight:700;transition:filter .15s,transform .15s}.ioh-file-input[type=file]::file-selector-button:hover{filter:brightness(1.06)}.ioh-file-input[type=file]::-webkit-file-upload-button{color:#fff;cursor:pointer;background:linear-gradient(#2c45fcf5 0%,#2563ebeb 100%);border:1px solid #3b82f659;border-radius:12px;min-height:42px;margin-right:.85rem;padding:.68rem 1rem;font-weight:700}.ioh-save-row{grid-column:1/-1}.ioh-action-row .btn,.ioh-action-row a.btn,.ioh-save-row .btn,.ioh-save-row a.btn{letter-spacing:.01em;text-transform:none;min-height:40px;box-shadow:none;border-radius:10px;padding:.62rem 1rem;font-size:.875rem;font-weight:700}.ioh-action-row .btn-sm,.ioh-action-row a.btn-sm,.ioh-save-row .btn-sm,.ioh-save-row a.btn-sm{min-height:36px;padding:.48rem .85rem;font-size:.8125rem}.ioh-settings-page .card .form-group{margin:0 0 .8rem}.ioh-settings-page .card .form-group:last-child{margin-bottom:0}.ioh-settings-page .card .form-group label{color:var(--text-muted);text-transform:none;letter-spacing:.01em;margin-bottom:.35rem;font-size:.76rem;font-weight:700;line-height:1.25;display:block}.ioh-settings-page .card .form-group .form-text{color:var(--text-muted);margin-top:.35rem;font-size:.76rem;line-height:1.35;display:block}.ioh-settings-page .card .form-group.form-check{background:#ffffff08;border:1px solid #94a3b829;border-radius:12px;padding:.8rem}.ioh-settings-page .card .form-group.form-check .form-check-row{align-items:flex-start;gap:.7rem;display:flex}.ioh-settings-page .card .form-group.form-check .form-check-input{flex:none;margin:.05rem 0 0}.ioh-settings-page .card .form-group.form-check .form-check-label{color:inherit;margin:0;font-size:.9rem;font-weight:700;line-height:1.28;display:block}.ioh-settings-page .card .form-group.form-check .form-check-hint{color:var(--text-muted);margin-top:.28rem;font-size:.76rem;font-weight:500;line-height:1.35;display:block}.ioh-settings-card-stack{flex-direction:column;gap:.8rem;display:flex}.ioh-settings-card-stack>.ioh-card-lead{margin-bottom:0}.ioh-mode-pills{flex-wrap:wrap;gap:.45rem;display:flex}.ioh-mode-pill{letter-spacing:.02em;border-radius:999px;align-items:center;min-height:30px;padding:.28rem .72rem;font-size:.75rem;font-weight:800;line-height:1;display:inline-flex}.ioh-mode-pill--info{color:#93c5fd;background:#3b82f624;border:1px solid #3b82f647}.ioh-mode-pill--warning{color:#fcd34d;background:#f59e0b24;border:1px solid #f59e0b47}.ioh-mode-pill--secondary{color:#cbd5e1;background:#94a3b824;border:1px solid #94a3b83d}.ioh-toggle-card-grid{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}@media (min-width:700px){.ioh-toggle-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ioh-toggle-card-grid>.form-group.form-check{min-height:100%}html.light .ioh-mode-pill--info{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb33}html.light .ioh-mode-pill--warning{color:#b45309;background:#d977061f;border-color:#d9770638}html.light .ioh-mode-pill--secondary{color:#475569;background:#0f172a0f;border-color:#0f172a1a}html.light .ioh-inline-note{color:#475569;background:#0f172a0a;border-color:#0f172a1a}html.light .ioh-inline-note--info,html.light .ioh-inline-note--primary{color:#1d4ed8;background:#2563eb14;border-color:#2563eb29}html.light .ioh-inline-note--success{color:#047857;background:#05966914;border-color:#05966929}html.light .ioh-inline-note--warning{color:#b45309;background:#d9770614;border-color:#d977062e}html.light .ioh-inline-note--danger{color:#b91c1c;background:#dc262614;border-color:#dc26262e}html.light .ioh-upload-form__field,html.light .ioh-upload-progress{background:#f8fafce6;border-color:#cbd5e1}html.light .ioh-upload-progress__status{color:#0f172a}html.light .ioh-file-input[type=file]{color:#0f172a;background:#fff;border-color:#cbd5e1}html.light .ioh-file-input[type=file]::file-selector-button{background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed866}html.light .ioh-file-input[type=file]::file-selector-button{background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed866}html.light .ioh-settings-page .card .form-group.form-check{background:#0f172a06;border-color:#0f172a1a}.ioh-status-stack{flex-direction:column;gap:.55rem;display:flex}.ioh-status-row{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.7rem .8rem;display:grid}.ioh-status-row--note{grid-template-columns:minmax(0,1fr)}.ioh-status-row__label{letter-spacing:.05em;text-transform:uppercase;min-width:0;color:var(--text-muted);font-size:.68rem;font-weight:800}.ioh-status-row__value,.ioh-status-row__note{color:#e2e8f0;min-width:0;font-size:.84rem;line-height:1.35}.ioh-status-row__value{text-align:right;font-weight:700}.ioh-status-row__note{font-weight:600}.ioh-status-row--success{border-left:3px solid #10b981d9}.ioh-status-row--success .ioh-status-row__value,.ioh-status-row--success .ioh-status-row__note{color:#6ee7b7}.ioh-status-row--warning{border-left:3px solid #f59e0bd9}.ioh-status-row--warning .ioh-status-row__value,.ioh-status-row--warning .ioh-status-row__note{color:#fcd34d}.ioh-status-row--danger{border-left:3px solid #ef4444e6}.ioh-status-row--danger .ioh-status-row__value,.ioh-status-row--danger .ioh-status-row__note{color:#fca5a5}.ioh-status-row--info{border-left:3px solid #3b82f6d9}.ioh-status-row--info .ioh-status-row__value,.ioh-status-row--info .ioh-status-row__note,.ioh-status-row--primary .ioh-status-row__value,.ioh-status-row--primary .ioh-status-row__note{color:#93c5fd}.ioh-status-row--secondary .ioh-status-row__value,.ioh-status-row--secondary .ioh-status-row__note,.ioh-status-row--dark .ioh-status-row__value,.ioh-status-row--dark .ioh-status-row__note{color:#cbd5e1}.ioh-status-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.9rem;display:flex}html.light .ioh-status-row{background:#0f172a08;border-color:#0f172a14}html.light .ioh-status-row__value,html.light .ioh-status-row__note{color:#0f172a}html.light .ioh-status-row--success .ioh-status-row__value,html.light .ioh-status-row--success .ioh-status-row__note{color:#047857}html.light .ioh-status-row--warning .ioh-status-row__value,html.light .ioh-status-row--warning .ioh-status-row__note{color:#92400e}html.light .ioh-status-row--danger .ioh-status-row__value,html.light .ioh-status-row--danger .ioh-status-row__note{color:#b91c1c}html.light .ioh-status-row--info .ioh-status-row__value,html.light .ioh-status-row--info .ioh-status-row__note,html.light .ioh-status-row--primary .ioh-status-row__value,html.light .ioh-status-row--primary .ioh-status-row__note{color:#1d4ed8}html.light .ioh-status-row--secondary .ioh-status-row__value,html.light .ioh-status-row--secondary .ioh-status-row__note,html.light .ioh-status-row--dark .ioh-status-row__value,html.light .ioh-status-row--dark .ioh-status-row__note{color:#334155}@media (max-width:640px){.ioh-upload-progress__head{align-items:flex-start}.ioh-file-input[type=file]::file-selector-button{margin-bottom:.45rem;margin-right:.65rem}.ioh-file-input[type=file]::file-selector-button{margin-bottom:.45rem;margin-right:.65rem}.ioh-status-row{grid-template-columns:minmax(0,1fr)}.ioh-status-row__value{text-align:left}}.ioh-settings-grid>.form-group{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;margin:0;padding:.75rem}html.light .ioh-settings-grid>.form-group{background:#00000006;border-color:#0000001a}.ioh-settings-grid>.form-group>.col-sm-6,.ioh-settings-page .card .form-group>.col-sm-6{width:100%;margin:0;padding:0}.ioh-settings-grid>.form-group label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem;font-size:.6875rem;font-weight:700;display:block}.ioh-settings-grid>.form-group.form-check{display:block}.ioh-settings-grid>.form-group.form-check label{text-transform:none;letter-spacing:0;font-size:inherit;font-weight:inherit;color:inherit;margin:0}.ioh-settings-grid>.form-group .form-check-row{align-items:flex-start;gap:.7rem;display:flex}.ioh-settings-grid>.form-group .form-check-input{flex:none;margin:.05rem 0 0}.ioh-settings-grid>.form-group .form-check-label{text-transform:none;letter-spacing:0;color:inherit;margin:0;font-size:.875rem;font-weight:700;line-height:1.25;display:block}.ioh-settings-grid>.form-group .form-check-hint{color:var(--text-muted);margin-top:.28rem;font-size:.75rem;font-weight:500;line-height:1.3;display:block}.ioh-output-panel{background:#0f172a5c;border:1px solid #ffffff1a;border-radius:14px;margin:.08rem 0 .2rem;padding:.85rem}.ioh-output-panel__head{flex-direction:column;gap:.2rem;display:flex}.ioh-output-panel__title{letter-spacing:.01em;color:#e2e8f0;font-size:.9rem;font-weight:800}.ioh-output-panel__hint{color:var(--text-muted);font-size:.78rem}.ioh-output-panel__svg-wrap{background:#0f172a73;border:1px solid #94a3b833;border-radius:10px;margin-top:.62rem;overflow-x:auto}.ioh-output-panel__svg{width:100%;min-width:560px;height:auto;display:block}.ioh-output-panel__controller{fill:#1e293b9e;stroke:#94a3b873;stroke-width:1.3px}.ioh-output-panel__wire{stroke:#94a3b8cc;stroke-width:2.1px;stroke-linecap:round}.ioh-output-panel__out{fill:#3b82f638;stroke:#60a5fa9e;stroke-width:1.2px}.ioh-output-panel__label{fill:#cbd5e1;font-size:13px;font-weight:600}.ioh-output-panel__label--title{fill:#f8fafc;font-size:15px;font-weight:800}.ioh-output-panel__label--out{fill:#dbeafe;font-size:12px;font-weight:800}.ioh-output-panel__list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.44rem .62rem;margin:.58rem 0 0;padding:0;list-style:none;display:grid}.ioh-output-panel__list li{align-items:center;gap:.5rem;min-width:0;display:flex}.ioh-output-panel__tag{letter-spacing:.03em;color:#e2e8f0;background:#3b82f640;border:1px solid #60a5fa80;border-radius:999px;justify-content:center;align-items:center;min-width:58px;padding:.16rem .45rem;font-size:.7rem;font-weight:800;display:inline-flex}.ioh-output-panel__text{color:#d1d5db;font-size:.8rem;line-height:1.2}.ioh-output-panel__empty{color:var(--text-muted);border:1px dashed #94a3b873;border-radius:10px;margin-top:.6rem;padding:.6rem .7rem;font-size:.8rem}html.light .ioh-output-panel{background:#ffffffa3;border-color:#0f172a1f}html.light .ioh-output-panel__title{color:#0f172a}html.light .ioh-output-panel__svg-wrap{background:#f1f5f9e0;border-color:#0f172a1f}html.light .ioh-output-panel__controller{fill:#0f172a14;stroke:#0f172a3d}html.light .ioh-output-panel__wire{stroke:#475569b3}html.light .ioh-output-panel__out{fill:#3b82f624;stroke:#2563eb73}html.light .ioh-output-panel__label,html.light .ioh-output-panel__text{fill:#334155;color:#334155}html.light .ioh-output-panel__label--title{fill:#0f172a}html.light .ioh-output-panel__label--out{fill:#1d4ed8}html.light .ioh-output-panel__tag{color:#1e3a8a;background:#3b82f626;border-color:#2563eb59}.ioh-conn-panel{background:#0f172a5c;border:1px solid #ffffff1a;border-radius:14px;margin:.5rem 0;padding:1rem}.ioh-conn-panel__title{color:#e2e8f0;margin-bottom:.15rem;font-size:.9rem;font-weight:800}.ioh-conn-panel__hint{color:var(--text-muted);margin-bottom:.6rem;font-size:.78rem}.ioh-conn-panel__svg-wrap{background:#0f172a73;border:1px solid #94a3b833;border-radius:10px;padding:.5rem;overflow-x:auto}.ioh-conn-panel__svg{width:100%;min-width:640px;height:auto;display:block}.ioh-conn__body{fill:#1e293b9e;stroke:#94a3b873;stroke-width:1.5px}.ioh-conn__terminal{fill:#0f172acc;stroke:#94a3b899;stroke-width:1.2px}.ioh-conn__pin{fill:#94a3b880}.ioh-conn__pin-label{fill:#cbd5e1;text-anchor:middle;font-size:9px;font-weight:700}.ioh-conn__title{fill:#f8fafc;font-size:15px;font-weight:800}.ioh-conn__subtitle{fill:#94a3b8;font-size:11px;font-weight:600}.ioh-conn__section-label{fill:#e2e8f0;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800}.ioh-conn__sensor-bg{rx:6;stroke-width:1px}.ioh-conn__sensor-bg--ok{fill:#10b9812e;stroke:#10b98173}.ioh-conn__sensor-bg--err{fill:#ef44442e;stroke:#ef444473}.ioh-conn__sensor-bg--off{fill:#6464641f;stroke:#64646440}.ioh-conn__sensor-name{fill:#e2e8f0;font-size:11px;font-weight:600}.ioh-conn__sensor-val{fill:#10b981;text-anchor:end;font-size:11px;font-weight:700}.ioh-conn__wire{stroke-width:2px;stroke-linecap:round}.ioh-conn__wire--active{stroke:#ef4444cc}.ioh-conn__wire--inactive{stroke:#94a3b859;stroke-dasharray:4 3}.ioh-conn__out-pin{transition:fill .2s}.ioh-conn__out-pin--active{fill:#ef4444}.ioh-conn__out-pin--inactive{fill:#94a3b880}.ioh-conn__out-pin-label{transition:fill .2s}.ioh-conn__out-pin-label--active{fill:#ef4444}.ioh-conn__out-pin-label--inactive{fill:#94a3b8}.ioh-conn__zone-dot--on{fill:#10b981}.ioh-conn__zone-dot--off{fill:#94a3b866}.ioh-conn__zone-text{fill:#cbd5e1;font-size:11px;font-weight:600}.ioh-conn-legend{color:var(--text-muted);flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.72rem;display:flex}.ioh-conn-legend__item{align-items:center;gap:.25rem;display:inline-flex}.ioh-conn-legend__dot{font-size:.92em}.ioh-conn-legend__dot--active{color:#ef4444}.ioh-conn-legend__dot--inactive{color:#94a3b8}.ioh-conn-legend__dot--sensor{color:#10b981}.ioh-conn-map__title{letter-spacing:.04em;text-transform:uppercase;color:#cbd5e1;margin-top:.6rem;margin-bottom:.35rem;font-size:.78rem;font-weight:800}.ioh-conn-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.ioh-conn-map__item{background:#0f172a57;border:1px solid #94a3b838;border-radius:8px;align-items:flex-start;gap:.42rem;padding:.36rem .44rem;display:flex}.ioh-conn-map__tag{text-align:center;letter-spacing:.03em;border-radius:999px;min-width:48px;padding:.12rem .34rem;font-size:.66rem;font-weight:800;line-height:1.5}.ioh-conn-map__tag--active{color:#f8fafc;background:#ef4444db}.ioh-conn-map__tag--inactive{color:#e2e8f0;background:#94a3b847;border:1px solid #94a3b86b}.ioh-conn-map__text{color:#cbd5e1;font-size:.74rem;line-height:1.35}.ioh-conn-rotate{z-index:6000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172ad9;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.ioh-conn-rotate.active{display:flex}.ioh-conn-rotate__card{text-align:center;background:#0f172af5;border:1px solid #94a3b859;border-radius:16px;width:100%;max-width:340px;padding:1rem 1rem .9rem}.ioh-conn-rotate__icon{color:#38bdf8;margin-bottom:.45rem;font-size:1.65rem;line-height:1}.ioh-conn-rotate__title{color:#f8fafc;font-size:1rem;font-weight:800}.ioh-conn-rotate__text{color:#cbd5e1;margin-top:.35rem;font-size:.84rem;line-height:1.35}.ioh-conn-rotate__back{color:#e0f2fe;cursor:pointer;background:#38bdf824;border:1px solid #38bdf86b;border-radius:12px;justify-content:center;align-items:center;min-width:132px;margin-top:.9rem;padding:.72rem 1rem;font-size:.9rem;font-weight:800;line-height:1;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.ioh-conn-rotate__back:hover{background:#38bdf838;border-color:#38bdf894}.ioh-conn-rotate__back:active{transform:translateY(1px)}.ioh-conn-rotate__back:focus-visible{outline-offset:2px;outline:2px solid #38bdf8bf}body.ioh-conn-rotate-lock{overflow:hidden}html.light .ioh-conn-panel{background:#ffffffa3;border-color:#0f172a1f}html.light .ioh-conn-panel__title{color:#0f172a}html.light .ioh-conn-panel__svg-wrap{background:#f1f5f9e0;border-color:#0f172a1f}html.light .ioh-conn__body{fill:#0f172a0f;stroke:#0f172a38}html.light .ioh-conn__terminal{fill:#0f172a1a;stroke:#0f172a47}html.light .ioh-conn__pin{fill:#0f172a59}html.light .ioh-conn__pin-label{fill:#334155}html.light .ioh-conn__title{fill:#0f172a}html.light .ioh-conn__subtitle{fill:#475569}html.light .ioh-conn__section-label{fill:#1e293b}html.light .ioh-conn__sensor-name{fill:#334155}html.light .ioh-conn__sensor-val{fill:#059669}html.light .ioh-conn__zone-text{fill:#334155}html.light .ioh-conn__out-pin--active{fill:#dc2626}html.light .ioh-conn__out-pin--inactive{fill:#4755696b}html.light .ioh-conn__out-pin-label--active{fill:#dc2626}html.light .ioh-conn__out-pin-label--inactive{fill:#475569}html.light .ioh-conn-map__title{color:#1e293b}html.light .ioh-conn-map__item{background:#ffffffe0;border-color:#0f172a1f}html.light .ioh-conn-map__tag--inactive{color:#334155;background:#94a3b847}html.light .ioh-conn-map__text{color:#334155}html.light .ioh-conn-rotate{background:#0f172a73}html.light .ioh-conn-rotate__card{background:#fffffff7;border-color:#0f172a2e}html.light .ioh-conn-rotate__title{color:#0f172a}html.light .ioh-conn-rotate__text{color:#334155}html.light .ioh-conn-rotate__back{color:#1d4ed8;background:#1d4ed81f;border-color:#1d4ed833}html.light .ioh-conn-rotate__back:hover{background:#1d4ed82e;border-color:#1d4ed852}html.light .ioh-conn-rotate__back:focus-visible{outline-color:#1d4ed88c}@media (max-width:960px) and (orientation:landscape){.ioh-conn-panel__svg{min-width:600px}}@media (max-width:560px){.ioh-conn-panel{padding:.5rem}.ioh-conn-panel__svg{min-width:600px}.ioh-conn-map{grid-template-columns:1fr}}.ioh-settings-page .ioh-save-row{background:0 0;border-top:1px solid #ffffff14;border-radius:0;grid-column:1/-1;justify-content:flex-end;align-items:center;margin-top:.25rem;padding-top:.9rem;display:flex}.ioh-settings-page .ioh-save-row .btn{min-width:220px;margin:0}@media (max-width:560px){.ioh-settings-page{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6.5rem)}.ioh-settings-page .ioh-save-row{bottom:calc(env(safe-area-inset-bottom,0px) + .2rem);z-index:10;background:var(--card-bg);border-radius:12px;justify-content:stretch;padding:.75rem;position:sticky;box-shadow:0 -2px 12px #0003}.ioh-settings-page .ioh-save-row.ioh-save-row--at-bottom{bottom:calc(env(safe-area-inset-bottom,0px) + .75rem)}.ioh-settings-page .ioh-save-row .btn{width:100%;min-width:0}.ioh-output-panel{padding:.72rem}.ioh-output-panel__svg{min-width:420px}.ioh-output-panel__list{grid-template-columns:1fr}}.alert-success{color:#10b981;background:#10b9811a;border:1px solid #10b98133;border-radius:.5rem;padding:1rem;font-size:.875rem}.alert-error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433;border-radius:.5rem;padding:1rem;font-size:.875rem}.alert-warning{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:.5rem;padding:1rem;font-size:.875rem}.alert-info{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f633;border-radius:.5rem;padding:1rem;font-size:.875rem}.btn-primary{text-transform:uppercase;letter-spacing:.05em;background:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:700;transition:all .15s}.btn-primary:hover{opacity:.9}.btn-secondary{text-transform:uppercase;letter-spacing:.05em;color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:700;transition:all .15s}.btn-secondary:hover{background:#ffffff1a}.btn-danger{text-transform:uppercase;letter-spacing:.05em;color:#ef4444;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:.5rem;padding:.625rem 1.5rem;font-size:.875rem;font-weight:700;transition:all .15s}.btn-danger:hover{background:#ef444440}.animate-blink{animation:1s ease-in-out infinite blinker}.animate-blink2{animation:2s ease-in-out infinite blinker2}.animate-spin-slow{animation:2s linear infinite spin}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.animate-fadein{animation:.3s ease-out both fadeIn}@keyframes barber-pole{0%{background-position:0 0}to{background-position:40px 0}}@keyframes blinker{0%,to{opacity:1}50%{opacity:.2}}@keyframes blinker2{0%,to{opacity:.6}50%{opacity:.1}}@keyframes border-left-breathe{0%,to{border-left-color:#10b98173;box-shadow:inset 4px 0 #10b98159}50%{border-left-color:#10b981;box-shadow:inset 4px 0 #10b981f2,0 0 10px #10b98133}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #2c45fc00}50%{box-shadow:0 0 12px 2px #2c45fc59}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes anim_left{0%{transform:rotate(0)}to{transform:rotate(-180deg)}}@keyframes anim_right{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.row{flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem;display:flex}[class^=col-]{box-sizing:border-box;padding-left:.5rem;padding-right:.5rem}.dash-summary-col,.dash-status-col{box-sizing:border-box;width:100%;padding-left:.5rem;padding-right:.5rem}.col-12{width:100%}.col-auto{flex:none;width:auto}.col-md-6,.col-lg-6,.col-xl-4,.col-xl-8{width:100%}@media (min-width:768px){.col-md-6{width:50%}}@media (min-width:992px){.col-lg-6{width:50%}}@media (min-width:1200px){.col-xl-4{width:33.3333%}.col-xl-8{width:66.6667%}}.card-header{border-bottom:1px solid #ffffff0d;border-radius:20px 20px 0 0;padding:.625rem 1rem}.card-body{padding:1rem}html.light .card-header{border-bottom-color:#00000014}.ioh-card-status-marker{display:none!important}.card-header.ioh-card-header-accent{border-bottom-color:#ffffff29;transition:background .2s,border-color .2s}.card-header.ioh-card-header-accent h1,.card-header.ioh-card-header-accent h2,.card-header.ioh-card-header-accent h3,.card-header.ioh-card-header-accent h4,.card-header.ioh-card-header-accent h5,.card-header.ioh-card-header-accent h6,.card-header.ioh-card-header-accent .text-primary,.card-header.ioh-card-header-accent .text-info,.card-header.ioh-card-header-accent .text-success,.card-header.ioh-card-header-accent .text-warning,.card-header.ioh-card-header-accent .text-danger,.card-header.ioh-card-header-accent .text-secondary,.card-header.ioh-card-header-accent .text-muted{color:#fff!important}.ioh-card-header-accent-success{background:linear-gradient(135deg,#047857 0%,#059669 100%)}.ioh-card-header-accent-warning{background:linear-gradient(135deg,#9a3412 0%,#c2410c 100%)}.ioh-card-header-accent-danger{background:linear-gradient(135deg,#991b1b 0%,#b91c1c 100%)}html.light .card-header.ioh-card-header-accent{border-bottom-color:#fff3}.shadow{box-shadow:0 2px 12px #0003}.mb-4{margin-bottom:1.5rem}.d-flex{display:flex}.d-none{display:none}.d-block{display:block}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-fill{flex:auto}.align-items-center{align-items:center}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}@media (min-width:576px){.d-sm-block{display:block}.d-sm-none{display:none}}@media (min-width:768px){.d-md-none{display:none}.d-md-block{display:block}}@media (min-width:992px){.d-lg-flex{display:flex}.d-lg-inline{display:inline}}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mt-1{margin-top:.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1.5rem}.pb-2{padding-bottom:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.text-primary{color:var(--accent-blue)!important}.text-danger{color:#ef4444!important}.text-warning{color:#f59e0b!important}.text-success{color:#10b981!important}.text-info{color:#60a5fa!important}.text-muted{color:var(--text-muted)!important}.text-white{color:#fff!important}.text-center{text-align:center}.text-gray-300{color:#ffffff4d}.text-gray-400,.text-gray-500,.text-gray-600{color:var(--text-muted)}.text-gray-800{color:inherit}.font-weight-bold{font-weight:700}.small{font-size:.875em}.h5{font-size:1.1rem;font-weight:700}.h6{font-size:.9rem;font-weight:700}.badge{border-radius:6px;align-items:center;padding:.25em .55em;font-size:.75em;font-weight:700;line-height:1;display:inline-flex}.badge-success{color:#10b981;background:#10b98126}.badge-danger{color:#ef4444;background:#ef444426}.badge-warning{color:#f59e0b;background:#f59e0b26}.badge-info{color:#60a5fa;background:#3b82f626}.badge-primary{color:#818cf8;background:#2c45fc26}.badge-counter{font-size:.65em;position:absolute;transform:translate(-50%,-50%)}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-sm{border-radius:6px;padding:.25rem .625rem;font-size:.8rem}.btn-block{width:100%;display:flex}.btn-user{border-radius:100px}.btn-success{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.btn-warning{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.btn-dark{color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff1a}.btn-success:hover{background:#10b98140}.btn-warning:hover{background:#f59e0b40}.btn-dark:hover{background:#ffffff1a}.disabled,[disabled]{opacity:.5;pointer-events:none}.progress{background:#ffffff14;border-radius:9999px;height:.5rem;overflow:hidden}.progress-bar{background:var(--accent-blue);height:100%;transition:width .3s}.progress-bar-striped{background-image:repeating-linear-gradient(45deg,#ffffff26 0 5px,#0000 5px 10px)}.form-control,.custom-select{width:100%;color:inherit;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s;display:block}.form-control:focus,.custom-select:focus{border-color:#2c45fc80;outline:none;box-shadow:0 0 0 2px #2c45fc33}html.light .form-control,html.light .custom-select{background:#0000000a;border-color:#0000001a}input[type=file]{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:10px;width:100%;max-width:560px;padding:.5rem;font-size:.875rem;display:block}input[type=file]::file-selector-button{background:var(--accent-blue);color:#fff;cursor:pointer;border:1px solid #2c45fc73;border-radius:8px;margin-right:.75rem;padding:.5rem .85rem;font-weight:700;transition:filter .15s}input[type=file]::file-selector-button:hover{filter:brightness(1.08)}input[type=file]::-webkit-file-upload-button{background:var(--accent-blue);color:#fff;cursor:pointer;border:1px solid #2c45fc73;border-radius:8px;margin-right:.75rem;padding:.5rem .85rem;font-weight:700}html.light input[type=file]{color:#0f172a;background:#fff;border-color:#0f172a33}html.light input[type=file]::file-selector-button{background:#1d4ed8;border-color:#1d4ed88c}input[type=submit]{background:var(--accent-blue);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;margin-top:.75rem;padding:.6rem 1.1rem;font-size:.875rem;font-weight:700}input[type=submit]:hover{opacity:.92}.form-check{display:block}.form-check-input{appearance:none;cursor:pointer;background:#94a3b847;border:1px solid #94a3b859;border-radius:999px;flex:none;width:2.3rem;height:1.35rem;margin:.05rem 0 0;transition:background-color .2s,border-color .2s,box-shadow .2s;position:relative}.form-check-input:after{content:"";background:#fff;border-radius:999px;width:1.1rem;height:1.1rem;transition:transform .2s,background-color .2s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #02061761}.form-check-input:checked{background:var(--accent-blue);border-color:var(--accent-blue)}.form-check-input:checked:after{transform:translate(.92rem)}.form-check-input:focus-visible{outline:none;box-shadow:0 0 0 3px #2c45fc59}.form-check-input:disabled{opacity:.55;cursor:not-allowed}.form-check-label{cursor:pointer;font-size:.875rem;line-height:1.3;display:block}.form-check-hint{color:var(--text-muted);font-size:.75rem;display:block}html.light .form-check-input{background:#0f172a24;border-color:#0f172a3d}html.light .form-check-input:after{box-shadow:0 1px 2px #0f172a40}html.light .form-check-input:checked{background:var(--accent-blue);border-color:var(--accent-blue)}html.light .form-check-input:focus-visible{box-shadow:0 0 0 3px #1d4ed847}.input-group{display:flex}.input-group .form-control{border-radius:8px 0 0 8px}.input-group-append .btn{border-radius:0 8px 8px 0}.rounded{border-radius:8px}.rounded-circle{border-radius:50%}.border-top{border-top:1px solid #ffffff0d}.border-0{border:none}.w-100{width:100%}.h-100{height:100%}.bg-white{background-color:var(--card-bg)}.bg-success{background:#10b98126}.bg-danger{background:#ef444426}.bg-warning{background:#f59e0b26}.bg-info{background:#3b82f626}.bg-primary{background:#2c45fc26}.bg-gradient-primary{background:linear-gradient(135deg,#2c45fc 0%,#1a2bc7 100%)}.icon-circle{border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.dropdown-menu{background:var(--card-bg);border:1px solid #ffffff14;border-radius:8px;padding:.25rem}.dropdown-item{color:inherit;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;display:block}.dropdown-item:hover{background:#ffffff0f}.collapse-inner{background:0 0}.collapse-item{color:inherit;padding:.4rem .75rem;font-size:.875rem;text-decoration:none;display:block}.collapse-item:hover{background:#ffffff0f}.collapse-item.active{color:var(--accent-blue);font-weight:600}.sticky-footer{text-align:center;color:var(--text-muted);padding:.75rem 1rem;font-size:.875rem}.navbar,.topbar{display:none}html.light .border-top{border-top-color:#0000000f}.blink1{animation:1s ease-in-out infinite blinker}.blink2{animation:2s ease-in-out infinite blinker2}@keyframes tz-info-blink-slow{0%,84%,to{opacity:1}89%,95%{opacity:.18}}@keyframes tz-info-blink-fast{0%,42%,to{opacity:1}52%,78%{opacity:.18}}.border-left-primary{border-left:4px solid var(--accent-blue)}.border-left-success{border-left:4px solid #10b981}.border-left-danger{border-left:4px solid #ef4444}.border-left-warning{border-left:4px solid #f59e0b}.border-left-info{border-left:4px solid #60a5fa}.border-left-secondary{border-left:4px solid var(--text-muted)}.border-left-breathe{animation:3.8s ease-in-out infinite border-left-breathe}.card.border-left-primary{border-left:4px solid var(--accent-blue)!important}.card.border-left-success{border-left:4px solid #10b981!important}.card.border-left-danger{border-left:4px solid #ef4444!important}.card.border-left-warning{border-left:4px solid #f59e0b!important}.card.border-left-info{border-left:4px solid #60a5fa!important}.card.border-left-secondary{border-left:4px solid var(--text-muted)!important}.card-top-state-on{border-top:4px solid #10b981!important}.card-top-state-off{border-top:4px solid #94a3b88c!important}.badge-secondary{color:#94a3b8;background:#94a3b826}.badge-dark{color:#cbd5e1;background:#ffffff14}.badge-light{color:#e2e8f0;background:#ffffff1a}html.light .badge-light{color:#334155;background:#0000000f}.btn-outline-secondary{color:var(--text-muted);background:0 0;border:1px solid #ffffff26}.btn-outline-secondary:hover{background:#ffffff0f}.btn-info{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.float-right{float:right}.text-xs{font-size:.75rem}.text-uppercase{text-transform:uppercase}.text-white-50{color:#ffffff80}.text-dark{color:#1e293b}html.dark .ioh-io-btn.text-dark{color:#e2e8f0}.no-gutters{margin-left:0;margin-right:0}.no-gutters>[class^=col-]{padding-left:0;padding-right:0}.col-xl-3{width:100%}@media (min-width:1200px){.col-xl-3{width:25%}}.col-sm-6{width:100%}@media (min-width:576px){.col-sm-6{width:50%}}.col-md-3{width:100%}@media (min-width:768px){.col-md-3{width:25%}}@media (min-width:576px){.dash-summary-col,.dash-status-col{width:50%}}@media (min-width:768px){.dash-summary-col,.dash-status-col{width:25%}}@media (min-width:992px){.dash-status-col{width:16.6667%}}.root-shell-card{position:relative;overflow:hidden}.root-shell-card:before{content:"";background:linear-gradient(90deg,#3b82f6e6,#818cf8cc);height:4px;position:absolute;inset:0 0 auto}.root-shell-card--neutral:before{background:linear-gradient(90deg,#94a3b8d1,#64748bc7)}.root-shell-card--info:before{background:linear-gradient(90deg,#3b82f6f0,#60a5fad1)}.root-shell-card--primary:before{background:linear-gradient(90deg,#2563ebf0,#3b82f6d1)}.root-shell-card__header{background:0 0;border-bottom:1px solid #ffffff0f;padding:1rem 1.1rem .85rem}.root-shell-card__body{padding:1rem 1.1rem 1.1rem}.root-shell-card__body--compact{padding-top:.9rem}.root-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.root-card-title-wrap{flex-direction:column;gap:.22rem;min-width:0;display:flex}.root-card-title{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:800;line-height:1.2}.root-card-meta{color:var(--text-muted);max-width:46rem;font-size:.74rem;line-height:1.4}.root-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto;display:flex}.root-summary-card,.root-status-card{position:relative;overflow:hidden}.root-summary-card{background:var(--card-bg);border:1px solid #ffffff0f;border-radius:20px;flex-direction:column;gap:.65rem;min-height:100%;padding:1rem 1.05rem 1.05rem;display:flex}.root-summary-card:before,.root-status-card:before{content:"";background:#94a3b8d1;width:4px;position:absolute;inset:0 auto 0 0}.root-summary-card__head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.root-summary-card__eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:800;line-height:1.3}.root-summary-card__value{overflow-wrap:anywhere;font-size:1.55rem;font-weight:800;line-height:1.08}.root-summary-card__value--compact{font-size:1.35rem}.root-summary-card__meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;font-size:.72rem;display:flex}.root-summary-card__meter{background:#ffffff0f;border-radius:9999px;height:8px;overflow:hidden}.root-summary-card__meter-fill{height:100%;transition:width .3s}.root-status-card{border-radius:18px;gap:.35rem;min-height:100%;padding:.9rem .95rem}.root-status-card__label{color:var(--text-muted);font-size:.72rem;font-weight:700;line-height:1.35}.root-status-card__value{overflow-wrap:anywhere;font-size:.92rem;font-weight:800;line-height:1.35}.root-summary-card--primary,.root-status-card--primary{background:linear-gradient(135deg,#3b82f629,#3b82f60d);border-color:#3b82f63d}.root-summary-card--primary:before,.root-status-card--primary:before{background:#3b82f6}.root-summary-card--secondary,.root-status-card--secondary{background:linear-gradient(135deg,#94a3b829,#94a3b80d);border-color:#94a3b838}.root-summary-card--secondary:before,.root-status-card--secondary:before{background:#94a3b8}.root-summary-card--success,.root-status-card--success{background:linear-gradient(135deg,#10b98129,#2dd4bf0d);border-color:#10b9813d}.root-summary-card--success:before,.root-status-card--success:before{background:#10b981}.root-summary-card--danger,.root-status-card--danger{background:linear-gradient(135deg,#ef44442e,#f973160d);border-color:#ef44443d}.root-summary-card--danger:before,.root-status-card--danger:before{background:#ef4444}.root-summary-card--warning,.root-status-card--warning{background:linear-gradient(135deg,#f59e0b2e,#f973160d);border-color:#f59e0b3d}.root-summary-card--warning:before,.root-status-card--warning:before{background:#f59e0b}.root-summary-card--info,.root-status-card--info{background:linear-gradient(135deg,#60a5fa29,#3b82f60d);border-color:#60a5fa3d}.root-summary-card--info:before,.root-status-card--info:before{background:#60a5fa}.root-summary-card--dark,.root-status-card--dark{background:linear-gradient(135deg,#47556938,#1e293b14);border-color:#64748b3d}.root-summary-card--dark:before,.root-status-card--dark:before{background:#64748b}.root-action-row{flex-wrap:wrap;gap:.5rem;display:flex}.root-action-chip{text-transform:none;letter-spacing:.02em;border-radius:12px;min-height:36px;padding:.45rem .85rem;font-weight:700;box-shadow:none!important}.root-side-panel-col{box-sizing:border-box;width:100%;min-width:0;margin-bottom:.95rem;padding-left:.5rem;padding-right:.5rem}.root-side-panel-col--full,.root-side-panel-col--compact{flex:0 0 100%;max-width:100%}.root-side-panel-col>.root-shell-card{width:100%;margin-bottom:0!important}.root-side-panel-col--compact>.root-shell-card{min-height:100%}.root-side-panel-col--compact .root-shell-card__header{padding:.88rem .92rem .72rem}.root-side-panel-col--compact .root-shell-card__body{padding:.82rem .9rem .9rem}.root-side-panel-col--compact .root-card-title{font-size:.92rem}.root-side-panel-col--compact .root-card-meta{max-width:none;font-size:.69rem;line-height:1.35}.root-io-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.52rem;display:grid}.root-io-link{text-decoration:none;display:block}.root-io-btn{color:#e2e8f0;background:#94a3b81f;border:1px solid #94a3b833;border-radius:13px;flex-direction:column;justify-content:center;gap:.14rem;width:100%;min-height:56px;padding:.62rem .44rem;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s;display:flex}.root-side-panel-col--compact .root-io-btn{min-height:52px;padding:.56rem .38rem}.root-io-btn-name{letter-spacing:.05em;text-transform:uppercase;font-size:.66rem;font-weight:800}.root-io-btn-state{color:var(--text-muted);font-size:.72rem;font-weight:700;line-height:1.2}.root-io-btn--output{--root-out-level:0}.root-io-btn--output.root-io-btn--active{color:#fff;background:linear-gradient(145deg, rgb(239 68 68/calc(.08 + (var(--root-out-level,0) * .008))), rgb(249 115 22/calc(.06 + (var(--root-out-level,0) * .0068))));border-color:rgb(248 113 113/calc(.12 + (var(--root-out-level,0) * .0018)));box-shadow:0 10px 22px rgb(239 68 68/calc(.01 + (var(--root-out-level,0) * .0021)))}.root-io-btn--input.root-io-btn--active{background:linear-gradient(135deg,#10b98138,#2dd4bf1f);border-color:#10b98152}.root-io-btn--locked{opacity:1}.root-io-btn--active .root-io-btn-name,.root-io-btn--active .root-io-btn-state{color:inherit}.root-sensors-stack{flex-direction:column;gap:.7rem;display:flex}.root-side-panel-col--compact .root-sensors-stack{gap:.58rem}.root-sensor-item{flex-direction:column;gap:.45rem;display:flex}.root-side-panel-col--compact .root-sensor-item{gap:.38rem}.root-sensor-head{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.root-side-panel-col--compact .root-sensor-head{gap:.45rem}.root-sensor-label{overflow-wrap:anywhere;min-width:0;font-size:.84rem;font-weight:800;line-height:1.3}.root-sensor-value{white-space:nowrap;text-align:right;flex:none;font-size:.84rem;font-weight:800;line-height:1.2}.root-side-panel-col--compact .root-sensor-label,.root-side-panel-col--compact .root-sensor-value{font-size:.78rem;line-height:1.25}.root-sensor-progress{height:.42rem;margin:0}.root-side-panel-col--compact .root-sensor-progress{height:.36rem}.root-sensor-alert{margin:0;padding:.72rem .82rem;font-size:.8rem;line-height:1.35}.root-empty-state{flex-direction:column;gap:.4rem;padding:.9rem .15rem .1rem;display:flex}.root-empty-state__title{font-size:1rem;font-weight:800;line-height:1.2}.root-empty-state__text{color:var(--text-muted);max-width:42rem;font-size:.82rem;line-height:1.45}.root-inline-state{align-items:center;gap:.35rem;display:inline-flex}.root-inline-state--danger{color:#ef4444}.root-inline-icon{flex:0 0 .95rem;width:.95rem;height:.95rem}.root-inline-icon--muted{color:var(--text-muted)}.ionet-card{position:relative;overflow:hidden}.ionet-card:before{content:"";background:linear-gradient(90deg,#94a3b8b3,#64748bb3);height:4px;position:absolute;inset:0 0 auto}.ionet-card.is-online:before{background:linear-gradient(90deg,#10b981f2,#2dd4bfd9)}.ionet-card.is-warning:before{background:linear-gradient(90deg,#f59e0bf2,#f97316d9)}.ionet-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.ionet-summary-pill{white-space:nowrap;min-height:30px;padding:.25rem .7rem;font-size:.76rem;font-weight:800}.ionet-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.ionet-node{background:#ffffff08;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;gap:.45rem;min-width:0;padding:.9rem;display:flex}.ionet-node.is-online{background:linear-gradient(135deg,#10b9811f,#2dd4bf0d);border-color:#10b98147}.ionet-node.is-warning{background:linear-gradient(135deg,#f59e0b24,#f973160a);border-color:#f59e0b42}.ionet-node-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.ionet-node-badge{white-space:normal;text-align:center;flex:0 auto;max-width:100%;margin-left:auto;font-size:.72rem;font-weight:800;line-height:1.2}.ionet-node-title{flex:8rem;min-width:0;margin:0;font-size:1rem;font-weight:800;line-height:1.25}.ionet-node-meta{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.77rem;line-height:1.45}html.light .ionet-node{background:#0f172a08;border-color:#0f172a14}html.light .ionet-node.is-online{background:linear-gradient(135deg,#0596691f,#0d94880d);border-color:#0596693d}html.light .ionet-node.is-warning{background:linear-gradient(135deg,#d977061f,#ea580c0a);border-color:#d977063d}html.light .root-shell-card__header{border-bottom-color:#0f172a14}html.light .root-summary-card,html.light .root-status-card{border-color:#0f172a1a;box-shadow:0 2px 6px #00000012}html.light .root-side-panel-col>.root-shell-card{box-shadow:0 2px 8px #00000014}html.light .root-summary-card__meter{background:#0f172a14}html.light .root-io-btn{color:#1e293b;background:#0f172a0a;border-color:#0f172a1f}html.light .root-io-btn--output.root-io-btn--active{color:#fff;background:linear-gradient(145deg, rgb(220 38 38/calc(.08 + (var(--root-out-level,0) * .0088))), rgb(249 115 22/calc(.06 + (var(--root-out-level,0) * .0076))));border-color:rgb(185 28 28/calc(.1 + (var(--root-out-level,0) * .0028)));box-shadow:0 12px 24px rgb(220 38 38/calc(.01 + (var(--root-out-level,0) * .0018)))}html.light .root-io-btn--output.root-io-btn--active.root-io-btn--output-soft{color:#7f1d1d}html.light .root-io-btn--input.root-io-btn--active{background:linear-gradient(135deg,#05966924,#0d948814);border-color:#0596693d}html.light .root-sensor-value{color:#0f172a}html.light .root-sensor-alert{border-radius:14px}@media (min-width:992px){.root-side-panel-col--compact{flex:0 0 50%;max-width:50%}#root_ionet_mount.root-side-panel-col--compact{flex:0 0 100%;max-width:100%}}@media (max-width:640px){.root-side-panel-col{padding-left:0;padding-right:0}.root-side-panel-col--compact{flex-basis:100%;max-width:100%}.ionet-card-head{flex-direction:column;align-items:stretch}.ionet-summary-pill{align-self:flex-start}.ionet-grid{grid-template-columns:1fr}.root-shell-card__header,.root-shell-card__body{padding-left:.95rem;padding-right:.95rem}.root-summary-card{padding:.9rem .95rem}.root-summary-card__value{font-size:1.4rem}.root-sensor-head{flex-direction:column;gap:.22rem}.root-sensor-value{text-align:left}}.tz-panel-col{width:100%;display:flex}.tz-panel-col>.tz-card{flex:auto}#root_thermostats_card{--tz-card-grid-min:320px;--tz-card-grid-max:380px;--tz-card-grid-gap:1rem}#root_thermostats_card .tz-panel-grid{grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--tz-card-grid-min)), 1fr));gap:var(--tz-card-grid-gap);margin:0;display:grid}#root_thermostats_card .tz-panel-grid>.tz-panel-col{width:100%;max-width:var(--tz-card-grid-max);min-width:0;margin:0 auto;padding:0}#root_thermostats_card .tz-panel-grid>.root-empty-state{grid-column:1/-1}.shadow-sm{box-shadow:0 1px 3px #00000026}.d-sm-inline-block{display:none}@media (min-width:576px){.d-sm-inline-block{display:inline-flex}}.form-inline{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.form-control-sm{padding:.25rem .5rem;font-size:.8rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.col{flex:1}.bg-secondary{background:#94a3b826}.alert{border-radius:8px;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem}.progress-bar.bg-success{background:#10b981!important}.progress-bar.bg-warning{background:#f59e0b!important}.progress-bar.bg-danger{background:#ef4444!important}.progress-bar.bg-info{background:#60a5fa!important}html.light .btn-outline-secondary{color:#475569;border-color:#0000002e}html.light .text-dark{color:#0f172a}html.light .card-top-state-off{border-top-color:#94a3b8!important}html.light .shadow-sm{box-shadow:0 2px 6px #0000001a}html.light .bg-primary{background:#1d4ed8!important}html.light .bg-success{background:#059669!important}html.light .bg-danger{background:#dc2626!important}html.light .bg-warning{background:#d97706!important}html.light .bg-info{background:#2563eb!important}html.light .bg-secondary{background:#475569!important}html.light .bg-dark{background:#334155!important}html.light .bg-gradient-primary{background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%)!important}html.light .bg-primary.text-white,html.light .bg-success.text-white,html.light .bg-danger.text-white,html.light .bg-warning.text-white,html.light .bg-info.text-white,html.light .bg-secondary.text-white,html.light .bg-dark.text-white{color:#fff!important}html.light .badge-success{color:#047857;background:#05966926}html.light .badge-danger{color:#b91c1c;background:#dc26261f}html.light .badge-warning{color:#92400e;background:#d9770626}html.light .badge-info{color:#1d4ed8;background:#2563eb1f}html.light .badge-primary{color:#1e40af;background:#1d4ed81f}html.light .badge-secondary{color:#334155;background:#4755691f}html.light .badge-dark{color:#1e293b;background:#0f172a14}html.light .btn-success{color:#047857;background:#05966924;border-color:#0596694d}html.light .btn-success:hover{background:#05966938}html.light .btn-warning{color:#92400e;background:#d9770624;border-color:#d977064d}html.light .btn-warning:hover{background:#d9770638}html.light .btn-danger{color:#b91c1c;background:#dc26261f;border-color:#dc262640}html.light .btn-danger:hover{background:#dc262633}html.light .btn-info{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb40}html.light .btn-info:hover{background:#2563eb33}html.light .text-primary{color:#1d4ed8!important}html.light .text-success{color:#059669!important}html.light .text-danger{color:#dc2626!important}html.light .text-warning{color:#d97706!important}html.light .text-info{color:#2563eb!important}html.light .text-gray-300{color:#0003}html.light .text-gray-400{color:#64748b}html.light .text-gray-500{color:#475569}html.light .text-gray-600{color:#334155}html.light .text-gray-800{color:#0f172a}html.light .text-white-50{color:#0f172a80}html.light .progress{background:#00000014}html.light .alert-success{color:#047857;background:#0596691f;border-color:#05966940}html.light .alert-error{color:#b91c1c;background:#dc26261a;border-color:#dc262638}html.light .alert-warning{color:#92400e;background:#d977061f;border-color:#d9770640}html.light .alert-info{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb38}html.light .border-left-primary{border-left-color:#1d4ed8}html.light .border-left-success{border-left-color:#059669}html.light .border-left-danger{border-left-color:#dc2626}html.light .border-left-warning{border-left-color:#d97706}html.light .border-left-info{border-left-color:#2563eb}html.light .border-left-secondary{border-left-color:#64748b}html.light .card.border-left-primary{border-left-color:#1d4ed8!important}html.light .card.border-left-success{border-left-color:#059669!important}html.light .card.border-left-danger{border-left-color:#dc2626!important}html.light .card.border-left-warning{border-left-color:#d97706!important}html.light .card.border-left-info{border-left-color:#2563eb!important}html.light .card.border-left-secondary{border-left-color:#64748b!important}html.light ::-webkit-scrollbar-thumb{background:#0000001f}html.light ::-webkit-scrollbar-thumb:hover{background:#00000038}html.light .dropdown-menu{border-color:#0000001a;box-shadow:0 4px 16px #0000001f}html.light .dropdown-item:hover{background:#0000000d}html.light .ioh-modal-box{border-color:#0000001a;box-shadow:0 8px 32px #00000026}html.light .ioh-dropdown{border-color:#0000001a;box-shadow:0 4px 16px #0000001f}html.light .ioh-dropdown a:hover{background:#0000000d}.ioh-sidebar{background:var(--sidebar-bg);z-index:100;flex-direction:column;width:60px;min-width:60px;height:100dvh;transition:width .25s,min-width .25s;display:flex;overflow:hidden}html.ioh-sidebar-preload .ioh-sidebar{transition:none}.ioh-sidebar.desktop-pinned,.ioh-sidebar.open{width:220px;min-width:220px}@media (min-width:992px){html.ioh-sidebar-preload-pinned .ioh-sidebar{width:220px;min-width:220px}}body.sidebar-open{overflow:hidden}.ioh-sidebar-backdrop{z-index:99;-webkit-tap-highlight-color:transparent;background:#00000073;display:none;position:fixed;inset:0}.ioh-sidebar-backdrop.active{display:block}@media (max-width:991px){.ioh-sidebar{width:0;min-width:0;box-shadow:none;transition:width .25s,min-width .25s,box-shadow .25s;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.ioh-sidebar.open{width:260px;min-width:260px;box-shadow:4px 0 24px #00000080}}.ioh-logo-row{flex-shrink:0;align-items:center;gap:6px;height:56px;padding-right:10px;display:flex}.ioh-logo-link{flex:auto;justify-content:center;align-items:center;height:100%;padding:0 12px 0 14px;text-decoration:none;display:flex;overflow:hidden}.ioh-logo-icon{flex-shrink:0;width:28px;height:24px;display:block}.ioh-logo-full{object-fit:contain;width:auto;max-width:146px;height:22px;display:none}.ioh-sidebar-pin-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:none}.ioh-sidebar-pin-btn:hover{color:#e2e8f0;background:#ffffff1f}html.light .ioh-sidebar-pin-btn{color:#334155;background:#0000000f}html.light .ioh-sidebar-pin-btn:hover{color:#0f172a;background:#0000001f}.ioh-sidebar-pin-btn--topbar{border-radius:10px;width:36px;height:36px}.ioh-sidebar-pin-btn--topbar .icon-topbar{transform:rotate(180deg)}@media (min-width:992px){.ioh-sidebar.desktop-pinned .ioh-sidebar-pin-btn--sidebar,html:not(.ioh-sidebar-preload-pinned) .ioh-sidebar:not(.desktop-pinned)+.ioh-content-wrap .ioh-sidebar-pin-btn--topbar{display:flex}}@media (max-width:991px){.ioh-sidebar-pin-btn--sidebar,.ioh-sidebar-pin-btn--topbar{display:none!important}}.ioh-sidebar.desktop-pinned .ioh-logo-link,.ioh-sidebar.open .ioh-logo-link{justify-content:flex-start}.ioh-sidebar.desktop-pinned .ioh-logo-icon,.ioh-sidebar.open .ioh-logo-icon{display:none}.ioh-sidebar.desktop-pinned .ioh-logo-full,.ioh-sidebar.open .ioh-logo-full{display:block}@media (min-width:992px){html.ioh-sidebar-preload-pinned .ioh-logo-link{justify-content:flex-start}html.ioh-sidebar-preload-pinned .ioh-logo-icon{display:none}html.ioh-sidebar-preload-pinned .ioh-logo-full{display:block}}.ioh-sidebar .nav-text{opacity:0;white-space:nowrap;margin-left:.75rem;font-size:.8125rem;font-weight:600;transition:opacity .15s}.ioh-sidebar.desktop-pinned .nav-text,.ioh-sidebar.open .nav-text{opacity:1}@media (min-width:992px){html.ioh-sidebar-preload-pinned .ioh-sidebar .nav-text{opacity:1}}.ioh-sidebar .nav-sub{flex-direction:column;gap:.125rem;padding:.15rem .5rem .5rem 2.5rem;display:none}.ioh-sidebar.desktop-pinned .nav-sub.sub-open,.ioh-sidebar.open .nav-sub.sub-open{display:flex}@media (min-width:992px){html.ioh-sidebar-preload-pinned .ioh-sidebar .nav-sub.sub-open{display:flex}}.ioh-sidebar .nav-sub a{min-height:32px;color:var(--text-muted);border-radius:8px;align-items:center;gap:.55rem;padding:.35rem .5rem;font-size:.75rem;text-decoration:none;display:flex}.ioh-sidebar .nav-sub a:hover{color:#fff;background:#ffffff0f}.ioh-sidebar .nav-sub a.active{color:var(--accent-blue);font-weight:600}html.light .ioh-sidebar .nav-sub a:hover{color:#0f172a;background:#00000012}html.light .ioh-sidebar .nav-sub a.active{color:#1d4ed8}.icon-subnav{opacity:.78;flex-shrink:0;width:14px;height:14px}.nav-sub-text{min-width:0;line-height:1.2}.ioh-sidebar .nav-sub a:hover .icon-subnav,.ioh-sidebar .nav-sub a.active .icon-subnav{opacity:1}.nav-group-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);opacity:.92;align-items:center;gap:.5rem;margin:.6rem .1rem .15rem;font-size:.625rem;font-weight:700;display:flex}.ioh-sidebar .nav-sub>.nav-group-title:first-child{margin-top:.35rem}.nav-group-title:before,.nav-group-title:after{content:"";background:#ffffff1f;flex:auto;height:1px}html.light .nav-group-title{color:#64748b}html.light .nav-group-title:before,html.light .nav-group-title:after{background:#0f172a1f}.ioh-hamburger{display:none!important}@media (max-width:991px){.ioh-hamburger{display:flex!important}}@keyframes tz-card-left-breathe{0%,to{opacity:.72;box-shadow:none}50%{opacity:1;box-shadow:0 0 16px var(--tz-card-left-glow,#10b98138)}}@keyframes tz-card-top-flow{0%{background-position:100%}to{background-position:-120%}}.tz-card{--tz-card-top-accent:linear-gradient(90deg, #94a3b8d1, #64748bc2);--tz-card-left-accent:#94a3b8bd;--tz-card-left-glow:#94a3b824;background:var(--card-bg);border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;gap:.8rem;width:100%;height:100%;padding:1.15rem 1.15rem 1.1rem;display:flex;position:relative;overflow:hidden}.tz-card:before{content:"";background:var(--tz-card-top-accent);pointer-events:none;background-position:0%;background-size:220% 100%;height:4px;position:absolute;inset:0 0 auto}.tz-card:after{content:"";background:var(--tz-card-left-accent);pointer-events:none;width:4px;position:absolute;inset:4px auto 0 0}.tz-card.card-top-state-on,.tz-card.card-top-state-off{border-top:1px solid #ffffff0d!important}.tz-card.border-left-success,.tz-card.border-left-danger,.tz-card.border-left-warning,.tz-card.border-left-secondary{border-left:1px solid #ffffff0d!important}.tz-card.card-top-state-on{--tz-card-top-accent:linear-gradient(100deg, #10b981fa 0%, #34d399eb 24%, #3b82f6c2 48%, #22c55ef2 72%, #10b981fa 100%)}.tz-card.card-top-state-off{--tz-card-top-accent:linear-gradient(90deg, #94a3b8d1, #64748bc2)}.tz-card.card-top-state-on:before{animation:6.6s linear infinite tz-card-top-flow}.tz-card.border-left-success{--tz-card-left-accent:#10b981;--tz-card-left-glow:#10b9813d}.tz-card.border-left-danger{--tz-card-left-accent:#ef4444;--tz-card-left-glow:#ef444438}.tz-card.border-left-warning{--tz-card-left-accent:#f59e0b;--tz-card-left-glow:#f59e0b38}.tz-card.border-left-secondary{--tz-card-left-accent:#94a3b8d1;--tz-card-left-glow:#94a3b82e}.tz-card.border-left-breathe{animation:none}.tz-card.border-left-breathe:after{animation:3.8s ease-in-out infinite tz-card-left-breathe}@media (prefers-reduced-motion:reduce){.tz-card.card-top-state-on:before,.tz-card.border-left-breathe:after{animation:none}}html.light .tz-card{background:linear-gradient(#fffffffa 0%,#f8fafcf5 100%);border-color:#0f172a1a;box-shadow:0 3px 10px #00000012}html.light .tz-card.card-top-state-on,html.light .tz-card.card-top-state-off{border-top-color:#0f172a1a!important}html.light .tz-card.border-left-success,html.light .tz-card.border-left-danger,html.light .tz-card.border-left-warning,html.light .tz-card.border-left-secondary{border-left-color:#0f172a1a!important}.tz-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.78rem;display:flex}html.light .tz-header{border-bottom-color:#0f172a14}.tz-head-main{flex:auto;min-width:0}.tz-zone{overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:800;line-height:1.2}.tz-title{color:var(--text-muted);text-transform:none;letter-spacing:.025em;margin-top:.2rem;font-size:.72rem;font-weight:700;line-height:1.25}.tz-head-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:stretch;gap:.4rem;display:flex}.tz-state-pill{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:.28rem .72rem;font-size:.78rem;font-weight:700;display:inline-flex}.tz-power-btn{border-radius:10px;justify-content:center;align-items:center;min-height:32px;padding:.28rem .72rem;display:inline-flex;margin:0!important}.tz-temp-big{text-align:center;justify-content:center;align-items:flex-end;gap:.35rem;margin:.25rem 0;font-size:3rem;font-weight:800;line-height:1.1;display:flex}.tz-trend{font-size:1.05rem;line-height:1;display:inline-block}.tz-trend.color-red{align-self:flex-start;transform:translateY(.3rem)}.tz-trend.color-blue{align-self:flex-end;transform:translateY(-.15rem)}.tz-temp-indicator{text-align:center;color:var(--text-muted);font-size:.75rem}.tz-badges{flex-wrap:wrap;justify-content:flex-start;gap:.35rem;display:flex}.tz-badges .badge{border-radius:999px;padding:.28rem .55rem;font-size:.65rem}.tz-bar-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:.25rem;font-size:.625rem;font-weight:700;display:flex}.tz-bar{background:#ffffff0f;border-radius:9999px;width:100%;height:6px;overflow:hidden}html.light .tz-bar{background:#0000001a}.tz-bar-fill{border-radius:9999px;height:100%;transition:width .3s}.tz-bar-ovh-alert{animation:1s ease-in-out infinite blinker}.tz-bar-temp{background:linear-gradient(90deg,#3b82f6,#10b981,#ef4444)}.tz-bar-power{background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444)}.tz-bar-calib{background:linear-gradient(90deg,#60a5fa,#818cf8)}.tz-bar-init{background:linear-gradient(90deg,#fde047,#eab308)}.tz-target{background:linear-gradient(#ffffff0b 0%,#ffffff05 100%);border:1px solid #ffffff0f;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem .75rem;padding:.8rem .85rem;display:grid}html.light .tz-target{background:#0f172a08;border-color:#0f172a14}.tz-target-label{text-transform:uppercase;color:var(--text-muted);font-size:.625rem;font-weight:700}.tz-target-controls{justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.tz-target-val{text-align:center;min-width:0}.tz-target-input{text-align:center;width:100px;max-width:100%;padding:.25rem;font-size:1.5rem;font-weight:800}.tz-target-step{border-radius:10px;width:36px;height:36px;padding:0}.tz-status-row{border-top:1px solid #ffffff0d;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.05rem;padding:.65rem 0 .05rem;display:flex}html.light .tz-status-row{border-top-color:#0000000d}.tz-status-item{text-transform:uppercase;letter-spacing:.03em;flex-direction:column;align-items:center;gap:.25rem;width:58px;min-width:0;font-size:.5625rem;font-weight:700;display:flex}.tz-status-item-ai{width:78px}.tz-status-item.active{opacity:1}.tz-status-item.inactive{opacity:.25}.tz-status-icon{flex-shrink:0;width:18px;height:18px;display:block}.tz-status-text{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.15;overflow:hidden}.tz-status-text-ai{text-transform:none;letter-spacing:.01em}.tz-info{background:linear-gradient(#ffffff0b 0%,#ffffff05 100%);border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;gap:.25rem;max-height:140px;padding:.58rem .78rem;font-size:.75rem;display:flex;overflow-y:auto}html.light .tz-info{background:#0f172a08;border-color:#0f172a14}.tz-info-dynamic{flex-direction:column;gap:.25rem;display:flex}.tz-info-dynamic:empty{display:none}.tz-info-line{grid-template-columns:minmax(52px,auto) minmax(0,1fr);align-items:start;gap:.5rem;display:grid}.tz-info-line .il{color:var(--text-muted);white-space:nowrap}.tz-info-line .iv{text-align:right;overflow-wrap:anywhere;line-height:1.2;display:block}.tz-info-blink-slow{animation:3s ease-in-out infinite tz-info-blink-slow}.tz-info-blink-fast{animation:1s ease-in-out infinite tz-info-blink-fast}.tz-modes{gap:.5rem;display:flex}.tz-modes a{text-align:center;text-transform:uppercase;min-height:36px;color:var(--text-muted);background:#ffffff0d;border:1px solid #ffffff08;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:.5rem;font-size:.6875rem;font-weight:700;text-decoration:none;transition:all .15s;display:flex}.tz-modes a.active{background:var(--accent-blue);color:#fff;border-color:#0000}.tz-modes a.warn{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b4d}html.light .tz-modes a{color:#334155;background:#0000000d;border-color:#0000001a}html.light .tz-modes a.active{background:var(--accent-blue);color:#fff;border-color:#0000}html.light .tz-modes a.warn{color:#b45309;background:#f59e0b33;border-color:#b453094d}@media (max-width:560px){.tz-card{gap:.65rem;padding:.98rem .95rem .92rem}.tz-header{gap:.55rem}.tz-zone{font-size:.96rem}.tz-title{font-size:.66rem}.tz-temp-big{font-size:2.55rem}.tz-trend{font-size:.9rem}.tz-trend.color-red{transform:translateY(.25rem)}.tz-trend.color-blue{transform:translateY(-.1rem)}.tz-head-actions{gap:.28rem}.tz-state-pill{min-height:28px;padding:.2rem .52rem;font-size:.72rem}.tz-power-btn{min-height:28px;padding:.2rem .58rem}.tz-target{grid-template-columns:1fr}.tz-target-label{text-align:center}.tz-target-controls{justify-content:center}.tz-target-input{width:84px;font-size:1.3rem}.tz-info{padding:.5rem .6rem}.tz-info-line{grid-template-columns:minmax(44px,auto) minmax(0,1fr);gap:.4rem}.tz-status-row{gap:.7rem}.tz-status-item{width:52px;font-size:.52rem}.tz-status-item-ai{width:72px}}.tz-status-item.is-alert-active .tz-status-icon{animation:1s ease-in-out infinite tz-info-blink-fast}.tz-card .tz-ai-weights-guide,.tz-card .tz-ai-weights-link,.tz-card .tz-ai-weights-dot{backface-visibility:hidden;transform:translateZ(0)}html.dark .form-control,html.dark .custom-select{color-scheme:dark}html.dark select.form-control option,html.dark select.custom-select option{color:#e5e7eb;background:#111827}html.dark select.form-control option:checked,html.dark select.custom-select option:checked{color:#fff;background:#2563eb}html.dark select.form-control option:disabled,html.dark select.custom-select option:disabled{color:#6b7280;background:#111827}html.dark select.form-control option:disabled:checked,html.dark select.custom-select option:disabled:checked{color:#6b7280;background:#1f2937}html.light body{color:#0f172a}html.light .text-muted,html.light .field-label,html.light .ioh-settings-grid>.form-group label{color:#475569!important}html.light .ioh-settings-grid>.form-group .form-check-label{color:#0f172a!important}html.light .ioh-settings-grid>.form-group .form-check-hint{color:#64748b!important}html.light .sidebar-item,html.light .ioh-sidebar .nav-sub a{color:#334155}html.light .sidebar-item.active{color:#1d4ed8;background:linear-gradient(90deg,#1d4ed824 0%,#0000 100%);border-left-color:#1d4ed8}html.light .card,html.light .tz-card,html.light .status-grid-card,html.light .ioh-settings-grid>.form-group{border-color:#0f172a1a}html.light .form-control,html.light .custom-select,html.light .field-input{color-scheme:light;color:#0f172a;background:#fff;border-color:#0f172a33}html.light .form-control:focus,html.light .custom-select:focus,html.light .field-input:focus{border-color:#1d4ed88c;box-shadow:0 0 0 2px #1d4ed833}html.light select.form-control option,html.light select.custom-select option{color:#0f172a;background:#fff}html.light select.form-control option:checked,html.light select.custom-select option:checked{color:#fff;background:#1d4ed8}html.light select.form-control option:disabled,html.light select.custom-select option:disabled{color:#94a3b8;background:#f8fafc}html.light select.form-control option:disabled:checked,html.light select.custom-select option:disabled:checked{color:#64748b;background:#e2e8f0}html.light .btn-secondary,html.light .btn-dark{color:#0f172a;background:#0f172a0f;border-color:#0f172a29}:root{--tz-info-value-strong:#e2e8f0}html.light{--tz-info-value-strong:#0f172a}html.light .badge-warning{border:1px solid #b4530933;color:#92400e!important;background:#d9770626!important}html.light .tz-info-line .iv{color:#0f172a}html.light .tz-info-line .iv.color-red{color:#dc2626}html.light .tz-info-line .iv.color-blue{color:#2563eb}html.light .tz-info-line .iv.color-green{color:#059669}html.light .tz-info-line .iv.color-amber{color:#d97706}html.light .tz-info-line .iv.color-purple{color:#6366f1}html.light .tz-info-line .iv.color-sky{color:#0284c7}html.light .tz-info-line .iv.color-muted{color:#64748b}.rb-wrap{max-width:640px;margin:1.25rem auto 0}.rb-card{flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;display:flex}.rb-title{color:#e2e8f0;text-align:center;margin:0;font-size:1.35rem;font-weight:800}.rb-sub{color:var(--text-muted);text-align:center;margin:0;font-size:.92rem}.rb-timer{place-items:center;width:150px;height:150px;display:grid;position:relative}.rb-ring-svg{width:150px;height:150px;transform:rotate(-90deg)}.rb-ring-bg{fill:none;stroke:#94a3b838;stroke-width:10px}.rb-ring{fill:none;stroke:#2c45fc;stroke-width:10px;stroke-linecap:round;filter:drop-shadow(0 0 8px #2c45fc73);transition:stroke-dashoffset .85s}.rb-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rb-seconds{color:#f8fafc;font-size:2.15rem;font-weight:900;line-height:1;animation:1s ease-in-out infinite rbPulse}.rb-unit{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:.2rem;font-size:.76rem}.rb-status{color:#cbd5e1;text-align:center;margin:0;font-size:.95rem}@keyframes rbPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@media (max-width:640px){.rb-wrap{margin-top:.75rem}.rb-title{font-size:1.1rem}.rb-timer,.rb-ring-svg{width:132px;height:132px}}html.light .rb-title,html.light .rb-seconds{color:#0f172a}html.light .rb-status{color:#334155}html.light .rb-ring{stroke:var(--accent-blue);filter:drop-shadow(0 0 8px #1d4ed873)}html.light .rb-ring-bg{stroke:#0f172a1f}.icon-sidebar{flex-shrink:0;width:20px;height:20px}.icon-topbar{width:20px;height:20px}.icon-step{width:16px;height:16px}.topbar-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ioh-content-wrap{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ioh-topbar{background-color:var(--card-bg);border-bottom:1px solid #ffffff0d;flex-shrink:0;align-items:center;gap:4px;height:56px;padding:0 1rem;display:flex}html.light .ioh-topbar{border-bottom-color:#00000014;box-shadow:0 1px 3px #0000000a}.ioh-topbar-primary{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.ioh-main-content{-webkit-overflow-scrolling:touch;min-height:0;padding:1rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 4.5rem);scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 6rem);flex:1;overflow-y:auto}.sidebar-spacer{flex:1}@media (max-width:560px){.ioh-main-content{padding:.9rem .85rem calc(env(safe-area-inset-bottom,0px) + 6rem)}.ioh-main-content.ioh-main-content--with-save-row{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem)}}.modal-header-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{margin:0;font-size:.875rem;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.modal-body-text{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem}.modal-footer-row{justify-content:flex-end;gap:.5rem;display:flex}.offline-modal-box{text-align:center;width:min(100%,28rem);max-width:28rem;padding:1.35rem 1.2rem 1.2rem}.offline-modal-icon-wrap{color:#fca5a5;background:#ef444424;border-radius:999px;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:0 auto .85rem;display:flex}.offline-modal-icon{width:1.75rem;height:1.75rem}.offline-modal-title{margin-bottom:.45rem;font-size:1.05rem;font-weight:800}.offline-modal-text{margin-bottom:1.1rem}.offline-modal-actions{justify-content:center;display:flex}.offline-modal-btn{text-transform:none;letter-spacing:.02em;min-width:190px}html.light .offline-modal-icon-wrap{color:#b91c1c;background:#dc26261a}.color-red{color:#ef4444}.color-blue{color:#3b82f6}.color-green{color:#10b981}.color-amber{color:#f59e0b}.color-purple{color:#818cf8}.color-sky{color:#60a5fa}.color-muted{color:#94a3b8}.color-strong{color:var(--tz-info-value-strong)}@media (prefers-reduced-motion:reduce){.tz-info-blink-slow,.tz-info-blink-fast,.tz-bar-ovh-alert,.tz-status-item.is-alert-active .tz-status-icon,.tz-card .tz-ai-weights-guide,.tz-card .tz-ai-weights-link,.tz-card .tz-ai-weights-dot{transition:none!important;animation:none!important}}.ot-panel-text{text-transform:capitalize;text-align:center}.valve-status-text{text-align:center;color:var(--text-muted);font-size:.62rem}.input-w70{width:70px}.btn-full-mt{width:100%;margin-top:.25rem}.badge-full{width:100%}.badge-up-style{text-align:left;float:left;margin-top:25px;margin-bottom:25px;margin-right:10px;display:inline-block;position:static}.iv-bold{font-weight:600}.auth-logo-wrap{text-align:center;margin:1rem 0 .5rem}.auth-logo{object-fit:contain;width:70%;max-width:350px;height:auto;margin:0 auto;display:block}@media (max-width:560px){.auth-logo{width:70%;max-width:300px}.offline-modal-btn{width:100%}}.auth-btn-refresh{color:#fff;background:#ef4444;border-radius:8px;margin-right:10px;padding:.5rem 1rem;text-decoration:none;display:inline-block}.auth-btn-wifi{color:#fff;background:#10b981;border-radius:8px;padding:.5rem 1rem;text-decoration:none;display:inline-block}.topbar-title-wrap{flex:1;align-items:baseline;gap:.5rem;min-width:0;display:flex;overflow:hidden}.topbar-title-wrap .topbar-title{text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:.01em;min-width:0;color:var(--text-muted);flex:0 auto;font-size:.8rem;font-weight:700;overflow:hidden}.topbar-fw{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);opacity:.9;white-space:nowrap;flex:none;font-size:.68rem;font-weight:700}@media (max-width:640px){.topbar-fw{display:none}}.topbar-alert-link{width:36px;height:36px;color:var(--text-muted);justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.ioh-alert-wrap{position:relative}.ioh-alert-wrap .topbar-alert-link{cursor:pointer;background:0 0;border:none}.ioh-alert-wrap .topbar-alert-link:hover{color:#e2e8f0}.ioh-alert-dropdown{border-radius:10px;min-width:320px;max-width:min(92vw,420px);padding:.35rem;top:calc(100% + 4px);right:0}.ioh-alert-wrap .ioh-alert-dropdown{overflow:visible}.ioh-alert-dropdown:before{content:"";width:100%;height:8px;position:absolute;top:-8px;right:0}.ioh-alert-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.35rem .55rem .5rem;font-size:.66rem;font-weight:700}.ioh-alert-dropdown .ioh-alert-item{white-space:normal;border-left:3px solid #0000;border-radius:8px;align-items:flex-start;gap:.55rem;padding:.5rem .55rem;line-height:1.25;display:flex}.ioh-alert-dot{background:currentColor;border-radius:9999px;flex:0 0 8px;width:8px;height:8px;margin-top:.25rem}.ioh-alert-text{min-width:0;font-size:.75rem;display:block}.ioh-alert-dropdown .ioh-alert-item.is-danger{color:#fca5a5;background:#ef44441f;border-left-color:#ef4444bf}.ioh-alert-dropdown .ioh-alert-item.is-warning{color:#fcd34d;background:#f59e0b1f;border-left-color:#f59e0bbf}.ioh-alert-dropdown .ioh-alert-item.is-info{color:#93c5fd;background:#3b82f61f;border-left-color:#3b82f6bf}.ioh-alert-dropdown .ioh-alert-item.is-success{color:#6ee7b7;background:#10b9811f;border-left-color:#10b981bf}.ioh-alert-dropdown .ioh-alert-item:hover{background:#ffffff24}@media (hover:hover) and (pointer:fine){.ioh-alert-wrap:hover .ioh-alert-dropdown{display:block}}.ioh-alert-wrap.alert-open .ioh-alert-dropdown{display:block}@media (max-width:560px){.ioh-alert-dropdown{width:auto;min-width:0;max-width:none;position:fixed;top:56px;left:3vw;right:3vw}}.topbar-cloud-link{justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;display:flex}.notif-badge{color:#fff;background:#ef4444;border-radius:9999px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 2px;font-size:9px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.pos-relative{position:relative}html.light .ioh-alert-wrap .topbar-alert-link:hover{color:#0f172a}html.light .ioh-alert-dropdown .ioh-alert-item.is-danger{color:#b91c1c;background:#dc26261a;border-left-color:#dc26268c}html.light .ioh-alert-dropdown .ioh-alert-item.is-warning{color:#92400e;background:#d977061f;border-left-color:#d977068c}html.light .ioh-alert-dropdown .ioh-alert-item.is-info{color:#1d4ed8;background:#2563eb1c;border-left-color:#2563eb80}html.light .ioh-alert-dropdown .ioh-alert-item.is-success{color:#047857;background:#0596691c;border-left-color:#05966980}html.light .ioh-alert-dropdown .ioh-alert-item:hover{background:#0000000d}.cloud-ok{color:#10b981}.cloud-sync{color:#f59e0b}.cloud-off{color:#ef4444}.valve-display{justify-content:center;align-items:center;margin-top:.35rem;display:flex}.valve-svg{width:44px;height:44px;display:block}.progress-tall{height:24px}.upload-progress-bar{color:#fff;text-align:center;width:0}.btn-settings-link{float:left;margin-right:15px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}