/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Saira:wght@500;700;800&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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}}}@layer theme{:host,:root{--font-sans:var(--font-geist-sans,"Geist",system-ui,sans-serif);--font-mono:var(--font-geist-mono,"Geist Mono",ui-monospace,monospace);--color-teal-300:oklch(85.5% .138 181.071);--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-teal-700:oklch(51.1% .096 186.391);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--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);--font-brand:var(--font-saira,"Saira",system-ui,sans-serif)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.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}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-\[2px\]{margin-top:2px}.mt-\[4px\]{margin-top:4px}.mt-\[6px\]{margin-top:6px}.mt-\[20px\]{margin-top:20px}.mr-\[2px\]{margin-right:2px}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-\[10px\]{margin-bottom:10px}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-\[5px\]{height:5px}.h-\[14px\]{height:14px}.h-\[16px\]{height:16px}.h-\[44px\]{height:44px}.h-full{height:100%}.w-\[5px\]{width:5px}.w-\[14px\]{width:14px}.w-\[16px\]{width:16px}.w-\[44px\]{width:44px}.w-full{width:100%}.max-w-\[90px\]{max-width:90px}.max-w-\[120px\]{max-width:120px}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[pulse-ok_2s_ease-in-out_infinite\]{animation:pulse-ok 2s ease-in-out infinite}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[2px\]{gap:2px}.gap-\[4px\]{gap:4px}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[8px\]{gap:8px}.gap-\[10px\]{gap:10px}.gap-\[12px\]{gap:12px}.gap-\[16px\]{gap:16px}.gap-\[20px\]{gap:20px}.gap-\[28px\]{gap:28px}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[4px\]{border-radius:4px}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--border\)\]{border-color:var(--border)}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.bg-\[var\(--dim\)\]{background-color:var(--dim)}.bg-\[var\(--status-error\)\]{background-color:var(--status-error)}.bg-\[var\(--status-ok\)\]{background-color:var(--status-ok)}.bg-\[var\(--surface-raised\)\]{background-color:var(--surface-raised)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.object-cover{object-fit:cover}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-\[6px\]{padding-inline:6px}.px-\[8px\]{padding-inline:8px}.px-\[14px\]{padding-inline:14px}.py-6{padding-block:calc(var(--spacing) * 6)}.py-\[2px\]{padding-block:2px}.py-\[4px\]{padding-block:4px}.py-\[7px\]{padding-block:7px}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-\[16px\]{padding-left:16px}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-\[0\.5px\]{--tw-tracking:.5px;letter-spacing:.5px}.tracking-\[1\.5px\]{--tw-tracking:1.5px;letter-spacing:1.5px}.tracking-\[1px\]{--tw-tracking:1px;letter-spacing:1px}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-\[\#60a5fa\]{color:#60a5fa}.text-\[\#a78bfa\]{color:#a78bfa}.text-\[\#f87171\]{color:#f87171}.text-\[\#f97316\]{color:#f97316}.text-\[var\(--brand\)\]{color:var(--brand)}.text-\[var\(--dim\)\]{color:var(--dim)}.text-\[var\(--fg\)\]{color:var(--fg)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--status-error\)\]{color:var(--status-error)}.text-\[var\(--status-ok\)\]{color:var(--status-ok)}.text-\[var\(--status-warn\)\]{color:var(--status-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.accent-\[var\(--brand\)\]{accent-color:var(--brand)}.opacity-50{opacity:.5}.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}.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,)}.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-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))}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:border-\[var\(--brand\)\]:hover{border-color:var(--brand)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-\[var\(--brand\)\]:hover{color:var(--brand)}}}:root{--color-n-50:#f6f8fa;--color-n-100:#e6edf3;--color-n-200:#c9d4de;--color-n-300:#8b9aaa;--color-n-400:#6e7a88;--color-n-500:#3d4a58;--color-n-600:#2a3340;--color-n-700:#1f2630;--color-n-800:#161b22;--color-n-900:#0e1116;--color-teal-200:#b3e8e8;--color-teal-300:#7dd4d4;--color-teal-400:#4dc0c0;--color-teal-500:#3ba7a7;--color-teal-600:#2d8a8a;--color-teal-700:#236e6e;--color-status-green:#3fb950;--color-status-amber:#f0b429;--color-status-red:#d9534f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--transition:.2s cubic-bezier(.4,0,.2,1)}:root,[data-theme=dark]{--bg:#0e1116;--surface:#161b22;--surface-raised:#1f2630;--surface-hover:#2a3340;--border:#e6edf314;--border-strong:#e6edf329;--fg:#e6edf3;--muted:#8b9aaa;--dim:#6e7a88;--brand:#3ba7a7;--brand-hover:#4dc0c0;--brand-glow:#3ba7a740;--brand-glow-str:#3ba7a773;--status-ok:#3fb950;--status-warn:#f0b429;--status-error:#d9534f;--shadow-card:0 8px 32px #00000080;--shadow-glow:0 0 20px #3ba7a759;--cat-infrastructure:var(--brand);--cat-smart-home:#fb923c;--cat-media:#a855f7;--cat-tools:#f59e0b;--cat-external:#60a5fa}[data-theme=light]{--bg:#f6f8fa;--surface:#fff;--surface-raised:#e6edf3;--surface-hover:#c9d4de;--border:#0e111614;--border-strong:#0e111624;--fg:#0e1116;--muted:#3d4a58;--dim:#6e7a88;--brand:#0f766e;--brand-hover:#0d6b63;--brand-glow:#0f766e26;--brand-glow-str:#0f766e4d;--status-ok:#3fb950;--status-warn:#f0b429;--status-error:#d9534f;--shadow-card:0 2px 12px #00000014;--shadow-glow:0 0 12px #0f766e4d;--cat-infrastructure:var(--brand);--cat-smart-home:#ea580c;--cat-media:#7c3aed;--cat-tools:#d97706;--cat-external:#2563eb}[data-theme=terminal]{--bg:#0a0d0a;--surface:#0f130f;--surface-raised:#141a14;--surface-hover:#1a221a;--border:#3fb9501a;--border-strong:#3fb95033;--fg:#c8ffc8;--muted:#7aab7a;--dim:#4a7a4a;--brand:#3fb950;--brand-hover:#57d468;--brand-glow:#3fb95033;--brand-glow-str:#3fb95066;--status-ok:#3fb950;--status-warn:#f0b429;--status-error:#d9534f;--shadow-card:0 4px 24px #0009;--shadow-glow:0 0 18px #3fb95066;--cat-infrastructure:var(--brand);--cat-smart-home:#fb923c;--cat-media:#a855f7;--cat-tools:#f0b429;--cat-external:#60a5fa}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}@supports (color:color-mix(in lab,red,red)){*{scrollbar-color:color-mix(in srgb,var(--border-strong) 80%,transparent) transparent}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--brand) 40%,var(--border-strong))}}::-webkit-scrollbar-thumb:hover{background-clip:padding-box}body,html{-webkit-text-size-adjust:100%;width:100%}body,html{overflow-x:hidden}body{font-family:var(--font-sans,"Geist",system-ui,sans-serif);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;min-height:100vh;position:relative}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}img,svg{max-width:100%;display:block}body:before{content:"";background:radial-gradient(ellipse 80% 60% at 15% 20%,var(--brand),transparent 60%),radial-gradient(ellipse 60% 50% at 85% 85%,#00776e0d,transparent 55%);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){body:before{background:radial-gradient(ellipse 80% 60% at 15% 20%,color-mix(in srgb,var(--brand) 8%,transparent),transparent 60%),radial-gradient(ellipse 60% 50% at 85% 85%,color-mix(in srgb,var(--color-teal-700) 5%,transparent),transparent 55%)}}body:after,body:before{pointer-events:none;z-index:0}body:after{content:"";position:fixed;inset:0}html[data-bg-pattern=mesh] body:after{background-image:linear-gradient(#3ba7a706 1px,#0000 0),linear-gradient(90deg,#3ba7a706 1px,#0000 0);background-size:48px 48px}html[data-bg-pattern=dots] body:after{background-image:radial-gradient(#3ba7a70f 1px,#0000 0);background-size:18px 18px}html[data-bg-pattern=stripes] body:after{background-image:repeating-linear-gradient(45deg,#3ba7a708 0 1px,#0000 1px 12px)}@keyframes pulse-ok{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-ok) 60%,transparent)}50%{box-shadow:0 0 0 4px #0000}}@keyframes pulse-warn{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-warn) 60%,transparent)}50%{box-shadow:0 0 0 4px #0000}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%,to{transform:translate(-100%)rotate(45deg)}50%{transform:translate(100%)rotate(45deg)}}.app-layout{z-index:1;flex-direction:column;width:100%;max-width:1600px;min-height:100vh;margin:0 auto;padding:0 24px 24px;display:flex;position:relative}.app-layout>.main-content{flex:auto}.app-header{border-bottom:1px solid var(--border);grid-template-columns:auto auto 1fr auto;align-items:center;gap:24px;margin-bottom:28px;padding:20px 0 24px;display:grid;position:relative}.app-header:after{content:"";background:linear-gradient(90deg,var(--brand),transparent);width:240px;height:1px;position:absolute;bottom:-1px;left:0}.logo-wrap{gap:14px;text-decoration:none}.logo-mark-box,.logo-wrap{flex-shrink:0;align-items:center;display:flex}.logo-mark-box{background:linear-gradient(135deg,var(--color-teal-600),var(--color-teal-400));width:42px;height:42px;box-shadow:0 0 20px var(--brand-glow-str);border-radius:10px;justify-content:center;position:relative;overflow:hidden}.logo-mark-shine{background:linear-gradient(135deg,#fff3,#0000 60%);animation:shimmer 4s ease-in-out infinite;position:absolute;inset:0}.logo-name{letter-spacing:2px;background:linear-gradient(90deg,var(--fg) 60%,var(--color-teal-300));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:800;line-height:1.2}.logo-sub{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:3px;text-transform:uppercase;margin-top:2px;font-size:9px}.board-switcher-trigger{border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .14s,border-color .14s;display:flex}.board-switcher-trigger:hover{background:var(--surface-2,var(--brand))}@supports (color:color-mix(in lab,red,red)){.board-switcher-trigger:hover{background:var(--surface-2,color-mix(in srgb,var(--brand) 8%,var(--surface)))}}.board-switcher-trigger:hover{border-color:var(--brand)}.board-switcher-name{text-overflow:ellipsis;white-space:nowrap;min-width:40px;max-width:220px;overflow:hidden}.board-switcher-chevron{opacity:.5;flex-shrink:0}.board-switcher-menu{background:var(--surface);border:1px solid var(--border);z-index:200;border-radius:10px;min-width:180px;padding:6px;animation:fadeSlideDown .12s;box-shadow:0 8px 24px #00000040}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.board-switcher-item{color:var(--fg);cursor:pointer;border-radius:7px;outline:none;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.board-switcher-item:hover,.board-switcher-item[data-highlighted]{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.board-switcher-item:hover,.board-switcher-item[data-highlighted]{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.board-switcher-item:hover,.board-switcher-item[data-highlighted]{color:var(--fg)}.board-switcher-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;display:flex}.board-switcher-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.board-switcher-home-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--brand);border:1px solid var(--brand);opacity:.9;background:var(--brand);border-radius:4px;padding:1px 5px;font-size:9px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.board-switcher-home-badge{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.board-switcher-home-badge{flex-shrink:0}.board-switcher-sep{background:var(--border);height:1px;margin:5px 4px}.board-switcher-item--add{color:var(--dim);font-size:11px}.board-switcher-item--add:hover,.board-switcher-item--add[data-highlighted]{color:var(--fg)}.app-nav{justify-content:center;align-items:center;gap:6px;display:flex}.nav-pill{font-family:var(--font-mono,ui-monospace);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:1px solid var(--border);color:var(--muted);white-space:nowrap;background:0 0;border-radius:24px;align-items:center;gap:5px;padding:7px 18px;font-size:11px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.nav-pill:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.nav-pill:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.nav-pill:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.nav-pill:hover{border-color:color-mix(in srgb,var(--brand) 40%,transparent)}}.nav-pill:hover{color:var(--brand-hover)}.nav-pill-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.nav-pill-active{background:color-mix(in srgb,var(--brand) 15%,transparent)}}.nav-pill-active{border-color:var(--brand);color:var(--brand-hover)}.nav-icon-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.nav-icon-btn:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.nav-icon-btn:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.nav-icon-btn:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.nav-icon-btn:hover{border-color:color-mix(in srgb,var(--brand) 40%,transparent)}}.nav-icon-btn:hover{color:var(--brand-hover)}.nav-icon-btn-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.nav-icon-btn-active{background:color-mix(in srgb,var(--brand) 15%,transparent)}}.nav-icon-btn-active{border-color:var(--brand);color:var(--brand-hover)}.admin-gear-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--dim);cursor:pointer;border-radius:11px;flex-shrink:0;place-items:center;text-decoration:none;transition:all .22s cubic-bezier(.4,0,.2,1);display:inline-grid}.admin-gear-btn svg{transition:transform .36s cubic-bezier(.4,0,.2,1)}.admin-gear-btn:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-gear-btn:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.admin-gear-btn:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-gear-btn:hover{border-color:color-mix(in srgb,var(--brand) 40%,transparent)}}.admin-gear-btn:hover{color:var(--fg)}.admin-gear-btn:hover svg{transform:rotate(45deg)}.admin-gear-btn-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-gear-btn-active{background:color-mix(in srgb,var(--brand) 15%,transparent)}}.admin-gear-btn-active{border-color:var(--brand);color:var(--brand-hover)}.logo-mark-img{z-index:1;filter:brightness(0)invert();position:relative}.header-search-trigger{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);height:34px;color:var(--dim);cursor:pointer;flex-shrink:0;align-items:center;gap:10px;width:240px;padding:0 12px;font-size:12px;transition:border-color .18s,background .18s,color .18s;display:inline-flex}.header-search-trigger:focus-visible,.header-search-trigger:hover{border-color:var(--brand);color:var(--fg);outline:none}.header-search-trigger-text{text-align:left;color:var(--dim);flex:1}.header-search-trigger-kbd{font-family:var(--font-mono,ui-monospace,monospace);border:1px solid var(--border);background:var(--surface);border-radius:3px;padding:2px 6px;font-size:10px}@supports (color:color-mix(in lab,red,red)){.header-search-trigger-kbd{background:color-mix(in srgb,var(--surface) 60%,transparent)}}.header-search-trigger-kbd{color:var(--dim)}.header-search-wrap{flex-shrink:0;position:relative}.header-search-box{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;width:240px;padding:7px 12px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.header-search-box-open,.header-search-box:focus-within{border-color:var(--brand);box-shadow:none}.header-search-icon{color:var(--dim);flex-shrink:0}.header-search-input{color:var(--fg);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:12px}.header-search-input::placeholder{color:var(--dim)}.header-search-clear{cursor:pointer;color:var(--dim);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;transition:color .15s;display:flex}.header-search-clear:hover{color:var(--fg)}.header-search-dropdown{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);z-index:200;width:360px;animation:fadeUp .15s both;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 32px #0000004d}.header-search-section{padding:6px 4px 2px}.header-search-section+.header-search-section{border-top:1px solid var(--border);margin-top:2px}.header-search-section-label{font-family:var(--font-mono,ui-monospace);letter-spacing:2px;text-transform:uppercase;color:var(--dim);padding:4px 10px;font-size:9px;font-weight:600;display:block}.header-search-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 10px;transition:background .12s;display:flex}.header-search-item-active,.header-search-item:hover{background:var(--surface-raised)}.header-search-item-icon{color:var(--brand);flex-shrink:0;display:flex}.header-search-item-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.header-search-item-sub{font-size:10px}.header-search-item-kind,.header-search-item-sub{font-family:var(--font-mono,ui-monospace);color:var(--dim);flex-shrink:0}.header-search-item-kind{letter-spacing:1px;text-transform:uppercase;font-size:9px}.header-search-item-hotkey{font-family:var(--font-mono,ui-monospace);background:var(--surface-raised);border:1px solid var(--border);color:var(--muted);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px}.header-search-empty{color:var(--dim);padding:12px 14px;font-size:12px}.header-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.live-clock{text-align:right;border-left:1px solid var(--border);font-feature-settings:"tnum" 1;flex-shrink:0;min-width:92px;padding-left:10px}.live-clock-time{font-family:var(--font-mono,ui-monospace,monospace);color:var(--fg);letter-spacing:.5px;font-variant-numeric:tabular-nums;font-size:16px;font-weight:500;line-height:1.05}.live-clock-date{font-family:var(--font-mono,ui-monospace,monospace);color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:500}.main-grid{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}.main-col{gap:20px;min-width:0}.main-col,.sidebar-col{flex-direction:column;display:flex}.sidebar-col{gap:16px}@media (max-width:1100px){.main-grid{grid-template-columns:1fr}.sidebar-col{order:2}}@media (max-width:768px){.app-layout{padding:0 12px 16px}.app-header{grid-template-columns:1fr auto;grid-template-areas:"logo right""nav nav";gap:12px;margin-bottom:18px;padding:12px 0 16px}.logo-wrap{grid-area:logo}.app-nav{scrollbar-width:thin;grid-area:nav;justify-content:flex-start;padding-bottom:4px;overflow-x:auto}.app-nav::-webkit-scrollbar{height:2px}.header-right{grid-area:right;gap:8px}.header-search-box{width:160px!important}.header-search-box-open,.header-search-box:focus-within{width:220px!important}.board-switcher{display:none}.infra-grid{grid-template-columns:1fr}.service-grid{--svc-cols:2!important}.cmd-row-top{flex-direction:column;align-items:flex-start}.cmd-quick-actions{width:100%;padding-bottom:4px;overflow-x:auto}.app-footer{flex-wrap:wrap;padding:12px 4px}.footer-version{width:100%;margin-left:0}}@media (max-width:480px){.service-grid{--svc-cols:1!important}.header-search-box{width:130px!important}.header-search-box-open,.header-search-box:focus-within{width:180px!important}.header-search-dropdown{width:calc(100vw - 24px);right:-12px}.modal-shell{border-radius:0!important;width:100%!important;max-width:none!important;height:100%!important;top:0!important;left:0!important;transform:none!important}}.service-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:1fr;gap:12px;display:grid}.service-grid .svc-card{aspect-ratio:auto;min-height:0}@media (max-width:1280px){.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1100px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.service-grid{grid-template-columns:1fr}.service-grid .svc-card{aspect-ratio:auto}}.service-empty{text-align:center;color:var(--dim);border:1px dashed var(--border);border-radius:var(--radius-md);padding:24px;font-size:11px}.section-kicker{font-family:var(--font-mono,ui-monospace);text-transform:uppercase;letter-spacing:1.8px;color:var(--brand);margin-bottom:6px;font-size:10px;font-weight:600}.pinned-services{margin-bottom:28px}.pinned-services-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.pinned-services-title{letter-spacing:.2px;color:var(--fg);margin:0;font-size:19px;font-weight:700}.pinned-services-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pinned-services-all-link{font-family:var(--font-mono,ui-monospace);letter-spacing:.5px;color:var(--dim);border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-size:11px;font-weight:600;text-decoration:none;transition:all .18s cubic-bezier(.4,0,.2,1);display:inline-flex}.pinned-services-all-link:hover{color:var(--brand-hover);border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.pinned-services-all-link:hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent)}}.pinned-services-all-link:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.pinned-services-all-link:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:11px;flex-wrap:wrap;align-items:center;gap:4px;max-width:100%;padding:4px;display:inline-flex}.filter-bar-block{margin-bottom:16px;display:flex}.filter-bar-btn{color:var(--dim);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 12px;font-size:11.5px;font-weight:600;transition:all .18s cubic-bezier(.4,0,.2,1)}.filter-bar-btn:hover{color:var(--fg);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.filter-bar-btn:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}}.filter-bar-btn-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.filter-bar-btn-active{background:color-mix(in srgb,var(--brand) 15%,transparent)}}.filter-bar-btn-active{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.filter-bar-btn-active{border-color:color-mix(in srgb,var(--brand) 40%,transparent)}}.filter-bar-btn-active{color:var(--brand-hover);box-shadow:inset 0 1px #ffffff0f}.services-browser{padding-bottom:24px}.services-browser-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.services-browser-title{letter-spacing:.2px;color:var(--fg);margin:0;font-size:22px;font-weight:700}.services-browser-sub{color:var(--dim);max-width:720px;margin:6px 0 0;font-size:13px;line-height:1.55}.services-browser-search{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;transition:border-color .18s;display:flex}.services-browser-search:focus-within{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.services-browser-search:focus-within{border-color:color-mix(in srgb,var(--brand) 50%,transparent)}}.services-browser-search-icon{color:var(--brand);flex-shrink:0}.services-browser-search-input{min-width:0;color:var(--fg);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:13.5px}.services-browser-search-input::placeholder{color:var(--dim)}.services-browser-count{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.5px;flex-shrink:0;font-size:10.5px}.form-stack{flex-direction:column;gap:14px;display:flex}.widget-kind-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}@media (max-width:600px){.widget-kind-grid{grid-template-columns:1fr}}.conn-type-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}@media (max-width:600px){.conn-type-grid{grid-template-columns:1fr}}.conn-type-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;transition:var(--transition);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.conn-type-card:hover{border-color:var(--border-strong)}.conn-type-card-active{border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.conn-type-card-active{background:color-mix(in srgb,var(--brand) 8%,var(--surface-raised))}}.conn-type-card-active{box-shadow:0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.conn-type-card-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}}.conn-type-card>input[type=radio]{opacity:0;pointer-events:none;position:absolute}.conn-type-title{color:var(--fg);letter-spacing:.3px;font-size:12px;font-weight:700}.conn-type-desc{color:var(--muted);font-size:11px;line-height:1.5}.conn-type-desc code{font-family:var(--font-mono,ui-monospace);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:10px}.checkbox-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.checkbox-row>input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;flex-shrink:0}.checkbox-row>span{color:var(--muted);font-size:13px;line-height:1.4}.field-error{color:var(--status-error);margin-top:2px;font-size:11px}.admin-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:600px){.admin-grid-2{grid-template-columns:1fr}}.custom-css-editor{width:100%;min-height:360px;font-family:var(--font-mono,ui-monospace);resize:vertical;white-space:pre;tab-size:2;margin-bottom:12px;font-size:12px;line-height:1.5}.custom-css-warning{background:var(--status-warn);align-items:flex-start;gap:8px;padding:10px 14px;display:flex}@supports (color:color-mix(in lab,red,red)){.custom-css-warning{background:color-mix(in srgb,var(--status-warn) 8%,transparent)}}.custom-css-warning{border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.custom-css-warning{border:1px solid color-mix(in srgb,var(--status-warn) 22%,transparent)}}.custom-css-warning{border-radius:var(--radius-md);color:var(--muted);margin-bottom:14px;font-size:11px;line-height:1.5}.custom-css-warning>svg{color:var(--status-warn);flex-shrink:0;margin-top:1px}.toast-stack{z-index:100;pointer-events:none;flex-direction:column;max-width:calc(100vw - 40px);position:fixed;top:20px;right:20px}.toast,.toast-stack{gap:10px;display:flex}.toast{pointer-events:auto;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);align-items:flex-start;min-width:280px;max-width:420px;padding:12px 14px;animation:toast-in .22s cubic-bezier(.4,0,.2,1);box-shadow:0 12px 32px #00000073}.toast-closing{animation:toast-out .22s cubic-bezier(.4,0,.2,1) forwards}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.toast-success{border-left:3px solid var(--status-ok)}.toast-success .toast-icon{color:var(--status-ok)}.toast-error{border-left:3px solid var(--status-error)}.toast-error .toast-icon{color:var(--status-error)}.toast-info{border-left:3px solid var(--brand)}.toast-info .toast-icon{color:var(--brand)}.toast-icon{flex-shrink:0;margin-top:2px}.toast-text{flex:1;min-width:0}.toast-title{color:var(--fg);font-size:12px;font-weight:600;line-height:1.3}.toast-body{font-family:var(--font-mono,ui-monospace);color:var(--dim);word-break:break-word;margin-top:2px;font-size:10px;line-height:1.4}.toast-close{width:22px;height:22px;color:var(--dim);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-close:hover{background:var(--surface-hover);color:var(--fg)}.admin-hint{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.3px;margin-top:4px;font-size:9px}.admin-hint code{font-size:9px}.admin-hint code,.custom-css-warning code{background:var(--surface-raised);border:1px solid var(--border);border-radius:3px;padding:1px 5px}.custom-css-warning code{font-family:var(--font-mono,ui-monospace);font-size:10px}.infra-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:760px){.infra-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);padding:18px;animation:fadeUp .4s both;position:relative;overflow:hidden}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-1px)}.infra-card .server-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.server-name-wrap .name{letter-spacing:.5px;color:var(--fg);font-size:13px;font-weight:700}.server-name-wrap .ip{color:var(--dim);letter-spacing:.5px;margin-top:2px}.badge,.server-name-wrap .ip{font-family:var(--font-mono,ui-monospace);font-size:9px}.badge{letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius-sm);flex-shrink:0;padding:3px 7px}.badge-teal{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.badge-teal{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.badge-teal{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.badge-teal{border:1px solid color-mix(in srgb,var(--brand) 28%,transparent)}}.badge-teal{color:var(--brand-hover)}.badge-dim{background:var(--color-n-400)}@supports (color:color-mix(in lab,red,red)){.badge-dim{background:color-mix(in srgb,var(--color-n-400) 10%,transparent)}}.badge-dim{border:1px solid var(--border);color:var(--dim)}.stat{margin-bottom:12px}.stat:last-child{margin-bottom:0}.stat-head{font-family:var(--font-mono,ui-monospace);color:var(--dim);justify-content:space-between;margin-bottom:5px;font-size:10px;display:flex}.stat-head span:last-child{color:var(--muted);font-weight:500}.stat-meta{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.3px;opacity:.7;font-size:9px}.track{background:var(--surface-raised);height:3px;overflow:visible}.fill,.track{border-radius:2px;position:relative}.fill{height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1)}.fill:after{content:"";background:inherit;border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;right:-1px;box-shadow:0 0 8px}.fill-teal{background:linear-gradient(90deg,var(--color-teal-700),var(--color-teal-400))}.fill-teal2{background:linear-gradient(90deg,var(--color-teal-600),var(--color-teal-300))}.fill-green{background:linear-gradient(90deg,#2a7a3b,var(--status-ok))}.fill-amber{background:linear-gradient(90deg,#8b6200,var(--status-warn))}.fill-red{background:linear-gradient(90deg,#6b1f1d,var(--status-error))}.infra-error{font-family:var(--font-mono,ui-monospace);color:var(--status-error);background:var(--status-error);margin-top:10px;padding:6px 10px;font-size:10px}@supports (color:color-mix(in lab,red,red)){.infra-error{background:color-mix(in srgb,var(--status-error) 8%,transparent)}}.infra-error{border:1px solid var(--status-error)}@supports (color:color-mix(in lab,red,red)){.infra-error{border:1px solid color-mix(in srgb,var(--status-error) 22%,transparent)}}.infra-error{border-radius:var(--radius-sm);word-break:break-word}.server-chips{border-top:1px solid var(--border);flex-wrap:wrap;gap:5px;margin-top:14px;padding-top:12px;display:flex}.chip{font-family:var(--font-mono,ui-monospace);background:var(--surface-raised);border:1px solid var(--border);color:var(--dim);letter-spacing:.3px;border-radius:4px;padding:2px 7px;font-size:9px}.ha-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;animation:fadeUp .5s both;position:relative;overflow:hidden}.ha-card:before{content:"";background:linear-gradient(180deg,var(--color-teal-400),var(--color-teal-700));width:3px;position:absolute;top:0;bottom:0;left:0}.ha-head{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:14px;padding-left:10px}.ha-head,.ha-title{align-items:center;display:flex}.ha-title{color:var(--fg);gap:10px;min-width:0;font-size:13px;font-weight:700}.ha-title>.ha-location-name{margin-left:2px}.ha-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;margin-left:10px;display:grid}.ha-stat{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:11px}.ha-val{color:var(--brand-hover);letter-spacing:-.5px;font-size:22px;font-weight:500;line-height:1}.ha-lbl,.ha-val{font-family:var(--font-mono,ui-monospace)}.ha-lbl{color:var(--dim);letter-spacing:1.5px;text-transform:uppercase;margin-top:3px;font-size:9px}.ha-tags{flex-wrap:wrap;gap:5px;margin-left:10px;display:flex}.tag{font-family:var(--font-mono,ui-monospace);background:var(--brand);border-radius:4px;padding:2px 7px;font-size:9px}@supports (color:color-mix(in lab,red,red)){.tag{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.tag{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.tag{border:1px solid color-mix(in srgb,var(--brand) 18%,transparent)}}.tag{color:var(--color-teal-300);letter-spacing:.3px}.net-card{flex-direction:column;height:100%;min-height:0;padding:16px;display:flex}.net-card>.section-label{flex-shrink:0}.net-list{flex-direction:column;gap:6px;display:flex}.net-list-scroll{flex:1;min-height:0;overflow-y:auto}.net-row{border-radius:var(--radius-sm);background:var(--surface-raised);transition:var(--transition);border:1px solid #0000;justify-content:space-between;align-items:center;padding:8px 10px;text-decoration:none;display:flex}.net-row:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.net-row:hover{border-color:color-mix(in srgb,var(--brand) 20%,transparent)}}.net-row:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.net-row:hover{background:color-mix(in srgb,var(--brand) 5%,var(--surface-raised))}}.net-left{align-items:center;gap:8px;display:flex}.net-icon{flex-shrink:0;font-size:12px}.net-label{color:var(--fg);font-size:11px;font-weight:600}.net-sub{color:var(--dim);margin-top:1px}.nbadge,.net-sub{font-family:var(--font-mono,ui-monospace);font-size:9px}.nbadge{letter-spacing:.5px;border-radius:4px;padding:2px 7px}.nb-ok{background:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.nb-ok{background:color-mix(in srgb,var(--status-ok) 10%,transparent)}}.nb-ok{color:var(--status-ok);border:1px solid var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.nb-ok{border:1px solid color-mix(in srgb,var(--status-ok) 22%,transparent)}}.nb-warn{background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.nb-warn{background:color-mix(in srgb,var(--status-warn) 10%,transparent)}}.nb-warn{color:var(--status-warn);border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.nb-warn{border:1px solid color-mix(in srgb,var(--status-warn) 22%,transparent)}}.storage-layout{gap:14px;display:flex}.stor-bars{flex-shrink:0;gap:8px;display:flex}.stor-col{text-align:center}.stor-track{background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;flex-direction:column-reverse;width:32px;height:72px;display:flex;position:relative;overflow:hidden}.stor-fill{border-radius:3px;width:100%;transition:height 1.2s cubic-bezier(.4,0,.2,1)}.stor-fill-teal{background:linear-gradient(180deg,var(--color-teal-400),var(--color-teal-700))}.stor-fill-dim{background:linear-gradient(180deg,var(--color-n-400),var(--color-n-600))}.stor-name{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.5px;text-transform:uppercase;margin-top:5px;font-size:8px}.stor-info{flex-direction:column;flex:1;justify-content:center;gap:7px;display:flex}.stor-row{font-family:var(--font-mono,ui-monospace);justify-content:space-between;font-size:10px;display:flex}.stor-key{color:var(--dim)}.stor-val{color:var(--muted);font-weight:500}.stor-val.good{color:var(--brand-hover)}.system-ok{border-radius:var(--radius-sm);background:var(--status-ok);align-items:center;gap:6px;padding:5px 10px;display:flex}@supports (color:color-mix(in lab,red,red)){.system-ok{background:color-mix(in srgb,var(--status-ok) 8%,transparent)}}.system-ok{border:1px solid var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.system-ok{border:1px solid color-mix(in srgb,var(--status-ok) 20%,transparent)}}.system-ok{font-family:var(--font-mono,ui-monospace);color:var(--status-ok);letter-spacing:1px;font-size:10px}.pulse-dot{background:var(--status-ok);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:pulse-ok 2s ease-in-out infinite}.system-warn{background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.system-warn{background:color-mix(in srgb,var(--status-warn) 10%,transparent)}}.system-warn{border-color:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.system-warn{border-color:color-mix(in srgb,var(--status-warn) 22%,transparent)}}.system-warn{color:var(--status-warn)}.system-warn .pulse-dot{background:var(--status-warn);animation:pulse-warn 2s ease-in-out infinite}.system-error{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.system-error{background:color-mix(in srgb,var(--status-error) 10%,transparent)}}.system-error{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.system-error{border-color:color-mix(in srgb,var(--status-error) 22%,transparent)}}.system-error{color:var(--status-error)}.system-error .pulse-dot{background:var(--status-error)}.qlink-icon{font-size:12px}.footer-version{color:var(--dim);letter-spacing:1px;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:9px}.footer-version,.section-label{font-family:var(--font-mono,ui-monospace)}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;margin-bottom:16px;font-size:11px;font-weight:600;display:flex}.section-label:after{content:"";background:var(--border);flex:1;height:1px}.svc-card{--svc-color:var(--brand);background:linear-gradient(180deg,#ffffff0d,#ffffff06),var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;gap:12px;min-height:142px;padding:14px 16px 14px 18px;text-decoration:none;transition:all .22s cubic-bezier(.4,0,.2,1);animation:fadeUp .5s both;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0a}.svc-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.svc-body{flex:auto;min-width:0}.svc-url{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.svc-foot{align-items:center;gap:7px;min-width:0;display:flex}.svc-foot .svc-arrow{margin-left:auto}.svc-category-tag,.svc-state{border:1px solid var(--border);background:var(--surface-raised);border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:4px 8px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.svc-category-tag,.svc-state{background:color-mix(in srgb,var(--surface-raised) 80%,transparent)}}.svc-category-tag,.svc-state{color:var(--muted);font-family:var(--font-mono,ui-monospace);white-space:nowrap;font-size:10px}.svc-state-online{color:var(--status-ok)}.svc-state-offline{color:var(--status-error)}.svc-state-unknown{color:var(--dim)}.svc-category-tag{color:var(--muted);border-radius:6px}.svc-card:before{content:"";background:var(--svc-color);opacity:.9;width:3px;transition:opacity .22s,width .22s;position:absolute;inset:0 auto 0 0}.svc-card:hover{border-color:var(--border-strong);box-shadow:0 1px 0 #ffffff0a inset,0 8px 24px var(--svc-color);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.svc-card:hover{box-shadow:0 1px 0 #ffffff0a inset,0 8px 24px color-mix(in srgb,var(--svc-color) 22%,transparent)}}.svc-card:hover:before{opacity:1;width:4px}.svc-card-line{display:none}.svc-d1{animation-delay:40ms}.svc-d2{animation-delay:70ms}.svc-d3{animation-delay:.1s}.svc-d4{animation-delay:.13s}.svc-d5{animation-delay:.16s}.svc-d6{animation-delay:.19s}.svc-d7{animation-delay:.22s}.svc-d8{animation-delay:.25s}.svc-d9{animation-delay:.28s}.svc-d10{animation-delay:.31s}.svc-d11{animation-delay:.34s}.svc-d12{animation-delay:.37s}.svc-d13{animation-delay:.4s}.svc-d14{animation-delay:.43s}.svc-d15{animation-delay:.46s}.svc-d16{animation-delay:.49s}.svc-d17{animation-delay:.52s}.icon-infrastructure{background:#00baa72e}@supports (color:color-mix(in lab,red,red)){.icon-infrastructure{background:color-mix(in srgb,var(--color-teal-500) 18%,transparent)}}.icon-infrastructure{box-shadow:inset 0 0 0 1px #00baa747}@supports (color:color-mix(in lab,red,red)){.icon-infrastructure{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-teal-500) 28%,transparent)}}.icon-smart-home{background:#fb923c24;box-shadow:inset 0 0 0 1px #fb923c3d}.icon-media{background:#a78bfa24;box-shadow:inset 0 0 0 1px #a78bfa3d}.icon-tools{background:#22d3ee1f;box-shadow:inset 0 0 0 1px #22d3ee38}.icon-external{background:#10b9811f;box-shadow:inset 0 0 0 1px #10b98138}.svc-arrow{background:var(--brand);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}@supports (color:color-mix(in lab,red,red)){.svc-arrow{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.svc-arrow{color:var(--brand-hover)}.svc-card:hover .svc-arrow{background:var(--color-teal-600);color:#fff}.widget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 20px 20px 26px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeUp .5s both;position:relative;overflow:hidden}.widget-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-2px)}.widget-accent{display:none}.app-footer{border-top:1px solid var(--border);align-items:center;gap:8px;width:100%;max-width:1500px;margin:24px auto 0;padding:18px 4px 8px;display:flex;overflow-x:auto}.footer-label{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin-right:8px;font-size:9px}.footer-label,.qlink{white-space:nowrap;flex-shrink:0}.qlink{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.qlink:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.qlink:hover{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}}.qlink:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.qlink:hover{border-color:color-mix(in srgb,var(--brand) 40%,transparent)}}.qlink:hover{color:var(--brand-hover);transform:translateY(-1px)}.app-footer-edit{outline:2px dashed var(--brand)}@supports (color:color-mix(in lab,red,red)){.app-footer-edit{outline:2px dashed color-mix(in srgb,var(--brand) 35%,transparent)}}.app-footer-edit{outline-offset:6px;border-radius:6px}.qlink-draggable{background:var(--surface);border:1px solid var(--border);color:var(--muted);white-space:nowrap;cursor:grab;touch-action:none;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;transition:box-shadow .15s,opacity .15s;display:inline-flex}.qlink-draggable:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.qlink-draggable:hover{border-color:color-mix(in srgb,var(--brand) 40%,transparent)}}.qlink-draggable:hover{color:var(--brand-hover)}.qlink-dragging{opacity:.5;cursor:grabbing;box-shadow:0 4px 16px var(--brand)}@supports (color:color-mix(in lab,red,red)){.qlink-dragging{box-shadow:0 4px 16px color-mix(in srgb,var(--brand) 20%,transparent)}}.qlink-dragging{z-index:50}.admin-layout{z-index:1;grid-template-rows:auto auto 1fr;width:100%;max-width:1600px;min-height:100vh;margin:0 auto;padding:24px 24px 40px;display:grid;position:relative}.admin-topbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:32px;padding-bottom:20px;display:flex;position:relative}.admin-topbar-logo-link{align-items:center;gap:10px;text-decoration:none;display:flex}.admin-topbar-logo-link:hover .admin-topbar-logo-name{color:var(--brand)}.admin-topbar-logo-mark{background:linear-gradient(135deg,var(--color-teal-600,var(--brand)),var(--color-teal-400,var(--brand-hover)));width:28px;height:28px;box-shadow:0 0 10px var(--brand-glow);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-topbar-logo-mark img{filter:brightness(0)invert()}.admin-topbar-logo-name{font-family:var(--font-mono,ui-monospace);letter-spacing:2px;text-transform:uppercase;color:var(--dim);transition:color var(--transition);font-size:10px}.admin-topbar-sep{color:var(--border-strong)}.admin-topbar-section{font-family:var(--font-mono,ui-monospace);letter-spacing:2px;text-transform:uppercase;color:var(--brand);font-size:10px}.admin-topbar:after{content:"";background:linear-gradient(90deg,var(--brand),var(--brand),transparent);width:240px;height:2px;position:absolute;bottom:-1px;left:0}@supports (color:color-mix(in lab,red,red)){.admin-topbar:after{background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 40%,transparent),transparent)}}.admin-topbar:after{border-radius:2px}.admin-body{grid-template-columns:220px 1fr;align-items:start;gap:24px;display:grid}.admin-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:2px;padding:8px;display:flex;position:sticky;top:24px}.admin-nav-link{border-radius:var(--radius-md);color:var(--muted);letter-spacing:.3px;border:1px solid #0000;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.admin-nav-link:hover{background:var(--surface-raised);color:var(--fg);border-color:var(--border)}.admin-nav-link-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-nav-link-active{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.admin-nav-link-active{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-nav-link-active{border-color:color-mix(in srgb,var(--brand) 25%,transparent)}}.admin-nav-link-active{color:var(--brand-hover)}.admin-nav-group{flex-direction:column;display:flex}.admin-nav-group-header{cursor:pointer;text-align:left;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:6px 10px 4px;transition:background .15s;display:flex}.admin-nav-group-header:hover{background:var(--surface-raised)}.admin-nav-group-label{font-family:var(--font-mono,ui-monospace);letter-spacing:2px;text-transform:uppercase;color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:600;overflow:hidden}.admin-nav-group-chevron{color:var(--dim);flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1)}.admin-nav-group-header-hint .admin-nav-group-label{color:var(--brand)}.admin-nav-group-items{flex-direction:column;gap:1px;padding-bottom:4px;display:flex}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;animation:fadeUp .4s both}.admin-card-title{color:var(--fg);letter-spacing:.5px;margin-bottom:4px;font-size:18px;font-weight:700}.admin-card-sub{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:28px;font-size:10px}.admin-divider{background:var(--border);height:1px;margin:24px 0}.about-page{animation:fadeUp .4s both}.about-hero{align-items:center;gap:18px;margin-bottom:28px;display:flex}.about-hero-mark{background:linear-gradient(135deg,var(--color-teal-600,var(--brand)),var(--color-teal-400,var(--brand-hover)));width:56px;height:56px;box-shadow:0 0 20px var(--brand-glow,var(--brand));border-radius:12px;flex-shrink:0;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.about-hero-mark{box-shadow:0 0 20px var(--brand-glow,color-mix(in srgb,var(--brand) 25%,transparent))}}.about-hero-mark-img{filter:brightness(0)invert()}.about-hero-title{letter-spacing:.5px;color:var(--fg);margin:0 0 4px;font-size:22px;font-weight:800}.about-hero-tagline{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:11px}.about-section{flex-direction:column;gap:12px;display:flex}.about-section-label{text-transform:uppercase;letter-spacing:1.6px;color:var(--dim);align-items:center;gap:6px;margin:0;font-size:11.5px;font-weight:600;display:inline-flex}.about-heart{color:var(--brand)}.about-section-text{color:var(--fg);max-width:720px;margin:0;font-size:13px;line-height:1.65}.about-author-card{border-radius:var(--radius-md);background:var(--brand);align-items:center;gap:16px;padding:16px 18px;display:flex}@supports (color:color-mix(in lab,red,red)){.about-author-card{background:color-mix(in srgb,var(--brand) 5%,var(--surface))}}.about-author-card{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.about-author-card{border:1px solid color-mix(in srgb,var(--brand) 22%,transparent)}}.about-author-card{width:fit-content;max-width:100%;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.about-author-card:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.about-author-card:hover{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}}.about-author-card:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.about-author-card:hover{border-color:color-mix(in srgb,var(--brand) 45%,transparent)}}.about-author-card:hover{transform:translateY(-1px)}.about-author-logo{object-fit:contain;background:#ffffff0a;border-radius:10px;flex-shrink:0;width:56px;height:56px;padding:4px}.about-author-text{flex-direction:column;gap:4px;display:flex}.about-author-name{color:var(--fg);letter-spacing:.3px;font-size:16px;font-weight:700}.about-author-url{font-family:var(--font-mono,ui-monospace);color:var(--brand);align-items:center;gap:5px;font-size:11px;display:inline-flex}.about-tech-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;display:grid}.about-tech-row{gap:12px;padding:6px 0;font-size:12.5px;display:flex}.about-tech-label{color:var(--dim);min-width:90px;font-weight:500}.about-tech-value{color:var(--fg);font-weight:500}.about-footer{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.about-footer-url{color:var(--brand)}.faq-page-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.faq-page-header-text{flex-direction:column;gap:0;display:flex}.faq-page-header-text .admin-card-title{margin-bottom:4px}.faq-page-header-text .admin-card-sub{margin-bottom:0}.faq-list{flex-direction:column;gap:4px;margin-bottom:32px;display:flex}.faq-empty{color:var(--dim);padding:12px 0;font-size:13px}.faq-item{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.faq-item-row{gap:8px}.faq-item-grip,.faq-item-row{align-items:center;display:flex}.faq-item-grip{color:var(--dim);flex-shrink:0;padding:0 4px 0 12px}.faq-item-trigger{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;gap:12px;padding:12px 8px 12px 0;transition:background .12s;display:flex}.faq-item-trigger:hover{background:var(--surface-raised)}.faq-item-question{color:var(--fg);font-size:13px;font-weight:500}.faq-item-chevron{color:var(--dim);flex-shrink:0;transition:transform .2s}.faq-item-chevron--open{transform:rotate(180deg)}.faq-item-actions{flex-shrink:0;gap:4px;padding-right:10px;display:flex}.faq-item-answer{color:var(--muted);border-top:1px solid var(--border);white-space:pre-wrap;padding:4px 16px 14px 36px;font-size:13px;line-height:1.6}.faq-resources-title{color:var(--fg);font-size:14px;font-weight:600}.faq-delete-text{color:var(--muted);font-size:13px}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-label{font-family:var(--font-mono,ui-monospace);letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-size:10px}.admin-input{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--fg);outline:none;padding:10px 14px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.admin-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.admin-input::placeholder{color:var(--dim)}.btn-primary{border-radius:var(--radius-sm);letter-spacing:.3px;background:var(--brand);color:#fff;cursor:pointer;border:none;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary:hover{background:var(--brand-hover);box-shadow:0 4px 12px var(--brand-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{border-radius:var(--radius-sm);color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-ghost:hover{background:var(--surface-raised);color:var(--fg);border-color:var(--border-strong)}.btn-xs{gap:4px;padding:5px 9px;font-size:12px}.btn-danger{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--status-error);align-items:center;gap:6px;padding:9px 20px;font-size:13px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.btn-danger{border:1px solid color-mix(in srgb,var(--status-error) 30%,transparent)}}.btn-danger{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.btn-danger{background:color-mix(in srgb,var(--status-error) 6%,transparent)}}.btn-danger{color:var(--status-error);transition:background var(--transition),border-color var(--transition),color var(--transition)}.btn-danger:hover{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.btn-danger:hover{background:color-mix(in srgb,var(--status-error) 14%,transparent)}}.btn-danger:hover{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.btn-danger:hover{border-color:color-mix(in srgb,var(--status-error) 50%,transparent)}}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.admin-textarea{resize:vertical}.admin-input-narrow{width:100px}.admin-field-error{color:var(--status-error);font-size:11px}.admin-badge{font-family:var(--font-mono,ui-monospace);letter-spacing:1px;text-transform:uppercase;background:var(--muted);border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.admin-badge{background:color-mix(in srgb,var(--muted) 10%,transparent)}}.admin-badge{border:1px solid var(--muted)}@supports (color:color-mix(in lab,red,red)){.admin-badge{border:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}}.admin-badge{color:var(--muted)}.admin-badge-brand{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-badge-brand{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.admin-badge-brand{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-badge-brand{border-color:color-mix(in srgb,var(--brand) 28%,transparent)}}.admin-badge-brand{color:var(--brand)}.svc-list-row{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:14px;padding:14px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.svc-list-row:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translate(2px)}.svc-cat-badge{font-family:var(--font-mono,ui-monospace);letter-spacing:1.5px;text-transform:uppercase;background:var(--brand);border-radius:4px;padding:3px 8px;font-size:9px}@supports (color:color-mix(in lab,red,red)){.svc-cat-badge{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.svc-cat-badge{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.svc-cat-badge{border:1px solid color-mix(in srgb,var(--brand) 22%,transparent)}}.svc-cat-badge{color:var(--brand);white-space:nowrap;flex-shrink:0}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.icon-btn:hover{background:var(--surface-raised);border-color:var(--border);color:var(--fg)}.icon-btn-danger:hover{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.icon-btn-danger:hover{background:color-mix(in srgb,var(--status-error) 10%,transparent)}}.icon-btn-danger:hover{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.icon-btn-danger:hover{border-color:color-mix(in srgb,var(--status-error) 25%,transparent)}}.icon-btn-danger:hover{color:var(--status-error)}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;animation:overlay-in .18s ease-out;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-shell{z-index:51;width:calc(100vw - 32px);max-width:var(--modal-w,560px);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);flex-direction:column;max-height:calc(100dvh - 32px);animation:shell-in .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 30px 80px #000000b3,0 0 0 1px #ffffff08}@keyframes shell-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.modal-shell:before{content:"";background:linear-gradient(90deg,transparent,var(--brand),transparent);pointer-events:none;z-index:1;height:2px;position:absolute;top:0;left:0;right:0}.modal-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 28px 18px;display:flex}.modal-header-text{flex:1;min-width:0}.modal-title{color:var(--fg);letter-spacing:.3px;font-size:16px;font-weight:700;line-height:1.3}.modal-subtitle{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin-top:4px;font-size:9px}.modal-close-btn{flex:none}.modal-body{scrollbar-gutter:stable;flex:auto;min-height:0;padding:22px 28px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:var(--surface-hover);border-radius:4px}.modal-footer{border-top:1px solid var(--border);background:var(--surface);flex:none;justify-content:flex-end;gap:10px;padding:16px 28px 22px;display:flex}form.modal-form-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.admin-modal,.admin-modal-backdrop,.modal-backdrop,.modal-box{display:none!important}.theme-preset-card{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--surface-raised);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:10px;padding:16px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.theme-preset-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.theme-preset-card-active{border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.theme-preset-card-active{background:color-mix(in srgb,var(--brand) 8%,var(--surface-raised))}}.theme-preset-card-active{box-shadow:0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.theme-preset-card-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}}.theme-preview-swatch{border-radius:var(--radius-sm);border:1px solid #ffffff1a;width:48px;height:48px;position:relative;overflow:hidden}.theme-preview-swatch:after{content:"";border-radius:3px 3px 0 0;height:14px;position:absolute;bottom:0;left:0;right:0}.system-badge{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);color:var(--muted);font-family:var(--font-mono,ui-monospace);letter-spacing:1px;white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;font-size:10px;transition:color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.system-badge-dot{background:currentColor;border-radius:9999px;flex-shrink:0;width:6px;height:6px}.system-badge[data-state=loading]{color:var(--dim);border-color:var(--border);background:var(--surface-raised)}.system-badge[data-state=loading] .system-badge-dot{animation:system-badge-loading 1.2s ease-in-out infinite}.system-badge[data-state=empty]{color:var(--muted);border-color:var(--border);background:var(--surface-raised)}.system-badge[data-state=ok]{color:var(--status-ok);background:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.system-badge[data-state=ok]{background:color-mix(in srgb,var(--status-ok) 8%,transparent)}}.system-badge[data-state=ok]{border-color:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.system-badge[data-state=ok]{border-color:color-mix(in srgb,var(--status-ok) 20%,transparent)}}.system-badge[data-state=ok] .system-badge-dot{animation:pulse-ok 2s ease-in-out infinite}.system-badge[data-state=offline]{color:var(--status-error);background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.system-badge[data-state=offline]{background:color-mix(in srgb,var(--status-error) 8%,transparent)}}.system-badge[data-state=offline]{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.system-badge[data-state=offline]{border-color:color-mix(in srgb,var(--status-error) 20%,transparent)}}@keyframes system-badge-loading{0%,to{opacity:.35}50%{opacity:1}}.theme-pattern-card{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--surface-raised);cursor:pointer;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;transition:border-color .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);display:flex}.theme-pattern-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.theme-pattern-card-active{border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.theme-pattern-card-active{background:color-mix(in srgb,var(--brand) 8%,var(--surface-raised))}}.theme-pattern-card-active{box-shadow:0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.theme-pattern-card-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}}.theme-pattern-preview{border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--surface);width:100%;height:48px}.theme-pattern-preview[data-pattern=mesh]{background-image:linear-gradient(var(--brand) 1px,transparent 1px),linear-gradient(90deg,var(--brand) 1px,transparent 1px)}@supports (color:color-mix(in lab,red,red)){.theme-pattern-preview[data-pattern=mesh]{background-image:linear-gradient(color-mix(in srgb,var(--brand) 35%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--brand) 35%,transparent) 1px,transparent 1px)}}.theme-pattern-preview[data-pattern=mesh]{background-size:12px 12px}.theme-pattern-preview[data-pattern=dots]{background-image:radial-gradient(var(--brand) 1px,transparent 1px)}@supports (color:color-mix(in lab,red,red)){.theme-pattern-preview[data-pattern=dots]{background-image:radial-gradient(color-mix(in srgb,var(--brand) 55%,transparent) 1px,transparent 1px)}}.theme-pattern-preview[data-pattern=dots]{background-size:8px 8px}.theme-pattern-preview[data-pattern=stripes]{background-image:repeating-linear-gradient(45deg,var(--brand) 0,var(--brand) 1px,transparent 1px,transparent 6px)}@supports (color:color-mix(in lab,red,red)){.theme-pattern-preview[data-pattern=stripes]{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--brand) 35%,transparent) 0,color-mix(in srgb,var(--brand) 35%,transparent) 1px,transparent 1px,transparent 6px)}}.widget-header{align-items:center;gap:8px;margin-bottom:14px;display:flex}.widget-title{color:var(--fg);letter-spacing:.3px;flex:1;font-size:13px;font-weight:700}.widget-badge{font-family:var(--font-mono,ui-monospace);letter-spacing:1.5px;text-transform:uppercase;background:var(--brand);border-radius:4px;padding:2px 7px;font-size:9px}@supports (color:color-mix(in lab,red,red)){.widget-badge{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.widget-badge{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.widget-badge{border:1px solid color-mix(in srgb,var(--brand) 22%,transparent)}}.widget-badge{color:var(--brand);flex-shrink:0}.widget-instance{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px}.widget-instance-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.widget-instance-name{color:var(--fg);truncate:true;flex:1;min-width:0;font-size:11px;font-weight:600}.widget-stat-row{align-items:center;gap:7px;min-height:18px;display:flex}.widget-stat-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.widget-stat-value{color:var(--fg);flex-shrink:0}.widget-progress-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.widget-progress-fill{border-radius:2px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.widget-status-ok{color:var(--status-ok)}.widget-status-err,.widget-status-ok{font-family:var(--font-mono,ui-monospace);letter-spacing:.5px;flex-shrink:0;align-items:center;gap:4px;font-size:9px;display:inline-flex}.widget-status-err{color:var(--status-error)}.widget-loading{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:1px;padding:8px 0;font-size:10px}.widget-error{color:var(--status-error);padding:6px 0;font-size:11px}.widget-error-small{color:var(--status-error);font-size:10px;font-family:var(--font-mono,ui-monospace);padding:2px 0}.widget-hint{color:var(--dim);padding:4px 0;font-size:11px;line-height:1.5}.widget-divider{background:var(--border);height:1px;margin:2px 0}.int-empty{border:1px dashed var(--border);border-radius:var(--radius-md);padding:24px;font-size:12px}.ha-padleft{padding-left:10px}.ha-title-icon{color:var(--brand)}.ha-location-name{color:var(--muted);font-size:11px;font-weight:400}.ha-head-right{align-items:center;gap:8px;display:flex}.ha-health-badge{font-family:var(--font-mono,ui-monospace);letter-spacing:.5px;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:600;display:inline-flex}.ha-health-ok{background:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.ha-health-ok{background:color-mix(in srgb,var(--status-ok) 10%,transparent)}}.ha-health-ok{border:1px solid var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.ha-health-ok{border:1px solid color-mix(in srgb,var(--status-ok) 22%,transparent)}}.ha-health-ok{color:var(--status-ok)}.ha-health-warn{background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.ha-health-warn{background:color-mix(in srgb,var(--status-warn) 10%,transparent)}}.ha-health-warn{border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.ha-health-warn{border:1px solid color-mix(in srgb,var(--status-warn) 22%,transparent)}}.ha-health-warn{color:var(--status-warn)}.ha-health-err{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.ha-health-err{background:color-mix(in srgb,var(--status-error) 10%,transparent)}}.ha-health-err{border:1px solid var(--status-error)}@supports (color:color-mix(in lab,red,red)){.ha-health-err{border:1px solid color-mix(in srgb,var(--status-error) 22%,transparent)}}.ha-health-err{color:var(--status-error)}.ha-health-row{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 10px 12px;display:grid}.ha-health-item{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--dim);transition:var(--transition);flex-direction:column;align-items:center;gap:3px;padding:10px 8px;display:flex}.ha-health-item-warn{background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.ha-health-item-warn{background:color-mix(in srgb,var(--status-warn) 6%,var(--surface-raised))}}.ha-health-item-warn{border-color:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.ha-health-item-warn{border-color:color-mix(in srgb,var(--status-warn) 20%,transparent)}}.ha-health-item-warn{color:var(--status-warn)}.ha-health-item-err{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.ha-health-item-err{background:color-mix(in srgb,var(--status-error) 6%,var(--surface-raised))}}.ha-health-item-err{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.ha-health-item-err{border-color:color-mix(in srgb,var(--status-error) 20%,transparent)}}.ha-health-item-err{color:var(--status-error)}.ha-health-count{letter-spacing:-.5px;font-size:20px;font-weight:500;line-height:1}.ha-health-count,.ha-health-lbl{font-family:var(--font-mono,ui-monospace)}.ha-health-lbl{letter-spacing:1px;text-transform:uppercase;color:var(--dim);font-size:8px}.ha-health-item-err .ha-health-lbl,.ha-health-item-warn .ha-health-lbl{color:inherit;opacity:.7}.ha-sys-stats{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);margin:0 10px 12px;padding:10px 12px}.ha-sys-row{align-items:center;gap:7px;display:flex}.ha-sys-row-mt{margin-top:6px}.ha-sys-icon{color:var(--dim);flex-shrink:0}.ha-sys-label{color:var(--muted);flex:1;font-size:11px}.ha-sys-value{font-family:var(--font-mono,ui-monospace);color:var(--fg);flex-shrink:0;font-size:10px}.ha-progress-mt{margin-top:3px}.ha-progress-brand{background:var(--brand)}.ha-progress-teal{background:var(--color-teal-400)}.ha-counts-row{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.3px;flex-wrap:wrap;align-items:center;gap:4px;margin:0 10px;font-size:9px;display:flex}.ha-counts-sep{color:var(--border-strong)}.widget-link-wrapper{color:inherit;border-radius:var(--radius-lg);transition:var(--transition);text-decoration:none;display:block;position:relative}.widget-link-wrapper:hover{opacity:.92}a:hover>.widget-link-indicator{opacity:1}.widget-link-indicator{background:var(--brand);border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:10px;right:10px}@supports (color:color-mix(in lab,red,red)){.widget-link-indicator{background:color-mix(in srgb,var(--brand) 15%,var(--surface-raised))}}.widget-link-indicator{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.widget-link-indicator{border:1px solid color-mix(in srgb,var(--brand) 25%,transparent)}}.widget-link-indicator{color:var(--brand-hover);opacity:0;pointer-events:none;z-index:2;transition:opacity .2s}.adguard-accent{background:linear-gradient(#60a5fa,#3b82f6)}.adguard-icon{color:#60a5fa}.adguard-fill{background:#60a5fa}.adguard-blockrate{color:#60a5fa;font-size:11px;font-weight:700}.adguard-blocked,.adguard-blockrate{font-family:var(--font-mono,ui-monospace)}.adguard-blocked{color:var(--status-error);font-size:10px}.unifi-accent{background:linear-gradient(#a78bfa,#8b5cf6)}.unifi-icon{color:#a78bfa}.widget-stat-ok{color:var(--status-ok)}.widget-stat-warn{color:var(--status-warn)}.unifi-wide-grid{grid-template-columns:repeat(3,1fr);gap:0;margin-top:4px;display:grid}.unifi-wide-col{border-right:1px solid var(--border);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.unifi-wide-col:last-child{border-right:none}.unifi-wide-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.unifi-wide-heading--gap{margin-top:12px}.protect-cam-row{gap:10px}.protect-snap-wrap{background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:72px;height:40px;overflow:hidden}.protect-snap{object-fit:cover;width:100%;height:100%;display:block}.frigate-event-row{align-items:center;gap:10px;display:flex}.frigate-thumb-wrap{background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;flex-shrink:0;width:72px;height:40px;overflow:hidden}.frigate-thumb{object-fit:cover;width:100%;height:100%;display:block}.status-dot-ok{background:var(--status-ok)}.status-dot-dim{background:var(--dim)}.protect-cam-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:8px;display:grid}.protect-cam-grid--full{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.protect-cam-tile{background:var(--surface-raised);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:4px;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.protect-cam-tile:hover{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.protect-cam-tile--offline{opacity:.55}.protect-cam-thumb{aspect-ratio:16/9;background:var(--surface);width:100%;position:relative;overflow:hidden}.protect-cam-img{object-fit:cover;width:100%;height:100%;transition:opacity .2s;display:block}.protect-cam-offline-overlay{color:var(--dim);background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.protect-cam-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding:4px 6px 6px;font-size:11px;font-weight:500;overflow:hidden}.protect-lightbox{background:var(--surface-raised);border:1px solid var(--border);z-index:200;border-radius:14px;outline:none;flex-direction:column;width:min(760px,96vw);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0000008c}.protect-lightbox-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.protect-lightbox-title{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.protect-lightbox-refresh{color:var(--dim);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:11px;display:flex}.protect-lightbox-body{aspect-ratio:16/9;background:#000;width:100%;position:relative;overflow:hidden}.protect-lightbox-loading{z-index:1;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.protect-lightbox-img{object-fit:contain;width:100%;height:100%;transition:opacity .25s;display:block}.protect-lightbox-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.protect-accent{background:linear-gradient(#60a5fa,#3b82f6)}.protect-lightbox-img--hidden{opacity:0}.protect-summary{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:4px;padding:6px 0 4px;display:flex}.protect-summary--small{gap:14px;padding:4px 0 2px}.protect-summary-item{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.protect-summary-total{color:var(--dim);font-weight:400}.protect-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.protect-status-dot--ok{background:var(--status-ok)}.protect-status-dot--err{background:var(--status-error)}.protect-badge{letter-spacing:.03em;white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.protect-badge--rec{color:#f87171;background:#f871712e}.protect-badge--motion{color:var(--status-warn);background:#fbbf2426}.protect-badge--dim{background:var(--surface-raised);color:var(--dim)}.protect-smart-types{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.protect-smart-tag{color:#60a5fa;text-transform:capitalize;background:#60a5fa1f;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:500}.protect-motion-pill{color:#000;background:#fbbf24d9;bottom:4px;left:4px}.protect-motion-pill,.protect-rec-pill{border-radius:4px;align-items:center;gap:3px;padding:2px 5px;font-size:9px;font-weight:700;display:flex;position:absolute}.protect-rec-pill{color:#fff;background:#f87171d9;top:4px;right:4px}.protect-cam-list{flex-direction:column;gap:0;margin-top:2px;display:flex}.protect-cam-row{border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-radius:4px;align-items:center;gap:8px;width:100%;padding:5px 0;transition:background .12s;display:flex}.protect-cam-row:last-child{border-bottom:none}.protect-cam-row:hover{background:var(--surface-raised)}.protect-row-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.protect-row-name-line{align-items:center;gap:5px;display:flex}.protect-row-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.protect-row-meta{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.protect-row-time{color:var(--dim);font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-size:10px;display:flex}.protect-tile-footer{flex-direction:column;gap:3px;padding:5px 7px 7px;display:flex}.protect-tile-name-row{align-items:center;gap:4px;display:flex}.protect-tile-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:600;overflow:hidden}.protect-tile-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.protect-lightbox-details{border-top:1px solid var(--border);flex-direction:column;gap:5px;padding:8px 14px 10px;display:flex}.protect-detail-row{align-items:center;gap:8px;display:flex}.protect-detail-label{color:var(--dim);flex-shrink:0;min-width:80px;font-size:11px}.protect-detail-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.unraid-version{font-family:var(--font-mono,ui-monospace);color:var(--dim);margin-left:auto;font-size:9px}.unraid-dim-icon{color:var(--dim);flex-shrink:0}.glances-icon,.unraid-server-icon{color:var(--brand)}.glances-dim-icon{color:var(--dim);flex-shrink:0}.portainer-accent{background:linear-gradient(#38bdf8,#0ea5e9)}.portainer-icon{color:#38bdf8}.portainer-num--running{color:var(--status-ok)}.portainer-num--stopped{color:var(--status-error)}.portainer-num--paused{color:var(--status-warn)}.portainer-num--total{color:var(--text)}.portainer-summary{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:10px;margin-bottom:2px;display:grid}.portainer-summary-item{background:var(--surface-raised);border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.portainer-summary-num{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700;line-height:1}.portainer-summary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--dim);font-size:9px}.portainer-section-label--mt,.portainer-wide-layout{margin-top:10px}.portainer-wide-stacks-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;padding-bottom:8px;display:flex}.portainer-stacks-pills{flex-wrap:wrap;gap:5px;display:flex}.portainer-stack-pill{letter-spacing:.03em;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:600}.portainer-stack-pill--ok{color:var(--status-ok);background:#4ade801f}.portainer-stack-pill--off{background:var(--surface-raised);color:var(--dim)}.portainer-container-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin-top:4px;display:grid}.portainer-container-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:5px;min-width:0;padding:9px 11px;transition:border-color .12s;display:flex}.portainer-container-card:hover{border-color:var(--brand)}.portainer-container-card--problem{opacity:.6}.portainer-card-top{justify-content:space-between;align-items:center;gap:4px;display:flex}.portainer-card-name{color:var(--text);font-size:12px;font-weight:600}.portainer-card-image,.portainer-card-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portainer-card-image{color:var(--dim);font-size:9px;font-family:var(--font-mono,ui-monospace);text-align:right;flex-shrink:0;max-width:90px}.portainer-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--dim);align-items:center;gap:5px;margin-bottom:4px;font-size:10px;font-weight:600;display:flex}.portainer-stack-list{flex-direction:column;gap:3px;display:flex}.portainer-stack-row{justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.portainer-stack-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.portainer-stack-status{font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:9px}.portainer-stack-ok{color:var(--status-ok)}.portainer-stack-off{color:var(--dim)}.portainer-container-list{flex-direction:column;gap:3px;max-height:240px;display:flex;overflow-y:auto}.portainer-container-row{border-radius:4px;grid-template-columns:56px 1fr auto;align-items:center;gap:6px;padding:3px 0;font-size:11px;display:grid}.portainer-container-row--problem{opacity:.7}.portainer-state-badge{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:3px;font-size:9px;font-weight:600;display:flex}.portainer-container-name{color:var(--text);font-weight:500}.portainer-container-image,.portainer-container-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.portainer-container-image{color:var(--dim);font-size:10px;font-family:var(--font-mono,ui-monospace);max-width:100px}.ha-accent{background:linear-gradient(#fb923c,#f59e0b)}.ha-icon{color:#fb923c}.ha-state-off,.ha-thermo-icon{color:var(--dim)}.ha-summary-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin-top:4px;display:grid}.ha-chip{border:1px solid var(--border);background:var(--surface);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}@supports (color:color-mix(in lab,red,red)){.ha-chip{background:color-mix(in srgb,var(--surface) 65%,transparent)}}.ha-chip-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.ha-chip-body{flex-direction:column;min-width:0;display:flex}.ha-chip-value{font-family:var(--font-mono,ui-monospace,monospace);font-size:13px;font-weight:600;line-height:1.1}.ha-chip-hint{letter-spacing:.04em;text-transform:uppercase;color:var(--dim);font-size:9px}.ha-chip--ok .ha-chip-icon{color:var(--status-ok);background:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.ha-chip--ok .ha-chip-icon{background:color-mix(in srgb,var(--status-ok) 14%,transparent)}}.ha-chip--warn .ha-chip-icon{color:var(--status-warn);background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.ha-chip--warn .ha-chip-icon{background:color-mix(in srgb,var(--status-warn) 14%,transparent)}}.ha-chip--info .ha-chip-icon{color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.ha-chip--info .ha-chip-icon{background:color-mix(in srgb,var(--brand) 14%,transparent)}}.ha-chip--ok .ha-chip-value{color:var(--status-ok)}.ha-chip--warn .ha-chip-value{color:var(--status-warn)}.ha-section-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.ha-wide-layout{grid-template-columns:1fr 1fr;gap:16px;margin-top:6px;display:grid}.ha-wide-entities,.ha-wide-summary{flex-direction:column;gap:6px;min-width:0;display:flex}.ha-wide-summary .ha-summary-grid{grid-template-columns:1fr 1fr}@container (max-width:480px){.ha-wide-layout{grid-template-columns:1fr}}.esphome-size-hint{border:1px dashed var(--brand);border-radius:6px;margin-top:8px;padding:6px 10px}@supports (color:color-mix(in lab,red,red)){.esphome-size-hint{border:1px dashed color-mix(in srgb,var(--brand) 50%,transparent)}}.esphome-size-hint{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.esphome-size-hint{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.esphome-size-hint{color:var(--muted);font-size:11px;line-height:1.35}.edit-mode-bar-hint{background:var(--brand);border-radius:4px;margin-left:6px;padding:1px 6px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.edit-mode-bar-hint{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.edit-mode-bar-hint{color:var(--muted);font-size:11px}.search-modal-shell{z-index:300;pointer-events:none;justify-content:center;align-items:center;margin:0;padding:16px;display:flex;position:fixed;inset:0;transform:none}.search-modal-shell>*{pointer-events:auto}.search-modal-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);flex-direction:column;width:min(640px,100%);max-height:min(560px,100vh - 64px);animation:fadeUp .18s both;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000080}.search-modal-input-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 18px;display:flex}.search-modal-icon{color:var(--dim);flex-shrink:0}.search-modal-input{color:var(--fg);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:16px}.search-modal-input::placeholder{color:var(--dim)}.search-modal-close{border:1px solid var(--border);color:var(--dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:border-color .15s,color .15s;display:inline-flex}.search-modal-close:hover{border-color:var(--brand);color:var(--fg)}.search-modal-body{flex:1;padding:8px;overflow-y:auto}.search-modal-empty{text-align:center;color:var(--dim);padding:24px 16px;font-size:13px;line-height:1.5}.search-modal-section{padding:6px 4px}.search-modal-section+.search-modal-section{border-top:1px solid var(--border);margin-top:6px;padding-top:12px}.search-modal-section-label{font-family:var(--font-mono,ui-monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);padding:0 10px 6px;font-size:10px;font-weight:700;display:block}.search-modal-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--fg);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:background .1s,border-color .1s;display:flex}.search-modal-item-active,.search-modal-item:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.search-modal-item-active,.search-modal-item:hover{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.search-modal-item-active,.search-modal-item:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.search-modal-item-active,.search-modal-item:hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent)}}.search-modal-item-icon{background:var(--surface);border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.search-modal-item-icon{background:color-mix(in srgb,var(--surface) 50%,transparent)}}.search-modal-item-icon{color:var(--brand);flex-shrink:0}.search-modal-item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.search-modal-item-sub{color:var(--dim);flex-shrink:0;font-size:11px}.search-modal-item-hotkey,.search-modal-item-kind{font-family:var(--font-mono,ui-monospace);color:var(--dim);border:1px solid var(--border);border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px}.search-modal-footer{border-top:1px solid var(--border);color:var(--dim);gap:18px;padding:8px 16px;font-size:11px;display:flex}.search-modal-footer kbd{font-family:var(--font-mono,ui-monospace);background:var(--surface);padding:1px 5px;font-size:10px;display:inline-block}@supports (color:color-mix(in lab,red,red)){.search-modal-footer kbd{background:color-mix(in srgb,var(--surface) 60%,transparent)}}.search-modal-footer kbd{border:1px solid var(--border);border-radius:3px;margin-right:4px}@media (max-width:640px){.header-search-trigger{width:auto}.header-search-trigger-text{display:none}.search-modal-shell{width:calc(100vw - 16px);max-height:calc(100vh - 32px)}}.shw-card{padding:16px 18px 14px;position:relative;overflow:hidden}.shw-accent{pointer-events:none;opacity:.9;height:2px;position:absolute;top:0;left:0;right:0}.shw-accent--ok{background:linear-gradient(90deg,transparent,var(--status-ok),transparent)}.shw-accent--warn{background:linear-gradient(90deg,transparent,var(--status-warn),transparent)}.shw-accent--err{background:linear-gradient(90deg,transparent,var(--status-error),transparent)}.shw-accent--info{background:linear-gradient(90deg,transparent,var(--brand),transparent)}.shw-head{flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:14px}.shw-head,.shw-head-title{align-items:center;display:flex}.shw-head-title{gap:12px;min-width:0}.shw-icon-wrap{background:linear-gradient(135deg,var(--brand),var(--brand));border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.shw-icon-wrap{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 25%,transparent),color-mix(in srgb,var(--brand) 8%,transparent))}}.shw-icon-wrap{color:var(--brand);flex-shrink:0}.shw-head-text{min-width:0}.shw-head-name{color:var(--fg);letter-spacing:-.1px;font-size:14px;font-weight:700;line-height:1.2}.shw-head-loc{color:var(--dim);letter-spacing:.02em;margin-top:2px;font-size:11px}.shw-head-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.shw-version{font-family:var(--font-mono,ui-monospace,monospace);background:var(--surface-raised);border-radius:4px;padding:3px 8px;font-size:10px}@supports (color:color-mix(in lab,red,red)){.shw-version{background:color-mix(in srgb,var(--surface-raised) 80%,transparent)}}.shw-version{border:1px solid var(--border);color:var(--muted);letter-spacing:.04em}.shw-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-flex}.shw-status--ok{color:var(--status-ok);background:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.shw-status--ok{background:color-mix(in srgb,var(--status-ok) 10%,transparent)}}.shw-status--ok{border:1px solid var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.shw-status--ok{border:1px solid color-mix(in srgb,var(--status-ok) 25%,transparent)}}.shw-status--warn{color:var(--status-warn);background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.shw-status--warn{background:color-mix(in srgb,var(--status-warn) 10%,transparent)}}.shw-status--warn{border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.shw-status--warn{border:1px solid color-mix(in srgb,var(--status-warn) 25%,transparent)}}.shw-status--err{color:var(--status-error);background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.shw-status--err{background:color-mix(in srgb,var(--status-error) 10%,transparent)}}.shw-status--err{border:1px solid var(--status-error)}@supports (color:color-mix(in lab,red,red)){.shw-status--err{border:1px solid color-mix(in srgb,var(--status-error) 25%,transparent)}}.shw-status--info{color:var(--dim);background:var(--surface-raised)}@supports (color:color-mix(in lab,red,red)){.shw-status--info{background:color-mix(in srgb,var(--surface-raised) 80%,transparent)}}.shw-status--info{border:1px solid var(--border)}.shw-kpi-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.shw-kpi{background:linear-gradient(180deg,var(--surface-raised),var(--surface-raised));border-radius:10px;align-items:flex-start;gap:10px;padding:12px 12px 10px;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.shw-kpi{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-raised) 70%,transparent),color-mix(in srgb,var(--surface-raised) 95%,transparent))}}.shw-kpi{border:1px solid var(--border);min-width:0;transition:transform .2s,border-color .2s;overflow:hidden}.shw-kpi:after{content:"";border-radius:inherit;background:radial-gradient(circle at 100% 0,currentColor,#0000 60%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.shw-kpi:after{background:radial-gradient(circle at top right,color-mix(in srgb,currentColor 18%,transparent),transparent 60%)}}.shw-kpi:after{opacity:0;pointer-events:none;transition:opacity .2s}.shw-kpi:hover{border-color:currentColor;transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.shw-kpi:hover{border-color:color-mix(in srgb,currentColor 35%,var(--border))}}.shw-kpi:hover:after{opacity:1}.shw-kpi--ok{color:var(--status-ok)}.shw-kpi--warn{color:var(--status-warn)}.shw-kpi--err{color:var(--status-error)}.shw-kpi--info{color:var(--muted)}.shw-kpi-icon{background:currentColor;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.shw-kpi-icon{background:color-mix(in srgb,currentColor 14%,transparent)}}.shw-kpi-icon{flex-shrink:0;margin-top:1px}.shw-kpi-body{flex:1;min-width:0}.shw-kpi-value{font-family:var(--font-mono,ui-monospace,monospace);letter-spacing:-1px;color:currentColor;font-size:22px;font-weight:600;line-height:1}.shw-kpi--info .shw-kpi-value{color:var(--fg)}.shw-kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:4px;font-size:9px;font-weight:700}.shw-kpi-hint{color:var(--dim);margin-top:2px;font-size:10px}.shw-system{background:var(--surface-raised);border-radius:10px;padding:12px 14px}@supports (color:color-mix(in lab,red,red)){.shw-system{background:color-mix(in srgb,var(--surface-raised) 60%,transparent)}}.shw-system{border:1px solid var(--border);margin-bottom:14px}.shw-system-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.shw-system-row-mt{margin-top:10px}.shw-system-icon{color:var(--dim);flex-shrink:0}.shw-system-label{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:10px;font-weight:700}.shw-system-value{font-family:var(--font-mono,ui-monospace,monospace);color:var(--fg);margin-left:auto;font-size:11px}.shw-system-percent{color:var(--dim)}.shw-bar{background:var(--surface);border-radius:999px;height:5px}@supports (color:color-mix(in lab,red,red)){.shw-bar{background:color-mix(in srgb,var(--surface) 60%,var(--border))}}.shw-bar{overflow:hidden}.shw-bar-fill{border-radius:inherit;height:100%;transition:width .4s;display:block}.shw-bar--ok .shw-bar-fill{background:linear-gradient(90deg,var(--status-ok),var(--status-ok))}@supports (color:color-mix(in lab,red,red)){.shw-bar--ok .shw-bar-fill{background:linear-gradient(90deg,var(--status-ok),color-mix(in srgb,var(--status-ok) 60%,var(--brand)))}}.shw-bar--warn .shw-bar-fill{background:linear-gradient(90deg,var(--status-warn),#f59e0b)}.shw-bar--err .shw-bar-fill{background:linear-gradient(90deg,var(--status-error),#ef4444)}.shw-bar--info .shw-bar-fill{background:linear-gradient(90deg,var(--brand),var(--brand))}@supports (color:color-mix(in lab,red,red)){.shw-bar--info .shw-bar-fill{background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 70%,white))}}.shw-counts{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;display:grid}.shw-count-tile{background:var(--surface-raised);border-radius:8px;flex-direction:column;align-items:flex-start;padding:8px 10px;display:flex}@supports (color:color-mix(in lab,red,red)){.shw-count-tile{background:color-mix(in srgb,var(--surface-raised) 50%,transparent)}}.shw-count-tile{border:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.shw-count-tile{border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}}.shw-count-tile{min-width:0}.shw-count-icon{color:var(--brand);margin-bottom:4px}.shw-count-value{font-family:var(--font-mono,ui-monospace,monospace);color:var(--fg);font-size:14px;font-weight:600;line-height:1}.shw-count-label{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-top:3px;font-size:9px}@container (max-width:360px){.shw-kpi-row{grid-template-columns:1fr}}.z2m-icon{color:#f59e0b}.z2m-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px;margin:4px 0 10px;display:grid}.z2m-kpi{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);flex-direction:column;align-items:flex-start;padding:10px 12px;transition:border-color .15s;display:flex;position:relative}.z2m-kpi-icon{opacity:.6;position:absolute;top:8px;right:8px}.z2m-kpi-value{font-family:var(--font-mono,ui-monospace,monospace);letter-spacing:-.5px;font-size:22px;font-weight:600;line-height:1.05}.z2m-kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-top:4px;font-size:9px}.z2m-kpi--ok .z2m-kpi-icon,.z2m-kpi--ok .z2m-kpi-value{color:var(--status-ok)}.z2m-kpi--warn .z2m-kpi-icon,.z2m-kpi--warn .z2m-kpi-value{color:var(--status-warn)}.z2m-kpi--err .z2m-kpi-icon,.z2m-kpi--err .z2m-kpi-value{color:var(--status-error)}.z2m-kpi--mute .z2m-kpi-value{color:var(--muted)}.z2m-last-active{color:var(--dim);padding:4px 0 8px;line-height:1.4}.z2m-allgood{color:var(--status-ok);text-align:center;padding:6px 0;font-size:11px}.z2m-issue-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.z2m-row{border-radius:4px;align-items:center;gap:8px;padding:4px 6px;font-size:11px;display:flex}.z2m-row:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.z2m-row:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}}.z2m-row-icon{flex-shrink:0}.z2m-row-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.z2m-row-area,.z2m-row-meta{color:var(--dim);flex-shrink:0;font-size:10px}.z2m-row-meta{font-family:var(--font-mono,ui-monospace)}.z2m-section-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);align-items:center;gap:6px;margin-bottom:6px;font-size:10px;font-weight:700;display:inline-flex}.z2m-wide-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:6px;display:grid}.z2m-wide-col{flex-direction:column;gap:2px;min-width:0;display:flex}@container (max-width:480px){.z2m-wide-grid{grid-template-columns:1fr}}.z2m-more{color:var(--dim);padding:4px 6px;font-size:10px}.admin-collapse{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.admin-collapse-summary{cursor:pointer;color:var(--muted);background:var(--surface);padding:10px 14px;font-size:12px;list-style:none}@supports (color:color-mix(in lab,red,red)){.admin-collapse-summary{background:color-mix(in srgb,var(--surface) 60%,transparent)}}.admin-collapse-summary{-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.admin-collapse-summary::-webkit-details-marker{display:none}.admin-collapse-summary:before{content:"▸";color:var(--dim);transition:transform .15s;display:inline-block}.admin-collapse[open] .admin-collapse-summary:before{transform:rotate(90deg)}.admin-collapse-body{border-top:1px solid var(--border);padding:14px}.cam-accent{background:linear-gradient(#818cf8,#6366f1)}.cam-icon{color:#818cf8}.cam-widget{container-type:inline-size}.cam-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:6px;display:grid}.cam-link{border-radius:6px;text-decoration:none;display:block;overflow:hidden}.cam-link:hover .cam-snapshot-wrap{outline:1px solid var(--brand)}.cam-snapshot-wrap{aspect-ratio:16/9;background:var(--surface2);border-radius:6px;width:100%;position:relative;overflow:hidden}.cam-img{object-fit:cover;display:block}.cam-error,.cam-img{width:100%;height:100%}.cam-error{font-family:var(--font-mono,ui-monospace);color:var(--dim);text-align:center;justify-content:center;padding:8px;font-size:10px}.cam-error,.cam-label-bar{align-items:center;display:flex}.cam-label-bar{background:linear-gradient(#0000,#000000a6);justify-content:space-between;gap:4px;padding:4px 8px;position:absolute;bottom:0;left:0;right:0}.cam-label{font-family:var(--font-mono,ui-monospace);color:#ffffffd9;text-transform:uppercase;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.cam-ext-icon{color:#fff9;flex-shrink:0}.cam-section-loading{font-family:var(--font-mono,ui-monospace);color:var(--dim);padding:12px 0;font-size:11px}.cam-section-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.cam-card-link{border-radius:10px;text-decoration:none;display:block;overflow:hidden}.cam-card-link:hover .cam-card{outline:1px solid var(--brand)}.cam-card{aspect-ratio:16/9;background:var(--surface2);border:1px solid var(--border);border-radius:10px;width:100%;position:relative;overflow:hidden}.cam-card-img{object-fit:cover;width:100%;height:100%;display:block}.cam-card-error{width:100%;height:100%;font-family:var(--font-mono,ui-monospace);color:var(--dim);text-align:center;justify-content:center;align-items:center;padding:12px;font-size:11px;display:flex}.cam-card-label-bar{background:linear-gradient(#0000,#000000b3);justify-content:space-between;align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.cam-card-label{font-family:var(--font-mono,ui-monospace);color:#ffffffe6;text-transform:uppercase;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.widget-kind-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-raised);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.widget-kind-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.widget-kind-card-active{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.widget-kind-card-active{background:color-mix(in srgb,var(--brand) 8%,var(--surface-raised))}}.widget-kind-card-active{box-shadow:0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.widget-kind-card-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}}.int-collapse-header{cursor:pointer;width:100%;color:var(--fg);background:0 0;border:none;justify-content:space-between;align-items:center;margin-bottom:16px;padding:0;display:flex}.int-collapse-title{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.int-collapse-check{color:var(--status-ok)}.int-collapse-badge{background:var(--brand);border-radius:9px;justify-content:center;align-items:center;min-width:20px;height:18px;padding:0 6px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.int-collapse-badge{background:color-mix(in srgb,var(--brand) 15%,transparent)}}.int-collapse-badge{color:var(--brand);font-size:10px;font-weight:700}.int-configured-list{flex-direction:column;gap:6px;display:flex}.int-configured-row{border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.int-configured-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--int-color,var(--brand));background:var(--int-color,var(--brand));flex-shrink:0;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.int-configured-icon{background:color-mix(in srgb,var(--int-color,var(--brand)) 12%,transparent)}}.int-configured-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.int-configured-name{color:var(--fg);font-size:13px;font-weight:600}.int-configured-cat{color:var(--dim);text-transform:uppercase;letter-spacing:.8px;font-size:10px}.int-configured-count{color:var(--brand);background:var(--brand);font-size:11px;font-weight:700}@supports (color:color-mix(in lab,red,red)){.int-configured-count{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.int-configured-count{border-radius:10px;padding:2px 8px}.int-configured-edit{flex-shrink:0;gap:5px;font-size:12px}.int-search-wrap{align-items:center;display:flex;position:relative}.int-search-icon{color:var(--dim);pointer-events:none;position:absolute;left:12px}.int-search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;height:40px;color:var(--fg);outline:none;padding:0 40px;font-size:13px;transition:border-color .15s}.int-search-input:focus{border-color:var(--brand)}.int-search-clear{background:var(--surface-raised);border:1px solid var(--border);width:22px;height:22px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;right:10px}.int-search-clear:hover{background:var(--border);color:var(--fg)}.int-app-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.int-app-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.int-app-card:hover{background:var(--surface-raised);border-color:var(--border-strong);box-shadow:var(--shadow-card);transform:translateY(-2px)}.int-app-card-active{background:var(--surface-raised);border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.int-app-card-active{border-color:color-mix(in srgb,var(--brand) 30%,var(--border))}}.int-app-card-active:hover{border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.int-app-card-active:hover{border-color:color-mix(in srgb,var(--brand) 50%,var(--border))}}.int-app-card-icon-wrap{flex-shrink:0;position:relative}.int-app-card-check{background:var(--status-ok);color:#fff;border-radius:50%;width:16px;height:16px;position:absolute;bottom:-3px;right:-3px}.int-app-card-check,.int-app-logo-wrap{justify-content:center;align-items:center;display:flex}.int-app-logo-wrap{border-radius:10px;flex-shrink:0;position:relative;overflow:visible}.int-app-logo-wrap[data-size=lg]{width:44px;height:44px}.int-app-logo-wrap[data-size=sm]{width:28px;height:28px}.int-app-logo-img{object-fit:contain;border-radius:8px;width:100%;height:100%;display:block}.int-app-logo-fallback{width:100%;height:100%;color:var(--brand);justify-content:center;align-items:center;display:flex}.int-app-card-body{flex-direction:column;gap:3px;min-width:0;display:flex}.int-app-card-name{color:var(--fg);font-size:13px;font-weight:600}.int-app-card-cat{letter-spacing:1px;text-transform:uppercase;color:var(--dim);font-size:9px;font-weight:700}.int-app-card-desc{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.5}.int-app-card-multi{color:var(--brand);background:var(--brand);font-size:10px;font-weight:700;position:absolute;top:10px;right:10px}@supports (color:color-mix(in lab,red,red)){.int-app-card-multi{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.int-app-card-multi{border-radius:9px;padding:2px 7px}.int-empty{color:var(--dim);text-align:center;padding:16px 0;font-size:13px}.admin-list-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-list-header-left{align-items:center;gap:14px;min-width:0;display:flex}.admin-list-header-icon{border-radius:var(--radius-md);width:36px;height:36px;color:var(--row-color,var(--brand));background:var(--row-color,var(--brand));flex-shrink:0;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.admin-list-header-icon{background:color-mix(in srgb,var(--row-color,var(--brand)) 14%,transparent)}}.admin-list{flex-direction:column;gap:5px;display:flex}.admin-list-row{border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;transition:border-color .15s;display:flex}.admin-list-row:hover{border-color:var(--border-strong)}.admin-list-row-icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--row-color,var(--brand));background:var(--row-color,var(--brand));flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}@supports (color:color-mix(in lab,red,red)){.admin-list-row-icon{background:color-mix(in srgb,var(--row-color,var(--brand)) 14%,transparent)}}.admin-list-row-icon-emoji{font-size:15px;line-height:1}.admin-list-row-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.admin-list-row-dot-ok{background:var(--status-ok)}.admin-list-row-dot-off{background:var(--dim)}.admin-list-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-list-row-name{color:var(--fg);font-size:13px;font-weight:600}.admin-list-row-name,.admin-list-row-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-list-row-sub{font-family:var(--font-mono,ui-monospace);color:var(--dim);font-size:10px}.admin-list-row-badge{letter-spacing:.4px;white-space:nowrap;color:var(--badge-color,var(--brand));background:var(--badge-color,var(--brand));border-radius:9px;flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.admin-list-row-badge{background:color-mix(in srgb,var(--badge-color,var(--brand)) 12%,transparent)}}.admin-list-hint{border-top:1px solid var(--border);font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:.8px;text-transform:uppercase;margin-top:20px;padding-top:16px;font-size:9px}.dnd-handle{width:20px;height:20px;color:var(--dim);cursor:grab;touch-action:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.dnd-handle:hover{color:var(--muted);background:var(--border)}.dnd-handle:active{cursor:grabbing;color:var(--brand)}.admin-list-row-dragging{background:var(--surface-raised);border-color:var(--brand);box-shadow:0 4px 20px #00000040,0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.admin-list-row-dragging{box-shadow:0 4px 20px #00000040,0 0 0 1px color-mix(in srgb,var(--brand) 30%,transparent)}}.admin-list-row-dragging{opacity:.95}.admin-list-row-lifting{opacity:.5}.edit-mode-toggle{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--brand);align-items:center;gap:5px;height:30px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.edit-mode-toggle{background:color-mix(in srgb,var(--brand) 6%,transparent)}}.edit-mode-toggle{color:var(--muted);letter-spacing:.5px;cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition),box-shadow var(--transition);font-size:11px;font-weight:600}.edit-mode-toggle:hover{color:var(--brand-hover);border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-toggle:hover{background:color-mix(in srgb,var(--brand) 14%,transparent)}}.edit-mode-toggle:hover{box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-toggle:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}}.edit-mode-toggle-active{color:var(--brand);border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-toggle-active{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.edit-mode-toggle-active{box-shadow:0 0 0 2px var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-toggle-active{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 16%,transparent)}}.edit-mode-toggle-active{cursor:default}.edit-mode-bar{z-index:100;border-radius:var(--radius-lg);background:var(--brand);justify-content:space-between;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:10px 16px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.edit-mode-bar{background:color-mix(in srgb,var(--brand) 18%,var(--surface))}}.edit-mode-bar{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-bar{border:1px solid color-mix(in srgb,var(--brand) 45%,transparent)}}.edit-mode-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #00000073}.edit-mode-bar-label{color:var(--brand);letter-spacing:.2px;font-size:12px;font-weight:500}.edit-mode-bar-actions{align-items:center;gap:8px;display:flex}.edit-mode-cancel{border-radius:var(--radius-sm);border:1px solid var(--border-strong);height:30px;color:var(--muted);cursor:pointer;transition:color var(--transition),background var(--transition);background:0 0;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.edit-mode-cancel:hover{color:var(--fg);background:var(--surface-hover)}.edit-mode-save{border-radius:var(--radius-sm);background:var(--brand);color:#fff;cursor:pointer;height:30px;transition:background var(--transition),opacity var(--transition);border:1px solid #0000;align-items:center;gap:5px;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex}.edit-mode-save:hover{background:var(--brand-hover)}.edit-mode-save:disabled{opacity:.45;cursor:default}.edit-mode-add-widget{border-radius:var(--radius-sm);border:1px dashed var(--brand);align-items:center;gap:5px;height:30px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.edit-mode-add-widget{border:1px dashed color-mix(in srgb,var(--brand) 55%,var(--border-strong))}}.edit-mode-add-widget{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-add-widget{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.edit-mode-add-widget{color:var(--brand);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition);font-size:12px;font-weight:600}.edit-mode-add-widget:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-mode-add-widget:hover{background:color-mix(in srgb,var(--brand) 16%,transparent)}}.edit-mode-add-widget:hover{border-color:var(--brand);color:var(--fg)}.edit-mode-add-widget:disabled{opacity:.45;cursor:default}.edit-section-wrapper{border-radius:var(--radius-md);transition:box-shadow .15s}.edit-section-dragging{box-shadow:0 8px 32px #00000059,0 0 0 2px var(--brand);z-index:10}.edit-section-handle-bar{border-radius:var(--radius-sm);background:var(--brand);align-items:center;gap:7px;margin-bottom:6px;padding:6px 10px;display:flex}@supports (color:color-mix(in lab,red,red)){.edit-section-handle-bar{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}}.edit-section-handle-bar{border:1px dashed var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-section-handle-bar{border:1px dashed color-mix(in srgb,var(--brand) 35%,transparent)}}.edit-section-handle-bar{color:var(--brand);letter-spacing:.5px;text-transform:uppercase;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;font-size:11px;font-weight:600}.edit-section-handle-bar:active{cursor:grabbing}.edit-section-content{border-radius:var(--radius-sm)}.edit-card-wrapper{border-radius:var(--radius-lg);transition:box-shadow .15s,transform .15s;position:relative;overflow:hidden}.edit-card-wrapper:has(.edit-card-grip-bar) .cam-card,.edit-card-wrapper:has(.edit-card-grip-bar) .cam-card-link,.edit-card-wrapper:has(.edit-card-grip-bar) .card,.edit-card-wrapper:has(.edit-card-grip-bar) .svc-card,.edit-card-wrapper:has(.edit-card-grip-bar) .widget-card{border-top-left-radius:0!important;border-top-right-radius:0!important}.edit-card-wrapper:has(.edit-card-grip-bar) .widget-accent{display:none}.edit-card-active{cursor:grab;box-shadow:0 0 0 1px var(--brand),inset 0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-card-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--brand) 10%,transparent)}}.edit-card-active:hover{box-shadow:0 0 0 2px var(--brand),inset 0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-card-active:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 65%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--brand) 15%,transparent)}}.edit-card-active:active{cursor:grabbing}.edit-card-dragging{box-shadow:0 8px 28px #0006,0 0 0 2px var(--brand);z-index:10;opacity:.92}.edit-grid-active .svc-card{pointer-events:none}.edit-card-wrapper.edit-card-sidebar.edit-card-active{box-shadow:0 0 0 1px var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-card-wrapper.edit-card-sidebar.edit-card-active{box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 30%,transparent)}}.edit-card-wrapper.edit-card-sidebar.edit-card-active:hover{box-shadow:0 0 0 2px var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-card-wrapper.edit-card-sidebar.edit-card-active:hover{box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 60%,transparent)}}.edit-card-grip-bar{background:var(--brand);align-items:center;gap:6px;height:24px;padding:0 8px;display:flex}@supports (color:color-mix(in lab,red,red)){.edit-card-grip-bar{background:color-mix(in srgb,var(--brand) 22%,var(--surface))}}.edit-card-grip-bar{border-bottom:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.edit-card-grip-bar{border-bottom:1px solid color-mix(in srgb,var(--brand) 30%,transparent)}}.edit-card-grip-bar{color:var(--brand);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0}.edit-card-grip-bar:active{cursor:grabbing}.edit-card-grip-bar svg{opacity:.85;flex-shrink:0}.edit-grip-label{letter-spacing:.4px;text-transform:uppercase;opacity:.8;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;font-weight:600;overflow:hidden}.admin-list-row-app-icon{object-fit:contain;border-radius:3px;width:18px;height:18px}.svc-icon-img-wrap{background:var(--svc-icon-bg,var(--svc-color,var(--brand)));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}@supports (color:color-mix(in lab,red,red)){.svc-icon-img-wrap{background:color-mix(in srgb,var(--svc-icon-bg,var(--svc-color,var(--brand))) 20%,transparent)}}.svc-icon-img-wrap{overflow:hidden}.svc-icon-img{object-fit:contain;width:30px;height:30px}.svc-icon-emoji{select:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex}.svc-name{color:var(--fg);tracking:.5px;font-size:14px;font-weight:600;line-height:1.2}.svc-latency{font-family:var(--font-mono,ui-monospace);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:10px;line-height:1}.svc-latency-ok{color:var(--status-ok)}.svc-latency-warn{color:var(--status-warn)}.svc-latency-error{color:var(--status-error)}.svc-tooltip{background:var(--surface-raised);border:1px solid var(--border-strong);color:var(--fg);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);z-index:100;white-space:nowrap;max-width:260px;padding:5px 10px;font-size:11px;animation:fadeUp .15s}.svc-tooltip-arrow{fill:var(--border-strong)}.icon-picker-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.icon-picker-preview{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.icon-picker-preview-img{object-fit:contain;width:30px;height:30px}.icon-picker-preview-fallback{color:var(--dim)}.icon-picker-btn{white-space:nowrap;gap:5px;height:32px;padding:0 10px;font-size:11px}.icon-picker-wrap{flex-direction:column;gap:10px;display:flex}.icon-picker-btn-active{color:var(--brand);border-color:var(--brand)}.app-catalog-panel{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);overflow:hidden}.app-catalog-search-wrap{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:7px;padding:8px 12px;display:flex}.app-catalog-search-icon{color:var(--dim);flex-shrink:0}.app-catalog-search{color:var(--fg);background:0 0;border:none;outline:none;flex:1;font-size:12px}.app-catalog-search::placeholder{color:var(--dim)}.app-catalog-clear{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex}.app-catalog-clear:hover{color:var(--muted)}.app-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:3px;padding:10px;display:grid}.app-catalog-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),border-color var(--transition);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:5px;padding:8px 4px 6px;display:flex}.app-catalog-item:hover{background:var(--surface-hover);border-color:var(--border)}.app-catalog-icon-wrap{background:var(--app-color,var(--brand));border-radius:9px;width:40px;height:40px}@supports (color:color-mix(in lab,red,red)){.app-catalog-icon-wrap{background:color-mix(in srgb,var(--app-color,var(--brand)) 15%,var(--surface))}}.app-catalog-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.app-catalog-icon-img{object-fit:contain;width:26px;height:26px}.app-catalog-name{color:var(--muted);text-align:center;word-break:break-word;font-size:9px;line-height:1.3}.app-catalog-name-xs{letter-spacing:.3px;font-size:8px}.app-catalog-panel-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.app-catalog-panel-title{font-family:var(--font-mono,ui-monospace);letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-size:9px;font-weight:600}.app-catalog-empty{text-align:center;color:var(--dim);grid-column:1/-1;padding:20px;font-size:12px}[data-theme=itsweber]{--itw-petrol-950:#061821;--itw-petrol-900:#0a2535;--itw-petrol-800:#0d3245;--itw-petrol-700:#0f4d63;--itw-petrol-600:#136683;--itw-petrol-500:#15779b;--itw-petrol-400:#1e93be;--itw-cyan-400:#2ea3f2;--itw-cyan-300:#5cb8f5;--itw-cyan-200:#a6d8f9;--itw-cyan-100:#cde7f7;--itw-cyan-50:#e8f4fb;--itw-bg-0:#0f1820;--itw-bg-1:#16222e;--itw-bg-2:#1c2a37;--itw-bg-3:#243341;--itw-bg-4:#2c3d4d;--itw-fg:#e6eef5;--itw-fg-strong:#f5f9fc;--itw-fg-muted:#9ab0c2;--itw-fg-dim:#6b8194;--itw-stroke:#a6d8f91a;--itw-stroke-strong:#a6d8f92e;--itw-glass-1:#24334199;--itw-glass-2:#243341c7;--itw-glass-3:#1c2a37d9;--itw-glass-blur:saturate(180%) blur(18px);--itw-shadow-soft:0 1px 0 #ffffff0a inset,0 1px 2px #0610184d,0 8px 24px #06101833;--itw-shadow-card:0 1px 0 #ffffff0d inset,0 1px 2px #06101866,0 12px 32px #06101847,0 24px 56px #0f4d632e;--itw-shadow-hover:0 1px 0 #ffffff14 inset,0 2px 4px #06101873,0 18px 44px #06101866,0 36px 80px #0f4d634d;--itw-grad-hero:linear-gradient(135deg,#0a2535,#103a4d 38%,#15607a 78%,#1e93be);--itw-grad-brand:linear-gradient(135deg,#15779b,#1e93be 50%,#2ea3f2);--itw-grad-text:linear-gradient(92deg,#fff,#cde7f7 60%,#2ea3f2);--itw-mesh:radial-gradient(60% 50% at 12% 8%,#2ea3f229,transparent 60%),radial-gradient(55% 45% at 92% 14%,#15779b2e,transparent 60%),radial-gradient(70% 60% at 70% 92%,#0f4d632e,transparent 60%);--itw-r-xs:6px;--itw-r-sm:10px;--itw-r-md:14px;--itw-r-lg:20px;--itw-r-xl:28px;--itw-ease:cubic-bezier(.2,.8,.2,1);--itw-ease-out:cubic-bezier(.16,1,.3,1);--bg:var(--itw-bg-1);--surface:var(--itw-bg-2);--surface-raised:var(--itw-bg-3);--surface-hover:var(--itw-bg-4);--border:var(--itw-stroke);--border-strong:var(--itw-stroke-strong);--fg:var(--itw-fg);--muted:var(--itw-fg-muted);--dim:var(--itw-fg-dim);--brand:var(--itw-petrol-500);--brand-hover:var(--itw-cyan-400);--brand-glow:#2ea3f233;--brand-glow-str:#2ea3f266;--status-ok:#34d399;--status-warn:#fbbf24;--status-error:#f87171;--shadow-card:var(--itw-shadow-card);--shadow-glow:0 0 32px #2ea3f252;--cat-infrastructure:var(--itw-cyan-400);--cat-smart-home:#fb923c;--cat-media:#a78bfa;--cat-tools:#fbbf24;--cat-external:var(--itw-cyan-300)}[data-theme=itsweber] body{background:var(--itw-mesh),radial-gradient(ellipse 100% 80% at 50% 0,#1a2935 0,var(--itw-bg-1) 60%,var(--itw-bg-0) 100%);color:var(--itw-fg);background-attachment:fixed;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[data-theme=itsweber] body:before{background:radial-gradient(70% 55% at 18% 18%,#2ea3f229,#0000 60%),radial-gradient(55% 50% at 84% 78%,#15779b24,#0000 60%)}html[data-theme=itsweber]:not([data-bg-pattern]) body:after,html[data-theme=itsweber][data-bg-pattern=mesh] body:after{opacity:.7;background-image:linear-gradient(#a6d8f90d 1px,#0000 0),linear-gradient(90deg,#a6d8f90d 1px,#0000 0);background-size:64px 64px;-webkit-mask-image:radial-gradient(80% 70% at 50% 35%,#000 30%,#0000 90%);mask-image:radial-gradient(80% 70% at 50% 35%,#000 30%,#0000 90%)}html[data-theme=itsweber][data-bg-pattern=none] body:after{opacity:0;background:0 0!important}[data-theme=itsweber] ::selection{color:#fff;background:#2ea3f25c}[data-theme=itsweber] h1,[data-theme=itsweber] h2,[data-theme=itsweber] h3,[data-theme=itsweber] h4{letter-spacing:-.012em;color:var(--itw-fg-strong);font-weight:700}[data-theme=itsweber] .font-mono,[data-theme=itsweber] code,[data-theme=itsweber] pre{font-family:JetBrains Mono,ui-monospace,monospace}[data-theme=itsweber] a{transition:color .18s var(--itw-ease)}[data-theme=itsweber] a:hover{color:var(--itw-cyan-300)}[data-theme=itsweber] .app-header{background:var(--itw-grad-hero);border-radius:0 0 var(--itw-r-xl) var(--itw-r-xl);color:#fff;border-bottom:1px solid #a6d8f91a;gap:18px;margin:0 -24px 32px;padding:22px 22px 24px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 1px #0003,0 24px 48px #06101866,0 48px 96px #0f4d632e}[data-theme=itsweber] .app-header:before{content:"";pointer-events:none;background:radial-gradient(50% 90% at 92% 0,#2ea3f266,#0000 55%),radial-gradient(35% 80% at 0 100%,#0f4d6380,#0000 60%),linear-gradient(#ffffff0a,#0000 30%);position:absolute;inset:0}[data-theme=itsweber] .app-header:after{content:"";background:linear-gradient(90deg,#0000,#2ea3f2a6 25%,#a6d8f98c 50%,#2ea3f2a6 75%,#0000);width:auto;height:1px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 12px #2ea3f24d}[data-theme=itsweber] .logo-mark-box{background:linear-gradient(135deg,#1e93be,#2ea3f2);border-radius:12px;width:44px;height:44px;box-shadow:inset 0 0 0 1px #ffffff2e,0 8px 22px #2ea3f273,0 0 36px #2ea3f252}[data-theme=itsweber] .logo-name{letter-spacing:.4px;background:var(--itw-grad-text);-webkit-text-fill-color:transparent;text-shadow:0 2px 14px #0003;-webkit-background-clip:text;background-clip:text;font-family:Open Sans,system-ui,sans-serif;font-size:21px;font-weight:800}[data-theme=itsweber] .logo-sub{color:#cde7f7bf;letter-spacing:3.6px;font-size:9.5px;font-weight:600}[data-theme=itsweber] .logo-mark-shine{mix-blend-mode:overlay;background:linear-gradient(135deg,#fff6,#0000 55%)}[data-theme=itsweber] .nav-pill{letter-spacing:1.6px;text-transform:uppercase;color:#ffffffb8;-webkit-backdrop-filter:blur(10px)saturate(160%);backdrop-filter:blur(10px)saturate(160%);transition:all .22s var(--itw-ease);background:#ffffff0a;border:1px solid #ffffff1a;font-family:Open Sans,system-ui,sans-serif;font-size:11.5px;font-weight:600}[data-theme=itsweber] .nav-pill:hover{color:#fff;background:#ffffff1a;border-color:#a6d8f966;transform:translateY(-1px)}[data-theme=itsweber] .nav-pill-active{color:#fff;background:linear-gradient(135deg,#2ea3f247,#15779b38);border-color:#a6d8f98c;box-shadow:inset 0 1px #ffffff1f,0 4px 14px #2ea3f252,0 0 0 3px #2ea3f21a}[data-theme=itsweber] .header-right{color:#fff;gap:14px}[data-theme=itsweber] .live-clock-time{color:#fff;font-weight:500}[data-theme=itsweber] .live-clock-date{color:#ffffff9e;font-weight:500}[data-theme=itsweber] .header-right .icon-btn,[data-theme=itsweber] .header-right button:not(.edit-mode-toggle){color:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1a}[data-theme=itsweber] .edit-mode-toggle:hover,[data-theme=itsweber] .header-right button:hover{background:#ffffff1f}[data-theme=itsweber] .admin-card,[data-theme=itsweber] .card,[data-theme=itsweber] .ha-card,[data-theme=itsweber] .svc-card,[data-theme=itsweber] .toast,[data-theme=itsweber] .widget-card{background:var(--itw-glass-1);-webkit-backdrop-filter:var(--itw-glass-blur);backdrop-filter:var(--itw-glass-blur);border:1px solid var(--itw-stroke);border-radius:var(--itw-r-md);box-shadow:var(--itw-shadow-soft);isolation:isolate;transition:transform .32s var(--itw-ease-out),box-shadow .32s var(--itw-ease-out),border-color .22s var(--itw-ease),background .22s var(--itw-ease);position:relative}[data-theme=itsweber] .admin-card:after,[data-theme=itsweber] .card:after,[data-theme=itsweber] .ha-card:after,[data-theme=itsweber] .svc-card:after,[data-theme=itsweber] .widget-card:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:12px;right:12px}[data-theme=itsweber] .card:before,[data-theme=itsweber] .ha-card:before,[data-theme=itsweber] .svc-card:before,[data-theme=itsweber] .widget-card:before{content:"";border-radius:inherit;opacity:0;transition:opacity .32s var(--itw-ease-out);pointer-events:none;z-index:0;background:linear-gradient(135deg,#2ea3f28c,#0000 40% 60%,#15779b66);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}[data-theme=itsweber] .card:hover,[data-theme=itsweber] .ha-card:hover,[data-theme=itsweber] .widget-card:hover{border-color:var(--itw-stroke-strong);box-shadow:var(--itw-shadow-card);background:var(--itw-glass-2)}[data-theme=itsweber] .card:hover:before,[data-theme=itsweber] .ha-card:hover:before,[data-theme=itsweber] .widget-card:hover:before{opacity:1}[data-theme=itsweber] .sidebar-col .card,[data-theme=itsweber] .sidebar-col .ha-card,[data-theme=itsweber] .sidebar-col .widget-card{background:var(--itw-glass-2);border-color:var(--itw-stroke-strong);box-shadow:var(--itw-shadow-card)}[data-theme=itsweber] .svc-card{border-radius:var(--itw-r-md);background:linear-gradient(#243341a6,#1c2a378c);padding:14px 16px;overflow:hidden}[data-theme=itsweber] .svc-card:before{content:"";background:var(--svc-color,var(--brand));opacity:.85;width:3px;transition:opacity .28s var(--itw-ease),width .2s var(--itw-ease);border-radius:0 2px 2px 0;padding:0;position:absolute;top:14px;bottom:14px;left:0;-webkit-mask:none;mask:none}[data-theme=itsweber] .svc-card:hover{box-shadow:var(--itw-shadow-hover);background:linear-gradient(#2c3d4dbf,#243341a6);border-color:#2ea3f266;transform:translateY(-3px)}[data-theme=itsweber] .svc-card:hover:before{opacity:1;width:4px}[data-theme=itsweber] .svc-card .svc-name,[data-theme=itsweber] .svc-card-line strong{color:var(--itw-fg-strong);letter-spacing:-.005em;font-weight:600}[data-theme=itsweber] .svc-arrow{transition:transform .24s var(--itw-ease),color .24s var(--itw-ease);color:var(--itw-fg-dim)}[data-theme=itsweber] .svc-card:hover .svc-arrow{color:var(--itw-cyan-300);transform:translate(3px)}[data-theme=itsweber] .ha-health-ok,[data-theme=itsweber] .system-ok,[data-theme=itsweber] .widget-status-ok{color:#6ee7b7;background:linear-gradient(135deg,#34d39924,#34d3990a);border:1px solid #34d3994d}[data-theme=itsweber] .ha-health-warn,[data-theme=itsweber] .system-warn,[data-theme=itsweber] .widget-status-warn{color:#fcd34d;background:linear-gradient(135deg,#fbbf2424,#fbbf240a);border:1px solid #fbbf2452}[data-theme=itsweber] .ha-health-err,[data-theme=itsweber] .system-error,[data-theme=itsweber] .widget-status-err{color:#fca5a5;background:linear-gradient(135deg,#f8717124,#f871710a);border:1px solid #f8717152}[data-theme=itsweber] .pulse-dot{animation:itw-pulse-ok 2.4s var(--itw-ease) infinite;position:relative;box-shadow:0 0 #34d3998c}@keyframes itw-pulse-ok{0%{box-shadow:0 0 #34d3998c}60%{box-shadow:0 0 0 12px #34d39900}to{box-shadow:0 0 #34d39900}}[data-theme=itsweber] .section-label{letter-spacing:1.8px;text-transform:uppercase;color:var(--itw-cyan-200);align-items:center;gap:12px;padding-bottom:10px;font-family:Open Sans,system-ui,sans-serif;font-size:11px;font-weight:700;display:inline-flex}[data-theme=itsweber] .section-label:before{content:"";background:var(--itw-grad-brand);border-radius:2px;width:22px;height:2px;box-shadow:0 0 10px #2ea3f28c}[data-theme=itsweber] .btn-primary{background:var(--itw-grad-brand);color:#fff;border-radius:var(--itw-r-sm);letter-spacing:.2px;transition:transform .18s var(--itw-ease),box-shadow .22s var(--itw-ease);border:1px solid #a6d8f973;font-weight:600;box-shadow:inset 0 1px #fff3,0 6px 18px #15779b66}[data-theme=itsweber] .btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff4d,0 12px 28px #15779b8c,0 0 0 3px #2ea3f233}[data-theme=itsweber] .btn-primary:active{transform:translateY(0)}[data-theme=itsweber] .btn-ghost{background:var(--itw-glass-1);color:var(--itw-cyan-200);border:1px solid var(--itw-stroke);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--itw-r-sm);transition:all .2s var(--itw-ease)}[data-theme=itsweber] .btn-ghost:hover{background:var(--itw-glass-2);border-color:var(--itw-stroke-strong);color:var(--itw-fg-strong)}[data-theme=itsweber] .admin-input,[data-theme=itsweber] input[type=number],[data-theme=itsweber] input[type=password],[data-theme=itsweber] input[type=text],[data-theme=itsweber] input[type=url],[data-theme=itsweber] select,[data-theme=itsweber] textarea{background:var(--itw-glass-1);border:1px solid var(--itw-stroke);border-radius:var(--itw-r-sm);color:var(--itw-fg-strong);transition:border-color .18s var(--itw-ease),box-shadow .18s var(--itw-ease),background .18s var(--itw-ease)}[data-theme=itsweber] .admin-input:focus,[data-theme=itsweber] input:focus,[data-theme=itsweber] select:focus,[data-theme=itsweber] textarea:focus{border-color:var(--itw-cyan-400);background:var(--itw-glass-2);outline:none;box-shadow:0 0 0 3px #2ea3f238}[data-theme=itsweber] .badge,[data-theme=itsweber] .chip,[data-theme=itsweber] .svc-cat-badge,[data-theme=itsweber] .tag{letter-spacing:.4px;color:var(--itw-cyan-200);background:#2ea3f21f;border:1px solid #2ea3f247;border-radius:999px;font-family:Open Sans,system-ui,sans-serif;font-weight:600}[data-theme=itsweber] .badge-teal{color:var(--itw-cyan-100);background:linear-gradient(135deg,#2ea3f238,#15779b2e);border-color:#2ea3f266}[data-theme=itsweber] .fill,[data-theme=itsweber] .widget-progress-fill{background:var(--itw-grad-brand);border-radius:999px;box-shadow:inset 0 1px #ffffff4d,0 0 14px #2ea3f273}[data-theme=itsweber] .fill-teal,[data-theme=itsweber] .fill-teal2{background:linear-gradient(90deg,var(--itw-petrol-700),var(--itw-cyan-400))}[data-theme=itsweber] .track,[data-theme=itsweber] .widget-progress-track{background:#a6d8f91a;border-radius:999px}[data-theme=itsweber] .stor-track{background:#a6d8f914;border-color:#a6d8f91f;border-radius:4px}[data-theme=itsweber] .stor-fill{background:linear-gradient(180deg,var(--itw-cyan-400),var(--itw-petrol-700));border-radius:3px;box-shadow:0 0 10px #2ea3f259}[data-theme=itsweber] .modal-overlay{-webkit-backdrop-filter:blur(10px)saturate(140%);backdrop-filter:blur(10px)saturate(140%);background:linear-gradient(135deg,#0610189e,#0f4d638c)}[data-theme=itsweber] .modal-shell{background:var(--itw-glass-2);-webkit-backdrop-filter:var(--itw-glass-blur);backdrop-filter:var(--itw-glass-blur);border:1px solid var(--itw-stroke-strong);border-radius:var(--itw-r-lg);box-shadow:inset 0 1px #ffffff14,0 24px 64px #0610188c,0 64px 128px #0f4d634d}[data-theme=itsweber] .modal-header{border-bottom:1px solid var(--itw-stroke);background:linear-gradient(#2ea3f20f,#0000)}[data-theme=itsweber] .modal-title{color:var(--itw-fg-strong);letter-spacing:-.01em;font-weight:700}[data-theme=itsweber] .modal-footer{border-top:1px solid var(--itw-stroke);background:linear-gradient(#0000,#2ea3f20f)}[data-theme=itsweber] .toast{background:var(--itw-glass-2);-webkit-backdrop-filter:var(--itw-glass-blur);backdrop-filter:var(--itw-glass-blur);border:1px solid var(--itw-stroke-strong);box-shadow:var(--itw-shadow-card);border-radius:var(--itw-r-md);color:var(--itw-fg-strong)}[data-theme=itsweber] .toast-success{border-left:3px solid #34d399}[data-theme=itsweber] .toast-error{border-left:3px solid #f87171}[data-theme=itsweber] .toast-info{border-left:3px solid var(--itw-cyan-400)}[data-theme=itsweber] .admin-topbar{background:var(--itw-grad-hero);color:#fff;border-bottom:1px solid #a6d8f91a;box-shadow:0 12px 32px #06101866}[data-theme=itsweber] .admin-sidebar{background:var(--itw-glass-2);-webkit-backdrop-filter:var(--itw-glass-blur);backdrop-filter:var(--itw-glass-blur);border-right:1px solid var(--itw-stroke)}[data-theme=itsweber] .admin-nav-link{color:var(--itw-fg-muted);border-radius:var(--itw-r-sm);transition:all .18s var(--itw-ease)}[data-theme=itsweber] .admin-nav-link:hover{color:var(--itw-cyan-200);background:#2ea3f21a}[data-theme=itsweber] .admin-nav-link-active{color:var(--itw-cyan-100);background:linear-gradient(135deg,#2ea3f233,#15779b24);border:1px solid #2ea3f252;font-weight:600}[data-theme=itsweber] .app-footer{border-top:1px solid var(--itw-stroke);border-radius:var(--itw-r-lg) var(--itw-r-lg) 0 0;background:linear-gradient(#0000,#2ea3f20f);margin-top:28px;padding-top:18px}[data-theme=itsweber] .qlink{background:var(--itw-glass-1);border:1px solid var(--itw-stroke);color:var(--itw-cyan-200);transition:all .22s var(--itw-ease);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;font-weight:600}[data-theme=itsweber] .qlink:hover{background:var(--itw-glass-2);border-color:var(--itw-cyan-400);color:var(--itw-fg-strong);transform:translateY(-1px);box-shadow:0 6px 18px #15779b4d}[data-theme=itsweber] .infra-grid>.card,[data-theme=itsweber] [data-section=infra] .card{color:var(--itw-fg-strong);background:linear-gradient(#2c3d4da6,#2433418c)}[data-theme=itsweber] .infra-grid>.card:after,[data-theme=itsweber] [data-section=infra] .card:after{background:linear-gradient(90deg,#0000,#2ea3f266,#0000)}[data-theme=itsweber] .infra-grid .stat-head,[data-theme=itsweber] [data-section=infra] .stat-head{color:var(--itw-fg-strong);letter-spacing:1px;font-weight:700}[data-theme=itsweber] .infra-grid .stat-head span:last-child,[data-theme=itsweber] [data-section=infra] .stat-head span:last-child{color:#fff;font-weight:600}[data-theme=itsweber] .infra-grid .stat-meta,[data-theme=itsweber] [data-section=infra] .stat-meta{color:#b8c8d6;font-size:11.5px;font-weight:500}[data-theme=itsweber] .infra-grid .node-title,[data-theme=itsweber] .infra-grid h2,[data-theme=itsweber] .infra-grid h3,[data-theme=itsweber] [data-section=infra] h2,[data-theme=itsweber] [data-section=infra] h3{color:var(--itw-fg-strong);font-weight:700}[data-theme=itsweber] .infra-grid .badge,[data-theme=itsweber] .infra-grid .chip,[data-theme=itsweber] [data-section=infra] .badge,[data-theme=itsweber] [data-section=infra] .chip{color:#cde7f7;background:#2ea3f224;border-color:#2ea3f252;font-weight:600}[data-theme=itsweber] .infra-grid .badge-teal,[data-theme=itsweber] [data-section=infra] .badge-teal{color:#fff;background:linear-gradient(135deg,#2ea3f24d,#15779b3d);border-color:#a6d8f973}[data-theme=itsweber] .sidebar-col .ha-stat-value,[data-theme=itsweber] .sidebar-col .ha-sys-value,[data-theme=itsweber] .sidebar-col .ha-val,[data-theme=itsweber] .sidebar-col .stat-head span:last-child,[data-theme=itsweber] .sidebar-col .widget-stat-value{color:var(--itw-fg-strong);font-weight:600}[data-theme=itsweber] .sidebar-col .ha-lbl,[data-theme=itsweber] .sidebar-col .ha-sys-label,[data-theme=itsweber] .sidebar-col .widget-stat-label{color:var(--itw-cyan-200)}[data-theme=itsweber] .sidebar-col .ha-title,[data-theme=itsweber] .sidebar-col .widget-title{color:var(--itw-fg-strong);letter-spacing:-.005em;font-weight:700}[data-theme=itsweber] .sidebar-col .stor-key,[data-theme=itsweber] .sidebar-col .widget-hint,[data-theme=itsweber] .svc-card .svc-host,[data-theme=itsweber] .svc-card .svc-meta,[data-theme=itsweber] .svc-card-line:nth-child(2){color:var(--itw-fg-muted)}[data-theme=itsweber] [data-widget-kind*=speedtest] .widget-stat-value,[data-theme=itsweber] [data-widget-kind*=speedtest] strong{color:var(--itw-fg-strong);font-weight:700}[data-theme=itsweber] .card strong,[data-theme=itsweber] .ha-card strong,[data-theme=itsweber] .widget-card strong,[data-theme=itsweber] [data-widget-kind] strong{color:var(--itw-fg-strong);font-weight:600}[data-theme=itsweber] .card,[data-theme=itsweber] .ha-card,[data-theme=itsweber] .widget-card{color:var(--itw-fg)}[data-theme=itsweber] .auth-banner{color:#fde68a;border-radius:var(--itw-r-md);-webkit-backdrop-filter:blur(14px)saturate(160%);backdrop-filter:blur(14px)saturate(160%);background:linear-gradient(135deg,#1c2a37d9,#243341d1);border:1px solid #fbbf244d;align-items:center;gap:12px;margin:0 0 18px;padding:11px 16px 11px 20px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 4px 14px #0000004d}[data-theme=itsweber] .auth-banner:before{content:"";background:linear-gradient(#fbbf24,#f97316);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0;box-shadow:0 0 14px #fbbf2480}[data-theme=itsweber] *{scrollbar-width:thin;scrollbar-color:#2ea3f259 transparent}[data-theme=itsweber] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=itsweber] ::-webkit-scrollbar-track{background:0 0}[data-theme=itsweber] ::-webkit-scrollbar-thumb{background:linear-gradient(#2ea3f259,#15779b73) padding-box padding-box;border:2px solid #0000;border-radius:999px}[data-theme=itsweber] ::-webkit-scrollbar-thumb:hover{background:linear-gradient(#2ea3f2a6,#15779bb3) padding-box padding-box}@keyframes itw-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-theme=itsweber] .card,[data-theme=itsweber] .ha-card,[data-theme=itsweber] .svc-card,[data-theme=itsweber] .widget-card{animation:itw-fadeUp .54s var(--itw-ease-out) both}[data-theme=itsweber] :focus-visible{outline:2px solid var(--itw-cyan-400);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){[data-theme=itsweber] .card,[data-theme=itsweber] .ha-card,[data-theme=itsweber] .pulse-dot,[data-theme=itsweber] .svc-card,[data-theme=itsweber] .widget-card{animation:none}}@media (max-width:768px){[data-theme=itsweber] .infra-card,[data-theme=itsweber] .svc-card,[data-theme=itsweber] .widget-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@media print{[data-theme=itsweber] body:after,[data-theme=itsweber] body:before{display:none}[data-theme=itsweber] .app-header{color:#000;box-shadow:none;background:#fff}[data-theme=itsweber] .card,[data-theme=itsweber] .svc-card,[data-theme=itsweber] .widget-card{box-shadow:none;color:#000;background:#fff;border-color:#ccc}}[data-theme=itsweber] .board-switcher-trigger{color:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff12;border-color:#ffffff26}[data-theme=itsweber] .board-switcher-trigger:hover{color:#fff;background:#ffffff24;border-color:#a6d8f98c}[data-theme=itsweber] .board-switcher-menu{background:var(--itw-glass-3);border-color:var(--itw-stroke-strong);-webkit-backdrop-filter:var(--itw-glass-blur);backdrop-filter:var(--itw-glass-blur);box-shadow:0 12px 40px #0610188c}[data-theme=itsweber] .board-switcher-item{color:var(--itw-fg)}[data-theme=itsweber] .board-switcher-item:hover,[data-theme=itsweber] .board-switcher-item[data-highlighted]{color:var(--itw-fg-strong);background:#2ea3f21f}[data-theme=itsweber] .board-switcher-item--add{color:var(--itw-fg-dim)}[data-theme=itsweber] .board-switcher-item--add:hover,[data-theme=itsweber] .board-switcher-item--add[data-highlighted]{color:var(--itw-fg)}[data-theme=itsweber] .board-switcher-sep{background:var(--itw-stroke)}[data-theme=itsweber] .board-switcher-home-badge{color:var(--itw-cyan-300);background:#2ea3f21f;border-color:#2ea3f273}[data-theme=itsweber] .header-search-trigger{color:#ffffffd9;-webkit-backdrop-filter:blur(14px)saturate(180%);backdrop-filter:blur(14px)saturate(180%);background:linear-gradient(135deg,#ffffff1a,#ffffff0a);border:1px solid #a6d8f938;border-radius:11px;height:38px;padding:0 14px;box-shadow:inset 0 1px #ffffff1a,0 4px 16px #0610184d}[data-theme=itsweber] .header-search-trigger:focus-visible,[data-theme=itsweber] .header-search-trigger:hover{color:#fff;background:linear-gradient(135deg,#ffffff24,#ffffff0f);border-color:#a6d8f973;box-shadow:inset 0 1px #ffffff24,0 0 0 3px #2ea3f22e,0 8px 24px #06101866}[data-theme=itsweber] .header-search-trigger-text{color:#ffffffb3;font-weight:500}[data-theme=itsweber] .header-search-trigger-kbd{color:#ffffffd9;letter-spacing:.4px;background:#0000004d;border:1px solid #a6d8f94d;border-radius:5px;padding:3px 7px;font-size:10.5px}[data-theme=itsweber] .admin-gear-btn{color:#ffffffd9;-webkit-backdrop-filter:blur(14px)saturate(180%);backdrop-filter:blur(14px)saturate(180%);background:linear-gradient(135deg,#ffffff1a,#ffffff0a);border:1px solid #a6d8f938;border-radius:11px;width:38px;height:38px;box-shadow:inset 0 1px #ffffff1a,0 4px 16px #0610184d}[data-theme=itsweber] .admin-gear-btn:hover{color:#fff;background:linear-gradient(135deg,#ffffff24,#ffffff0f);border-color:#a6d8f973;box-shadow:inset 0 1px #ffffff24,0 0 0 3px #2ea3f22e}[data-theme=itsweber] .admin-gear-btn-active{color:#fff;background:linear-gradient(135deg,#2ea3f247,#15779b38);border-color:#a6d8f98c;box-shadow:inset 0 1px #ffffff1f,0 4px 14px #2ea3f252,0 0 0 3px #2ea3f21a}[data-theme=itsweber] .header-search-box{color:#fff;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff12;border-color:#ffffff26}[data-theme=itsweber] .header-search-box-open,[data-theme=itsweber] .header-search-box:focus-within{box-shadow:none;background:#ffffff1a;border-color:#a6d8f98c}[data-theme=itsweber] .header-search-input{color:#fff}[data-theme=itsweber] .header-search-input::placeholder{color:#ffffff80}[data-theme=itsweber] .header-search-clear,[data-theme=itsweber] .header-search-icon{color:#ffffff8c}[data-theme=itsweber] .header-search-clear:hover{color:#fff}[data-theme=itsweber] .header-search-dropdown{background:var(--itw-glass-3);border-color:var(--itw-stroke-strong);-webkit-backdrop-filter:var(--itw-glass-blur);backdrop-filter:var(--itw-glass-blur);box-shadow:0 16px 48px #06101899}[data-theme=itsweber] .header-search-section+.header-search-section{border-color:var(--itw-stroke)}[data-theme=itsweber] .header-search-section-label{color:var(--itw-fg-dim)}[data-theme=itsweber] .header-search-item{color:var(--itw-fg)}[data-theme=itsweber] .header-search-item-active,[data-theme=itsweber] .header-search-item:hover{background:#2ea3f21a}[data-theme=itsweber] .header-search-item-title{color:var(--itw-fg-strong)}[data-theme=itsweber] .header-search-item-icon{color:var(--itw-cyan-400)}[data-theme=itsweber] .header-search-item-kind,[data-theme=itsweber] .header-search-item-sub{color:var(--itw-fg-dim)}[data-theme=itsweber] .header-search-item-hotkey{border-color:var(--itw-stroke-strong);color:var(--itw-fg-muted);background:#ffffff0f}[data-theme=itsweber] .header-search-empty{color:var(--itw-fg-dim)}[data-theme=itsweber] .edit-mode-toggle{color:#ffffffd9;border-radius:var(--itw-r-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1.5px solid #ffffff2e}[data-theme=itsweber] .edit-mode-toggle:hover{color:#fff;background:#ffffff24;border-color:#a6d8f98c;box-shadow:0 0 0 3px #2ea3f22e}[data-theme=itsweber] .edit-mode-toggle-active{color:var(--itw-cyan-300);background:#2ea3f21f;border-color:#2ea3f28c;box-shadow:0 0 0 2px #2ea3f229}[data-theme=itsweber] .admin-topbar:after{background:linear-gradient(90deg,#2ea3f2cc,#a6d8f980 40%,#0000);width:280px}[data-theme=slate]{--bg:#1a1612;--surface:#241f1a;--surface-raised:#2e2822;--surface-hover:#38322b;--border:#3d3530;--border-strong:#5a4e44;--fg:#e8ddd0;--muted:#a89880;--dim:#7a6c5b;--brand:#d97706;--brand-hover:#ea850b;--brand-glow:#d9770633;--brand-glow-str:#d9770666;--status-ok:#84cc16;--status-warn:#eab308;--status-error:#dc2626;--shadow-card:0 4px 16px #00000080;--shadow-glow:0 4px 24px var(--brand-glow);--cat-infrastructure:var(--brand);--cat-smart-home:#b45309;--cat-media:#7c3aed;--cat-tools:#ca8a04;--cat-external:#7a6c5b}[data-theme=slate] body{background:radial-gradient(ellipse 70% 50% at 100% 0,#d977060d,transparent 60%),radial-gradient(ellipse 60% 40% at 0 100%,#b4530908,transparent 60%),var(--bg);background-attachment:fixed}[data-theme=modern-light]{--bg:#f8f9fa;--surface:#fff;--surface-raised:#fff;--surface-hover:#f9fafb;--border:#e5e7eb;--border-strong:#d1d5db;--fg:#111827;--muted:#6b7280;--dim:#9ca3af;--brand:#0f766e;--brand-hover:#115e59;--brand-glow:#0f766e1f;--brand-glow-str:#0f766e4d;--status-ok:#059669;--status-warn:#d97706;--status-error:#dc2626;--shadow-card:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-glow:0 4px 16px var(--brand-glow);--cat-infrastructure:var(--brand);--cat-smart-home:#c2410c;--cat-media:#7c3aed;--cat-tools:#2563eb;--cat-external:#6b7280}[data-theme=modern-light] .sidebar-col{border-radius:var(--radius-lg);background:#f1f3f5;padding:16px}[data-theme=modern-light] .infra-card:hover,[data-theme=modern-light] .svc-card:hover,[data-theme=modern-light] .widget-card:hover{box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}[data-theme=light] .header-search-dropdown,[data-theme=modern-light] .header-search-dropdown{box-shadow:0 8px 24px #0000001f,0 2px 6px #00000014}[data-theme=light] .header-search-item-active,[data-theme=light] .header-search-item:hover,[data-theme=modern-light] .header-search-item-active,[data-theme=modern-light] .header-search-item:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){[data-theme=light] .header-search-item-active,[data-theme=light] .header-search-item:hover,[data-theme=modern-light] .header-search-item-active,[data-theme=modern-light] .header-search-item:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}}[data-theme=terminal] .board-switcher-menu{box-shadow:0 8px 24px #000000a6,0 0 0 1px #3fb9501a}[data-theme=terminal] .header-search-dropdown{box-shadow:0 8px 32px #000000b3,0 0 0 1px #3fb95014}.skeleton-shimmer{background:linear-gradient(90deg,var(--surface-raised) 0,var(--surface-hover) 50%,var(--surface-raised) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.6s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-shimmer{animation:none}}.widget-error-card{border-color:var(--status-error)}.widget-error-icon{color:var(--status-error)}.widget-error-badge{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.widget-error-badge{background:color-mix(in srgb,var(--status-error) 15%,transparent)}}.widget-error-badge{color:var(--status-error);border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.widget-error-badge{border-color:color-mix(in srgb,var(--status-error) 35%,transparent)}}.widget-error-message{color:var(--fg);padding:8px 0;font-size:12px;line-height:1.4}.widget-error-meta{color:var(--dim);font-size:10px;font-family:var(--font-mono);padding-bottom:4px}.widget-error-meta code{background:var(--surface-raised);border-radius:3px;padding:1px 5px}.widget-error-retry{border-radius:var(--radius-sm);background:var(--surface-hover);color:var(--fg);border:1px solid var(--border);cursor:pointer;transition:var(--transition);align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.widget-error-retry:hover{background:var(--brand-glow);border-color:var(--brand);color:var(--brand)}.auth-banner{background:var(--status-warn);align-items:center;gap:10px;margin:0 0 16px;padding:10px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.auth-banner{background:color-mix(in srgb,var(--status-warn) 12%,transparent)}}.auth-banner{border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.auth-banner{border:1px solid color-mix(in srgb,var(--status-warn) 35%,transparent)}}.auth-banner{border-radius:var(--radius-md);color:var(--fg);font-size:12px}.auth-banner>svg:first-child{color:var(--status-warn);flex-shrink:0}.auth-banner-text{flex:1;line-height:1.5}.auth-banner-text code{background:var(--surface-raised);font-family:var(--font-mono);border-radius:3px;padding:1px 6px;font-size:11px}.auth-banner-text a{color:var(--brand);text-decoration:underline}.auth-banner-dismiss{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);background:0 0;border:none;place-items:center;padding:4px;display:grid}.auth-banner-dismiss:hover{background:var(--surface-hover);color:var(--fg)}.setup-shell{background:var(--bg);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.setup-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:40px 36px;animation:fadeUp .4s both}.setup-progress{align-items:center;gap:0;width:100%;max-width:480px;margin-bottom:24px;display:flex}.setup-progress-item{flex:1;align-items:center;gap:8px;display:flex}.setup-progress-dot{border:2px solid var(--border);width:28px;height:28px;color:var(--dim);background:var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .2s;display:flex}.setup-progress-dot.active{border-color:var(--brand);color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.setup-progress-dot.active{background:color-mix(in srgb,var(--brand) 10%,transparent)}}.setup-progress-label{font-family:var(--font-mono,ui-monospace);letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:9px}.setup-progress-label.current{color:var(--brand);font-weight:600}.setup-progress-line{background:var(--border);flex:1;height:1px;margin:0 4px;transition:background .2s}.setup-progress-line.done{background:var(--brand)}.setup-logo{gap:14px;margin-bottom:28px}.setup-logo,.setup-logo-mark{align-items:center;display:flex}.setup-logo-mark{background:linear-gradient(135deg,var(--color-teal-600),var(--color-teal-400));width:52px;height:52px;box-shadow:0 0 20px var(--brand-glow);border-radius:12px;flex-shrink:0;justify-content:center}.setup-logo-name{letter-spacing:2px;background:linear-gradient(90deg,var(--fg) 60%,var(--color-teal-300));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.setup-logo-sub{font-family:var(--font-mono,ui-monospace);color:var(--dim);letter-spacing:3px;text-transform:uppercase;margin-top:2px;font-size:9px}.setup-title{color:var(--fg);margin-bottom:10px;font-size:22px;font-weight:700}.setup-desc{color:var(--muted);margin-bottom:24px;font-size:13px;line-height:1.6}.setup-step-icon{background:var(--brand);border-radius:14px;width:56px;height:56px}@supports (color:color-mix(in lab,red,red)){.setup-step-icon{background:color-mix(in srgb,var(--brand) 12%,transparent)}}.setup-step-icon{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.setup-step-icon{border:1px solid color-mix(in srgb,var(--brand) 25%,transparent)}}.setup-step-icon{color:var(--brand);justify-content:center;align-items:center;margin-bottom:20px;display:flex}.setup-step-icon-success{background:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.setup-step-icon-success{background:color-mix(in srgb,var(--status-ok) 12%,transparent)}}.setup-step-icon-success{border-color:var(--status-ok)}@supports (color:color-mix(in lab,red,red)){.setup-step-icon-success{border-color:color-mix(in srgb,var(--status-ok) 25%,transparent)}}.setup-step-icon-success{color:var(--status-ok)}.setup-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.setup-label{color:var(--muted);letter-spacing:.3px;font-size:12px;font-weight:500}.setup-locale-row{gap:8px;display:flex}.setup-locale-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 20px;font-size:13px;transition:all .18s;display:inline-flex}.setup-locale-btn.active,.setup-locale-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.setup-locale-btn.active,.setup-locale-btn:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.setup-form{flex-direction:column;gap:0;display:flex}.setup-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.setup-next-btn{justify-content:center;width:100%;margin-top:8px}.setup-error{color:var(--status-error);margin-bottom:8px;font-size:12px}.setup-checklist{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.setup-check-item{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.setup-check-item svg{color:var(--status-ok);flex-shrink:0}.login-shell{place-items:center;min-height:70vh;padding:32px 16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-card);flex-direction:column;gap:16px;padding:32px 28px;display:flex}.login-card,.login-icon{border-radius:var(--radius-lg)}.login-icon{background:var(--brand-glow);width:56px;height:56px;color:var(--brand);align-self:center;place-items:center;display:grid}.login-title{color:var(--fg);font-size:20px;font-weight:700}.login-sub,.login-title{text-align:center;margin:0}.login-sub{color:var(--muted);font-size:12px;line-height:1.5}.login-sub code{background:var(--surface-raised);font-family:var(--font-mono);border-radius:3px;padding:1px 5px}.login-form{gap:12px;margin-top:8px}.login-form,.login-label{flex-direction:column;display:flex}.login-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:11px;font-weight:600}.login-input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--fg);font-family:var(--font-mono);transition:var(--transition);padding:10px 14px;font-size:14px}.login-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.login-error{background:var(--status-error);align-items:center;gap:8px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.login-error{background:color-mix(in srgb,var(--status-error) 12%,transparent)}}.login-error{border:1px solid var(--status-error)}@supports (color:color-mix(in lab,red,red)){.login-error{border:1px solid color-mix(in srgb,var(--status-error) 35%,transparent)}}.login-error{border-radius:var(--radius-sm);color:var(--status-error);font-size:12px}.login-submit{background:var(--brand);color:var(--bg);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;margin-top:4px;padding:10px 16px;font-size:13px;font-weight:600}.login-submit:hover:not(:disabled){background:var(--brand-hover);box-shadow:0 4px 16px var(--brand-glow)}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-submit-link{text-align:center;text-decoration:none;display:block}.login-hint{color:var(--dim);text-align:center;margin-top:8px;font-size:10px;line-height:1.4}.login-hint code{background:var(--surface-raised);border-radius:3px;padding:1px 4px}.admin-section{flex-direction:column;gap:20px;padding:24px;display:flex}.admin-section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-section-header h1{color:var(--fg);margin:0 0 4px;font-size:20px;font-weight:700}.admin-section-header p{color:var(--muted);margin:0;font-size:12px}.auth-info-box,.auth-warning-box{border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:12px 16px;font-size:12px;line-height:1.5;display:flex}.auth-warning-box{background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.auth-warning-box{background:color-mix(in srgb,var(--status-warn) 10%,transparent)}}.auth-warning-box{border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.auth-warning-box{border:1px solid color-mix(in srgb,var(--status-warn) 30%,transparent)}}.auth-warning-box>svg:first-child{color:var(--status-warn);flex-shrink:0;margin-top:2px}.auth-info-box{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.auth-info-box{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.auth-info-box{border:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.auth-info-box{border:1px solid color-mix(in srgb,var(--brand) 25%,transparent)}}.auth-info-box>svg:first-child{color:var(--brand);flex-shrink:0;margin-top:2px}.auth-info-box strong,.auth-warning-box strong{color:var(--fg);font-weight:600}.auth-info-box p,.auth-warning-box p{color:var(--muted);margin:4px 0 0}.auth-info-box code,.auth-warning-box code{background:var(--surface-raised);font-family:var(--font-mono);border-radius:3px;padding:1px 5px;font-size:11px}.auth-info-box a{color:var(--brand);text-decoration:underline}.auth-mode-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.auth-mode-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:var(--transition);align-items:flex-start;gap:12px;padding:16px;display:flex}.auth-mode-card:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-raised)}.auth-mode-card.selected{border-color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.auth-mode-card.selected{background:color-mix(in srgb,var(--brand) 6%,transparent)}}.auth-mode-card.disabled,.auth-mode-card:disabled{opacity:.5;cursor:not-allowed}.auth-mode-icon{flex-shrink:0;margin-top:2px}.auth-mode-body{flex:1;min-width:0}.auth-mode-title{color:var(--fg);align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.auth-mode-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--brand);color:var(--bg);border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}.auth-mode-badge.muted{background:var(--surface-hover);color:var(--muted)}.auth-mode-desc{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.widget-compact{align-items:center;gap:12px;min-height:84px;padding:14px 16px;display:flex}.widget-compact-icon{border-radius:var(--radius-md);background:var(--brand-glow);width:44px;height:44px;color:var(--brand);flex-shrink:0;place-items:center;display:grid}.widget-compact-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.widget-compact-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}.widget-compact-value{font-family:var(--font-mono);color:var(--fg);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.widget-compact-value-sep{color:var(--dim);margin:0 2px;font-weight:400}.widget-compact-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.weather-widget-card .weather-icon{color:var(--brand)}.weather-main{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.weather-icon-large{color:var(--brand);flex-shrink:0;place-items:center;display:grid}.weather-temp-block{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.weather-temp-big{font-family:var(--font-brand,var(--font-sans));color:var(--fg);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:38px;font-weight:600;line-height:1}.weather-loc-row{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.weather-state{color:var(--fg);padding-bottom:2px;font-size:12px}.weather-extra{color:var(--muted);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px;padding-bottom:8px;font-size:11px;display:flex}.weather-extra>span{align-items:center;gap:4px;display:inline-flex}.weather-forecast{grid-template-columns:repeat(5,1fr);gap:4px;padding-top:8px;display:grid}.weather-forecast-day{text-align:center;flex-direction:column;align-items:center;gap:2px;font-size:10px;display:flex}.weather-forecast-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.weather-forecast-icon{color:var(--brand);margin:4px 0 2px}.weather-forecast-temps{font-family:var(--font-mono);gap:1px;font-size:11px;display:inline-flex}.weather-temp-max{color:var(--fg);font-weight:600}.weather-temp-sep{color:var(--dim);margin:0 1px}.weather-temp-min{color:var(--dim)}.weather-compact-icon{color:#fbbf24;background:#fbbf2426}.kuma-widget-card{gap:10px}.kuma-totals{border-bottom:1px solid var(--border);gap:12px;padding:6px 0 8px;display:flex}.kuma-total-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.kuma-monitor-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.kuma-monitor-row{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:grid}.kuma-monitor-row+.kuma-monitor-row{border-top:1px solid var(--border)}.kuma-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kuma-monitor-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.kuma-monitor-meta{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;gap:8px;font-size:11px;display:inline-flex}.kuma-monitor-ping{color:var(--dim)}.kuma-history-bars{grid-column:1/-1;gap:1px;height:6px;margin-top:2px;display:flex}.kuma-history-bar{opacity:.6;border-radius:1px;flex:1;min-width:2px}.esphome-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.esphome-row{border-radius:var(--radius-sm);transition:background var(--transition);grid-template-columns:14px 1fr auto;align-items:center;gap:8px;padding:5px 6px;font-size:12px;display:grid}.esphome-row:hover{background:var(--surface-hover)}.esphome-icon{place-items:center;display:grid}.esphome-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.esphome-meta{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.esphome-device-list{flex-direction:column;gap:4px;margin-top:6px;display:flex}.esphome-device-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px;display:grid}.esphome-device-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.esphome-mode-badge{border:1px solid var(--border);background:var(--surface-raised);color:var(--dim);font-family:var(--font-mono,ui-monospace);letter-spacing:.5px;text-transform:uppercase;border-radius:9999px;flex-shrink:0;align-items:center;margin-left:6px;padding:1px 6px;font-size:9px;display:inline-flex}.esphome-onboarding{border-radius:var(--radius-sm);border:1px dashed var(--status-warn);grid-template-columns:auto 1fr;gap:6px 10px;margin-top:8px;padding:12px;display:grid}@supports (color:color-mix(in lab,red,red)){.esphome-onboarding{border:1px dashed color-mix(in srgb,var(--status-warn) 35%,var(--border-strong))}}.esphome-onboarding{background:var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.esphome-onboarding{background:color-mix(in srgb,var(--status-warn) 5%,transparent)}}.esphome-onboarding{color:var(--muted);font-size:11px;line-height:1.45}.esphome-onboarding-icon{color:var(--status-warn);margin-top:1px}.esphome-onboarding-text{grid-column:2}.esphome-onboarding-text code{font-family:var(--font-mono,ui-monospace);background:var(--brand);border-radius:3px;padding:1px 4px;font-size:10px}@supports (color:color-mix(in lab,red,red)){.esphome-onboarding-text code{background:color-mix(in srgb,var(--brand) 10%,var(--surface-raised))}}.esphome-onboarding-text code{color:var(--fg)}.esphome-onboarding-cta{border-radius:var(--radius-sm);border:1px solid var(--brand);background:var(--brand);grid-column:2;align-self:start;align-items:center;gap:5px;margin-top:4px;padding:5px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.esphome-onboarding-cta{background:color-mix(in srgb,var(--brand) 8%,transparent)}}.esphome-onboarding-cta{color:var(--brand);font-size:11px;font-weight:600;text-decoration:none;transition:background .16s,color .16s}.esphome-onboarding-cta:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.esphome-onboarding-cta:hover{background:color-mix(in srgb,var(--brand) 18%,transparent)}}.esphome-onboarding-cta:hover{color:var(--fg)}.esphome-onboarding-error{border-radius:var(--radius-sm);background:var(--status-error);margin-top:6px;padding:4px 8px;display:block}@supports (color:color-mix(in lab,red,red)){.esphome-onboarding-error{background:color-mix(in srgb,var(--status-error) 8%,transparent)}}.esphome-onboarding-error{color:var(--status-error);font-family:var(--font-mono,ui-monospace);font-size:10px}.esphome-device-block--offline{opacity:.65}.esphome-device-header{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:background .12s;display:flex}.esphome-device-header:hover:not(:disabled){background:var(--surface-hover,var(--brand))}@supports (color:color-mix(in lab,red,red)){.esphome-device-header:hover:not(:disabled){background:var(--surface-hover,color-mix(in srgb,var(--brand) 6%,transparent))}}.esphome-device-header:disabled{cursor:default}.esphome-device-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.esphome-device-version{font-size:10px;font-family:var(--font-mono);color:var(--dim);flex-shrink:0}.esphome-device-error{color:var(--status-error);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.esphome-device-toggle{flex-shrink:0;align-items:center;gap:4px;display:flex}.esphome-sensor-list{border-top:1px solid var(--border);padding:4px 0}.esphome-sensor-row{justify-content:space-between;align-items:center;gap:8px;padding:4px 10px;font-size:11px;display:flex}.esphome-sensor-row:hover{background:var(--surface-hover,var(--brand))}@supports (color:color-mix(in lab,red,red)){.esphome-sensor-row:hover{background:var(--surface-hover,color-mix(in srgb,var(--brand) 5%,transparent))}}.esphome-sensor-name{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.esphome-sensor-value{font-family:var(--font-mono);color:var(--fg);flex-shrink:0;font-size:11px}.esphome-sensor-unit{color:var(--dim);margin-left:2px;font-size:10px}.z2m-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 0 8px;display:grid}.z2m-summary-cell{flex-direction:column;align-items:center;gap:2px;display:flex}.z2m-summary-label{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.z2m-summary-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.z2m-last-active{color:var(--muted);padding:2px 0 4px;font-size:11px}.z2m-last-active strong{color:var(--fg);font-weight:600}.z2m-low-battery-list{background:var(--status-warn);margin:4px 0 0;padding:8px 10px;list-style:none}@supports (color:color-mix(in lab,red,red)){.z2m-low-battery-list{background:color-mix(in srgb,var(--status-warn) 8%,transparent)}}.z2m-low-battery-list{border:1px solid var(--status-warn)}@supports (color:color-mix(in lab,red,red)){.z2m-low-battery-list{border:1px solid color-mix(in srgb,var(--status-warn) 25%,transparent)}}.z2m-low-battery-list{border-radius:var(--radius-sm);flex-direction:column;gap:4px;display:flex}.z2m-low-battery-row{grid-template-columns:12px 1fr auto;align-items:center;gap:6px;font-size:11px;display:grid}.z2m-name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.z2m-battery{font-family:var(--font-mono);color:var(--status-warn);font-weight:600}:root{--speedtest-color:#f59e0b}.speedtest-accent{background:linear-gradient(#f59e0b,#d97706)}.speedtest-icon{color:#f59e0b}.speedtest-dl{color:var(--status-ok)}.speedtest-dl,.speedtest-ul{font-family:var(--font-mono,ui-monospace);font-size:11px;font-weight:700}.speedtest-ul{color:var(--brand)}.speedtest-value{font-family:var(--font-mono,ui-monospace);color:#f59e0b;font-size:11px;font-weight:700}.speedtest-compact-icon{color:#f59e0b;background:#f59e0b26;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.speedtest-bar-fill{border-radius:2px;height:100%;transition:width .4s}.speedtest-chart{align-items:flex-end;gap:2px;height:32px;padding:0 2px;display:flex}.speedtest-chart-bar{background:var(--status-ok);flex:1}@supports (color:color-mix(in lab,red,red)){.speedtest-chart-bar{background:color-mix(in srgb,var(--status-ok) 60%,transparent)}}.speedtest-chart-bar{border-radius:2px 2px 0 0;min-height:4px}:root{--pihole-color:#ef4444}.pihole-accent{background:linear-gradient(#ef4444,#dc2626)}.pihole-icon{color:#ef4444}.pihole-blockrate{color:#ef4444;font-size:11px;font-weight:700}.pihole-blocked,.pihole-blockrate{font-family:var(--font-mono,ui-monospace)}.pihole-blocked{color:var(--status-error);font-size:10px}.pihole-bar-fill{background:#ef4444;border-radius:2px;height:100%;transition:width .4s}.custom-rest-accent{background:linear-gradient(#818cf8,#6366f1)}.custom-rest-icon{color:#818cf8}.custom-rest-compact-icon{color:#818cf8;background:#818cf826;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.custom-rest-error-text{color:var(--status-error);font-size:11px;font-weight:700}.custom-rest-refresh-btn{color:var(--dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;transition:color .15s;display:inline-flex}.custom-rest-refresh-btn:hover{color:var(--fg)}.widget-badge-err{background:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.widget-badge-err{background:color-mix(in srgb,var(--status-error) 15%,transparent)}}.widget-badge-err{color:var(--status-error)}.custom-rest-tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.custom-rest-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.custom-rest-tile-label{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:9px;font-family:var(--font-mono,ui-monospace)}.custom-rest-tile-value{color:var(--fg);font-size:15px;font-weight:700;font-family:var(--font-mono,ui-monospace);line-height:1.2}.custom-rest-tile-unit{color:var(--muted);font-size:10px;font-weight:400}.custom-rest-raw{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;max-height:200px;padding:8px;font-size:9px;overflow:auto}.custom-rest-raw,.custom-rest-single{font-family:var(--font-mono,ui-monospace)}.custom-rest-single{color:var(--fg);text-align:center;padding:12px 0;font-size:22px;font-weight:700}.crest-tile-row{align-items:center}.crest-header-row,.crest-tile-row{grid-template-columns:1fr 1fr 80px auto;gap:6px;display:grid}.crest-header-row{margin-bottom:4px}.crest-tile-add{color:var(--brand);border:1px dashed var(--brand);background:0 0;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.crest-tile-add{border:1px dashed color-mix(in srgb,var(--brand) 40%,transparent)}}.crest-tile-add{border-radius:var(--radius-sm);cursor:pointer;justify-content:center;width:100%;padding:6px 12px;transition:background .15s}.crest-tile-add:hover{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.crest-tile-add:hover{background:color-mix(in srgb,var(--brand) 6%,transparent)}}[data-theme=graphite-command]{color-scheme:dark;--bg:#07090d;--bg-2:#0b0f15;--surface:#10161f;--surface-raised:#151d28;--surface-hover:#1b2531;--border:#dee8f318;--border-strong:#dee8f32e;--fg:#edf4fb;--muted:#92a0af;--dim:#667382;--brand:#36d6c2;--brand-hover:#56e6d4;--brand-glow:#36d6c229;--brand-glow-str:#36d6c247;--status-ok:#38d979;--status-warn:#ffbf47;--status-error:#ff5e67;--shadow-card:0 22px 70px #00000057;--shadow-glow:0 0 0 1px #36d6c22e,0 16px 45px #36d6c21f;--radius-sm:5px;--radius-md:7px;--radius-lg:8px;--radius-xl:12px;--cat-infrastructure:#36d6c2;--cat-smart-home:#ff9f43;--cat-media:#a78bfa;--cat-tools:#ffbf47;--cat-external:#58a6ff;--gc-accent-blue:#58a6ff;--gc-accent-violet:#a78bfa;--gc-accent-orange:#ff9f43;--gc-status-unknown:#7d8998}[data-theme=graphite-command] body{background:linear-gradient(180deg,#36d6c20e,transparent 280px),radial-gradient(circle at 16% 8%,#57a6ff1f,transparent 320px),radial-gradient(circle at 92% 18%,#36d6c21c,transparent 300px),var(--bg);color:var(--fg)}[data-theme=graphite-command] body:before{background:0 0}html[data-theme=graphite-command]:not([data-bg-pattern]) body:after,html[data-theme=graphite-command][data-bg-pattern=mesh] body:after{opacity:1;background-image:linear-gradient(#ffffff06 1px,#0000 0),linear-gradient(90deg,#ffffff06 1px,#0000 0);background-size:42px 42px;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}html[data-theme=graphite-command][data-bg-pattern=none] body:after{opacity:0;background:0 0!important}[data-theme=graphite-command]{font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif}[data-theme=graphite-command] h1,[data-theme=graphite-command] h2,[data-theme=graphite-command] h3,[data-theme=graphite-command] h4{letter-spacing:0;color:var(--fg);font-weight:720}[data-theme=graphite-command] .font-mono,[data-theme=graphite-command] code,[data-theme=graphite-command] pre{font-family:IBM Plex Mono,Cascadia Mono,ui-monospace,monospace}[data-theme=graphite-command] .app-header{border-bottom:1px solid var(--border);min-height:70px;margin-bottom:20px;padding:12px 0 18px}[data-theme=graphite-command] .app-header:after{display:none}[data-theme=graphite-command] .logo-mark-box{background:linear-gradient(135deg,#16313a,#0b151b 58%,#14302d);border:1px solid #36d6c26b;border-radius:10px;width:42px;height:42px;box-shadow:0 0 0 1px #ffffff0a,0 12px 34px #36d6c229}[data-theme=graphite-command] .logo-mark-shine{display:none}[data-theme=graphite-command] .logo-name{letter-spacing:.04em;text-transform:uppercase;background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:var(--fg);color:var(--fg);text-shadow:none;font-family:Saira,IBM Plex Sans,system-ui,sans-serif;font-size:15px;font-weight:760}[data-theme=graphite-command] .logo-sub{letter-spacing:1px;color:var(--dim);text-transform:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}[data-theme=graphite-command] .nav-pill{color:var(--muted);letter-spacing:0;text-transform:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:1px solid #0000;border-radius:7px;padding:9px 11px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:12px;font-weight:500;transition:all .16s}[data-theme=graphite-command] .nav-pill-active,[data-theme=graphite-command] .nav-pill:hover{color:var(--fg);border-color:var(--border);box-shadow:none;background:#ffffff0b;transform:none}[data-theme=graphite-command] .admin-card,[data-theme=graphite-command] .card,[data-theme=graphite-command] .ha-card,[data-theme=graphite-command] .infra-card,[data-theme=graphite-command] .svc-card,[data-theme=graphite-command] .widget-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0d,#ffffff06),var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;transition:all .16s;box-shadow:inset 0 1px #ffffff0a}[data-theme=graphite-command] .admin-card:after,[data-theme=graphite-command] .admin-card:before,[data-theme=graphite-command] .card:after,[data-theme=graphite-command] .card:before,[data-theme=graphite-command] .ha-card:after,[data-theme=graphite-command] .ha-card:before,[data-theme=graphite-command] .svc-card:after,[data-theme=graphite-command] .svc-card:before,[data-theme=graphite-command] .widget-card:after,[data-theme=graphite-command] .widget-card:before{display:none}[data-theme=graphite-command] .card:hover,[data-theme=graphite-command] .ha-card:hover,[data-theme=graphite-command] .infra-card:hover,[data-theme=graphite-command] .svc-card:hover,[data-theme=graphite-command] .widget-card:hover{border-color:var(--border-strong);background:linear-gradient(180deg,#fff1,#ffffff09),var(--surface-raised);box-shadow:var(--shadow-card);transform:translateY(-2px)}[data-theme=graphite-command] .svc-card{gap:12px;min-height:142px;padding:14px;position:relative;overflow:hidden}[data-theme=graphite-command] .svc-card:before{content:"";background:var(--svc-color,var(--brand));opacity:.9;border-radius:0;width:3px;padding:0;display:block;position:absolute;top:0;bottom:0;left:0;-webkit-mask:none;mask:none}[data-theme=graphite-command] .svc-card:hover:before{opacity:1}[data-theme=graphite-command] .svc-card .svc-icon,[data-theme=graphite-command] .svc-card .svc-icon-emoji,[data-theme=graphite-command] .svc-card .svc-icon-img-wrap{border:1px solid var(--border);background:#ffffff0f;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}[data-theme=graphite-command] .svc-card .svc-name,[data-theme=graphite-command] .svc-name{letter-spacing:0;font-size:14px;font-weight:720}[data-theme=graphite-command] .latency,[data-theme=graphite-command] .svc-latency{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px}[data-theme=graphite-command] .infra-card{padding:16px}[data-theme=graphite-command] .infra-card .server-head{padding:0}[data-theme=graphite-command] .infra-card h2,[data-theme=graphite-command] .infra-card h3,[data-theme=graphite-command] .server-name-wrap .name{color:var(--fg);letter-spacing:0;font-size:14px;font-weight:760}[data-theme=graphite-command] .infra-card .ip,[data-theme=graphite-command] .server-name-wrap .ip,[data-theme=graphite-command] .stat-head,[data-theme=graphite-command] .stat-meta{color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace}[data-theme=graphite-command] .stat-head{letter-spacing:0;font-weight:600}[data-theme=graphite-command] .track,[data-theme=graphite-command] .widget-progress-track{background:#ffffff12;border-radius:999px;height:7px}[data-theme=graphite-command] .fill,[data-theme=graphite-command] .widget-progress-fill{background:linear-gradient(90deg,var(--brand),var(--gc-accent-blue));box-shadow:none;border-radius:999px}[data-theme=graphite-command] .stor-track{background:#ffffff0f;border-color:#ffffff14;border-radius:4px}[data-theme=graphite-command] .stor-fill{background:linear-gradient(180deg,var(--brand),#36d6c280);box-shadow:none;border-radius:3px}[data-theme=graphite-command] .widget-card{padding:14px}[data-theme=graphite-command] .widget-accent{background:var(--brand);opacity:.85;width:3px}[data-theme=graphite-command] .widget-title{letter-spacing:0;font-size:13px;font-weight:740}[data-theme=graphite-command] .widget-instance{border-radius:var(--radius-md);border:1px solid var(--border);background:#00000021;padding:11px}[data-theme=graphite-command] .widget-instance+.widget-instance{margin-top:10px}[data-theme=graphite-command] .widget-hint,[data-theme=graphite-command] .widget-stat-label{color:var(--muted);font-family:IBM Plex Sans,system-ui,sans-serif}[data-theme=graphite-command] .widget-stat-value{color:var(--fg);font-family:IBM Plex Mono,ui-monospace,monospace}[data-theme=graphite-command] .ha-health-ok,[data-theme=graphite-command] .system-ok,[data-theme=graphite-command] .widget-status-ok{color:var(--status-ok);background:#38d9791f;border:1px solid #38d97952}[data-theme=graphite-command] .ha-health-warn,[data-theme=graphite-command] .system-warn,[data-theme=graphite-command] .widget-status-warn{color:var(--status-warn);background:#ffbf471f;border:1px solid #ffbf4752}[data-theme=graphite-command] .ha-health-err,[data-theme=graphite-command] .system-error,[data-theme=graphite-command] .widget-status-err{color:var(--status-error);background:#ff5e671f;border:1px solid #ff5e6752}[data-theme=graphite-command] .section-label{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:500}[data-theme=graphite-command] .section-label:before{background:var(--brand);width:22px;height:2px;box-shadow:none}[data-theme=graphite-command] .btn-primary{border-radius:var(--radius-md);color:var(--fg);box-shadow:none;letter-spacing:0;background:linear-gradient(135deg,#36d6c238,#57a6ff1f);border:1px solid #36d6c26b;font-weight:600}[data-theme=graphite-command] .btn-primary:hover{box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#36d6c252,#57a6ff2e);border-color:#36d6c28c;transform:none}[data-theme=graphite-command] .btn-ghost{border-radius:var(--radius-md);border:1px solid var(--border);color:var(--muted);-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff0a}[data-theme=graphite-command] .btn-ghost:hover{border-color:var(--border-strong);color:var(--fg);background:#ffffff13}[data-theme=graphite-command] .admin-input,[data-theme=graphite-command] input[type=number],[data-theme=graphite-command] input[type=password],[data-theme=graphite-command] input[type=text],[data-theme=graphite-command] input[type=url],[data-theme=graphite-command] select,[data-theme=graphite-command] textarea{border-radius:var(--radius-md);border:1px solid var(--border);color:var(--fg);-webkit-backdrop-filter:none;backdrop-filter:none;background:#00000024}[data-theme=graphite-command] .admin-input:focus,[data-theme=graphite-command] input:focus,[data-theme=graphite-command] select:focus,[data-theme=graphite-command] textarea:focus{background:#0003;border-color:#36d6c28c;outline:none;box-shadow:0 0 0 3px #36d6c22e}[data-theme=graphite-command] .badge,[data-theme=graphite-command] .chip,[data-theme=graphite-command] .svc-cat-badge,[data-theme=graphite-command] .tag{color:var(--muted);border:1px solid var(--border);letter-spacing:0;background:#ffffff09;border-radius:999px;font-family:IBM Plex Sans,system-ui,sans-serif;font-weight:500}[data-theme=graphite-command] .badge-teal{color:var(--fg);background:linear-gradient(135deg,#36d6c238,#57a6ff1f);border-color:#36d6c26b}[data-theme=graphite-command] .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#07090dd1}[data-theme=graphite-command] .modal-shell{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=graphite-command] .modal-header{border-bottom:1px solid var(--border);background:0 0}[data-theme=graphite-command] .modal-title{color:var(--fg);letter-spacing:0;font-weight:720}[data-theme=graphite-command] .modal-footer{border-top:1px solid var(--border);background:0 0}[data-theme=graphite-command] .toast{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--fg)}[data-theme=graphite-command] .toast-success{border-left:3px solid var(--status-ok)}[data-theme=graphite-command] .toast-error{border-left:3px solid var(--status-error)}[data-theme=graphite-command] .toast-info{border-left:3px solid var(--brand)}[data-theme=graphite-command] .admin-topbar{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:none;color:var(--fg)}[data-theme=graphite-command] .admin-sidebar{background:var(--surface);border-right:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=graphite-command] .admin-nav-link{border-radius:var(--radius-md);color:var(--muted);border:1px solid #0000}[data-theme=graphite-command] .admin-nav-link:hover{border-color:var(--border);color:var(--fg);background:#ffffff0b}[data-theme=graphite-command] .admin-nav-link-active{color:var(--fg);background:#36d6c213;border:1px solid #36d6c252}[data-theme=graphite-command] .app-footer{border-top:1px solid var(--border);background:0 0;border-radius:0;margin-top:28px;padding-top:18px}[data-theme=graphite-command] .qlink{border:1px solid var(--border);color:var(--muted);-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff09;border-radius:999px;font-weight:500;transition:all .16s}[data-theme=graphite-command] .qlink:hover{color:var(--fg);box-shadow:none;background:#36d6c213;border-color:#36d6c252;transform:none}[data-theme=graphite-command] .auth-banner{border-radius:var(--radius-md);background:linear-gradient(135deg,#ffbf471a,transparent 50%),var(--surface);color:var(--fg);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #ffbf474d;box-shadow:inset 0 1px #ffffff0a}[data-theme=graphite-command] ::-webkit-scrollbar{width:10px;height:10px}[data-theme=graphite-command] ::-webkit-scrollbar-track{background:0 0}[data-theme=graphite-command] ::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px}[data-theme=graphite-command] ::-webkit-scrollbar-thumb:hover{background:#36d6c252}[data-theme=graphite-command] :focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){[data-theme=graphite-command] .card:hover,[data-theme=graphite-command] .infra-card:hover,[data-theme=graphite-command] .svc-card:hover,[data-theme=graphite-command] .widget-card:hover{transform:none}}@media print{[data-theme=graphite-command] body:after{display:none}[data-theme=graphite-command] .card,[data-theme=graphite-command] .svc-card,[data-theme=graphite-command] .widget-card{box-shadow:none;color:#000;background:#fff;border-color:#ccc}}[data-theme=graphite-command] .board-switcher-menu{background:var(--surface);border-color:var(--border);box-shadow:0 12px 40px #00000080,0 0 0 1px #36d6c214}[data-theme=graphite-command] .board-switcher-item:hover,[data-theme=graphite-command] .board-switcher-item[data-highlighted]{color:var(--fg);background:#36d6c214}[data-theme=graphite-command] .board-switcher-item--add:hover,[data-theme=graphite-command] .board-switcher-item--add[data-highlighted]{color:var(--fg)}[data-theme=graphite-command] .board-switcher-home-badge{color:var(--brand);background:#36d6c214;border-color:#36d6c259}[data-theme=graphite-command] .header-search-dropdown{background:var(--surface);border-color:var(--border);box-shadow:0 16px 48px #0000008c,0 0 0 1px #36d6c214}[data-theme=graphite-command] .header-search-item-active,[data-theme=graphite-command] .header-search-item:hover{background:#36d6c212}[data-theme=graphite-command] .header-search-item-icon{color:var(--brand)}[data-theme=graphite-command] .header-search-item-hotkey{border-color:var(--border);background:#ffffff0a}[data-theme=graphite-command] .edit-mode-toggle{background:#36d6c20a;border-color:#36d6c240}[data-theme=graphite-command] .edit-mode-toggle:hover{color:var(--brand);background:#36d6c21a;border-color:#36d6c28c;box-shadow:0 0 0 3px #36d6c21a}[data-theme=graphite-command] .edit-mode-toggle-active{color:var(--brand);background:#36d6c21a;border-color:#36d6c28c;box-shadow:0 0 0 2px #36d6c21f}.board-grid-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;color:var(--dim);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:64px 24px;display:flex}.board-grid-empty-icon{opacity:.4}.board-grid-empty-title{color:var(--muted);font-size:14px;font-weight:600}.board-grid-empty-hint{max-width:320px;font-size:12px;line-height:1.5}.board-switcher-trigger--empty{opacity:.5;cursor:not-allowed}.board-switcher-trigger--empty:hover{background:var(--surface);border-color:var(--border)}.main-content{flex-direction:column;gap:20px;display:flex}.admin-app-layout .main-content{gap:0}.admin-pane{min-width:0}@media (max-width:880px){.admin-body{grid-template-columns:1fr;gap:16px}.admin-sidebar{position:static}}.rgl-board{width:100%;position:relative}.board-grid-loading{width:100%;min-height:200px}.rgl-tile{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.rgl-tile>.admin-card,.rgl-tile>.card,.rgl-tile>.ha-card,.rgl-tile>.svc-card,.rgl-tile>.widget-card,.rgl-tile>.widget-error-card{flex:1 1 0;width:100%;height:100%;min-height:0;overflow:hidden auto}.rgl-tile>.widget-link-wrapper{flex:1 1 0;width:100%;min-width:0;height:100%;min-height:0;display:flex}.rgl-tile>.widget-link-wrapper>.widget-card{flex:1 1 0;width:100%;height:100%;min-height:0;overflow:hidden auto}.rgl-tile .card,.rgl-tile .ha-card,.rgl-tile .widget-card{min-width:0}.rgl-tile>.ha-card::-webkit-scrollbar,.rgl-tile>.widget-card::-webkit-scrollbar{width:4px}.rgl-tile>.admin-card::-webkit-scrollbar,.rgl-tile>.card::-webkit-scrollbar{width:4px}.rgl-tile>.ha-card::-webkit-scrollbar-thumb,.rgl-tile>.widget-card::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.rgl-tile>.admin-card::-webkit-scrollbar-thumb,.rgl-tile>.card::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.rgl-drag-handle{z-index:30;background:var(--surface);justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:6px;left:6px}@supports (color:color-mix(in lab,red,red)){.rgl-drag-handle{background:color-mix(in srgb,var(--surface) 85%,transparent)}}.rgl-drag-handle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--muted);cursor:grab;transition:var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rgl-drag-handle:hover{background:var(--surface-raised);color:var(--brand);border-color:var(--brand)}.rgl-drag-handle:active{cursor:grabbing}.rgl-board .react-grid-item{transition-property:transform,width,height;transition-duration:.18s;transition-timing-function:ease}.rgl-board .react-grid-item.react-draggable-dragging,.rgl-board .react-grid-item.resizing{z-index:100;transition:none}.rgl-board .react-grid-item.react-draggable-dragging{opacity:.94;cursor:grabbing;box-shadow:0 16px 38px #0006}.rgl-board .react-grid-item.resizing{opacity:.95;box-shadow:0 12px 30px #00000052}.rgl-board .react-grid-placeholder{background:var(--brand)!important}@supports (color:color-mix(in lab,red,red)){.rgl-board .react-grid-placeholder{background:color-mix(in srgb,var(--brand) 22%,transparent)!important}}.rgl-board .react-grid-placeholder{border:2px dashed var(--brand);border-radius:var(--radius-lg);transition:all .16s;opacity:1!important}.rgl-board .react-resizable-handle{background-image:none;background:linear-gradient(135deg,transparent 0,transparent 30%,var(--border-strong) 30%,var(--border-strong) 42%,transparent 42%,transparent 56%,var(--border-strong) 56%,var(--border-strong) 68%,transparent 68%,transparent 82%,var(--border-strong) 82%,var(--border-strong) 94%,transparent 94%);opacity:.55;cursor:se-resize;z-index:30;border-radius:4px;width:18px;height:18px;padding:0;transition:opacity .15s,background .15s,transform .15s;bottom:4px;right:4px}.rgl-board .react-resizable-handle-e{cursor:ew-resize;background:linear-gradient(90deg,transparent 0 3px,var(--brand) 3px 5px,transparent 5px 8px,var(--brand) 8px 10px,transparent 10px);width:12px;height:42px;top:50%;bottom:auto;right:2px;transform:translateY(-50%)}.rgl-board .react-resizable-handle-w{cursor:ew-resize;background:linear-gradient(90deg,transparent 0 2px,var(--brand) 2px 4px,transparent 4px 7px,var(--brand) 7px 9px,transparent 9px);width:12px;height:42px;inset:50% auto auto 2px;transform:translateY(-50%)}.rgl-board .react-resizable-handle-s{cursor:ns-resize;background:linear-gradient(0deg,transparent 0 3px,var(--brand) 3px 5px,transparent 5px 8px,var(--brand) 8px 10px,transparent 10px);width:42px;height:12px;bottom:2px;left:50%;right:auto;transform:translate(-50%)}.rgl-board .react-resizable-handle-sw{cursor:sw-resize;background:linear-gradient(45deg,transparent 0,transparent 30%,var(--border-strong) 30%,var(--border-strong) 42%,transparent 42%,transparent 56%,var(--border-strong) 56%,var(--border-strong) 68%,transparent 68%,transparent 82%,var(--border-strong) 82%,var(--border-strong) 94%,transparent 94%);bottom:4px;left:4px;right:auto}.rgl-board .react-resizable-handle:after{display:none}.rgl-board .react-resizable-handle:hover{opacity:1;background:linear-gradient(135deg,transparent 0,transparent 30%,var(--brand) 30%,var(--brand) 42%,transparent 42%,transparent 56%,var(--brand) 56%,var(--brand) 68%,transparent 68%,transparent 82%,var(--brand) 82%,var(--brand) 94%,transparent 94%);transform:scale(1.15)}.rgl-board .react-resizable-handle-e:hover,.rgl-board .react-resizable-handle-w:hover{transform:translateY(-50%)scaleX(1.15)}.rgl-board .react-resizable-handle-s:hover{transform:translate(-50%)scaleY(1.15)}.rgl-board .react-resizable-handle-sw:hover{background:linear-gradient(45deg,transparent 0,transparent 30%,var(--brand) 30%,var(--brand) 42%,transparent 42%,transparent 56%,var(--brand) 56%,var(--brand) 68%,transparent 68%,transparent 82%,var(--brand) 82%,var(--brand) 94%,transparent 94%);transform:scale(1.15)}.rgl-board:not(.rgl-board-edit) .react-resizable-handle{display:none}.command-overview{border-top:1px solid var(--border);flex-direction:column;gap:18px;padding:22px 0 6px;display:flex}.cmd-row-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.cmd-row-top-text{flex-direction:column;gap:4px;min-width:0;display:flex}.cmd-eyebrow{letter-spacing:2px;text-transform:uppercase;color:var(--brand);font-size:10.5px;font-weight:700;font-family:var(--font-mono,ui-monospace,SFMono-Regular,monospace)}.cmd-title{color:var(--text,var(--fg));flex-wrap:wrap;align-items:baseline;gap:0 10px;margin:2px 0 0;font-size:24px;font-weight:700;line-height:1.2;display:flex}.cmd-title-time{font-variant-numeric:tabular-nums}.cmd-title-sep{color:var(--border-strong);font-weight:400}.cmd-title-domain{font-family:var(--font-mono,ui-monospace,SFMono-Regular,monospace);color:var(--muted);font-size:18px;font-weight:500}.cmd-subtitle{color:var(--dim,var(--muted));max-width:720px;margin:0;font-size:13px;line-height:1.45}.cmd-quick-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.cmd-quick-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text,var(--fg));background:var(--surface);align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.cmd-quick-btn{background:color-mix(in srgb,var(--surface) 70%,transparent)}}.cmd-quick-btn{transition:var(--transition);white-space:nowrap;text-decoration:none}.cmd-quick-btn:hover{border-color:var(--brand);color:var(--brand);background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cmd-quick-btn:hover{background:color-mix(in srgb,var(--brand) 10%,var(--surface))}}.cmd-quick-icon{font-size:13px;line-height:1}.cmd-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:980px){.cmd-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.cmd-kpi-grid{grid-template-columns:1fr}}.cmd-kpi-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition);flex-direction:column;gap:4px;padding:14px 16px 13px;display:flex;position:relative;overflow:hidden}.cmd-kpi-tile:before{content:"";background:var(--brand);opacity:.55;width:2px;position:absolute;inset:0 auto 0 0}.cmd-kpi-tile.cmd-kpi-ok:before{background:var(--ok,#2ecc71);opacity:.85}.cmd-kpi-tile.cmd-kpi-warn:before{background:var(--warn,#f5b942);opacity:.85}.cmd-kpi-tile.cmd-kpi-err:before{background:var(--err,#e74c3c);opacity:.95}.cmd-kpi-tile.cmd-kpi-muted:before{background:var(--border-strong);opacity:.45}.cmd-kpi-label{letter-spacing:1px;text-transform:uppercase;color:var(--dim,var(--muted));font-size:10.5px;font-weight:600}.cmd-kpi-value{font-size:30px;font-weight:700;font-family:var(--font-mono,ui-monospace,SFMono-Regular,monospace);font-variant-numeric:tabular-nums;color:var(--text,var(--fg));margin-top:2px;line-height:1.05}.cmd-kpi-meta{color:var(--muted);font-size:10.5px;font-family:var(--font-mono,ui-monospace,SFMono-Regular,monospace);letter-spacing:.2px;margin-top:6px}.cmd-kpi-tile.cmd-kpi-ok .cmd-kpi-value{color:var(--ok,#2ecc71)}.cmd-kpi-tile.cmd-kpi-warn .cmd-kpi-value{color:var(--warn,#f5b942)}.cmd-kpi-tile.cmd-kpi-err .cmd-kpi-value{color:var(--err,#e74c3c)}[data-theme=itsweber] .cmd-kpi-tile{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){[data-theme=itsweber] .cmd-kpi-tile{background:color-mix(in srgb,var(--surface) 80%,transparent)}}[data-theme=itsweber] .cmd-kpi-tile{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=itsweber] .cmd-quick-btn{background:var(--surface)}@supports (color:color-mix(in lab,red,red)){[data-theme=itsweber] .cmd-quick-btn{background:color-mix(in srgb,var(--surface) 60%,transparent)}}[data-theme=itsweber] .cmd-quick-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=graphite-command] .cmd-kpi-tile{background:linear-gradient(135deg,var(--surface),var(--brand))}@supports (color:color-mix(in lab,red,red)){[data-theme=graphite-command] .cmd-kpi-tile{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,transparent),color-mix(in srgb,var(--brand) 4%,var(--surface)))}}.landing-shell{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.landing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-card);flex-direction:column;align-items:center;padding:40px 32px 32px;display:flex}.landing-logo-wrap{background:var(--brand-glow);border-radius:16px;place-items:center;width:64px;height:64px;margin-bottom:20px;display:grid}.landing-text{text-align:center;flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.landing-title{color:var(--fg);font-size:22px;font-weight:700;font-family:var(--font-brand);letter-spacing:-.02em;margin:0}.landing-sub{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.landing-divider{background:var(--border);width:100%;height:1px;margin-bottom:24px}.landing-actions{width:100%;margin-bottom:20px}.landing-login-btn{border-radius:var(--radius-md);background:var(--brand);width:100%;color:var(--bg);justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s,background .15s;display:flex}.landing-login-btn:hover{opacity:.88}.landing-hint{color:var(--dim);margin:0;font-size:11px}.auth-oidc-title{align-items:center;gap:8px;display:flex}.auth-oidc-title-icon{color:var(--brand);flex-shrink:0}.auth-oidc-code{font-family:var(--font-mono);background:var(--surface-raised);border-radius:3px;padding:1px 5px;font-size:11px}.auth-oidc-secret-hint{color:var(--brand);text-transform:none;letter-spacing:0;margin-left:6px;font-size:10px;font-weight:500}.auth-oidc-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.auth-oidc-full{grid-column:1/-1}.auth-oidc-save-btn{margin-top:20px}@media (max-width:640px){.auth-oidc-grid{grid-template-columns:1fr}}.error-boundary-shell{background:var(--bg);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.error-boundary-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:480px;padding:40px 32px;display:flex}.error-boundary-icon{background:var(--status-warn);border-radius:50%;width:64px;height:64px}@supports (color:color-mix(in lab,red,red)){.error-boundary-icon{background:color-mix(in srgb,var(--status-warn) 12%,transparent)}}.error-boundary-icon{color:var(--status-warn);justify-content:center;align-items:center;display:flex}.error-boundary-title{color:var(--fg);margin:0;font-size:1.25rem;font-weight:600}.error-boundary-desc{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.error-boundary-digest{color:var(--muted);margin:0;font-size:.75rem}.error-boundary-digest code{background:var(--bg-elevated);border-radius:4px;padding:2px 6px}.error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}@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-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}@keyframes spin{to{transform:rotate(1turn)}}