.wordmark{display:inline-block;position:relative;height:1em;aspect-ratio:608 / 159;vertical-align:middle}.wordmark__ink,.wordmark__arc{position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask:center / contain no-repeat;mask:center / contain no-repeat}.wordmark__ink{background:currentColor;-webkit-mask-image:url(/assets/wenslo-ink-CV3-Irfg.png);mask-image:url(/assets/wenslo-ink-CV3-Irfg.png)}.wordmark__arc{background:var(--brand-arc);-webkit-mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmAAAACfCAYAAABeMGU1AAAC3ElEQVR42u3dQW7CQAxAUR/NR/PNcjTaSiBVaVGFAw5J35Nmw9Krr3hIIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAE8vrAQBgSH2ey7ezXH+7HQAAnmxZBdhv5xZlaVwAADMBtj4Vno4BAIwG2DrGAAB4wOVJp8QYAMBsgAkxAICdAsx6EgBgxwATYQAAKzkQYEIMAGCnABNhAAA7BJgQAwAE2E4BJsIAgH8dYF8htMT2F7KKMACADSp+fqRbhAEAnCjIRBgAwB8xJsIAAE4SYouxAgDMh1gZKQDAfIiJMACAHSIsjRMAYD7ERBgAwHCEuZQPALBDhJUxAgDMR1gaIwDAbIRZRQIANGRYRQIAjKuwigQAGLeEVSQAwKEiLI0PAOBxGZ6CAQAcKsLS+AAAerqrSE/BAACaMvpPwQAAaKqwhgQAGGcNCQAwrMJTMACAURk+TwQAMK7zj0hrSACADTKsIQEAxgkwAIBh1pAAAMNSgAEAzPNWfACAYZ01ZBobAIAAAwA4jAz3wAAABBgAwNkJMAAAAQYAcG6di/gAAAgwAAABBgDAEwMsjQ0AYDbAAAAQYAAAAgwAgDsuIcAAAN46wLyIFQBAgAEAHEcKMACAWdUIsDI2AAABBgBwGJ1/QKaxAQDMBhgAAE0VLuADALx9gJWxAQD0ddaPAgwAoKnC/S8AgFGdD3CXsQEAbFMCDADgvUMMAIAXhNi9GCvjAQB4fYwJMACAHUMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAD2pOceWzzYoNAAAAAElFTkSuQmCC);mask-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmAAAACfCAYAAABeMGU1AAAC3ElEQVR42u3dQW7CQAxAUR/NR/PNcjTaSiBVaVGFAw5J35Nmw9Krr3hIIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAE8vrAQBgSH2ey7ezXH+7HQAAnmxZBdhv5xZlaVwAADMBtj4Vno4BAIwG2DrGAAB4wOVJp8QYAMBsgAkxAICdAsx6EgBgxwATYQAAKzkQYEIMAGCnABNhAAA7BJgQAwAE2E4BJsIAgH8dYF8htMT2F7KKMACADSp+fqRbhAEAnCjIRBgAwB8xJsIAAE4SYouxAgDMh1gZKQDAfIiJMACAHSIsjRMAYD7ERBgAwHCEuZQPALBDhJUxAgDMR1gaIwDAbIRZRQIANGRYRQIAjKuwigQAGLeEVSQAwKEiLI0PAOBxGZ6CAQAcKsLS+AAAerqrSE/BAACaMvpPwQAAaKqwhgQAGGcNCQAwrMJTMACAURk+TwQAMK7zj0hrSACADTKsIQEAxgkwAIBh1pAAAMNSgAEAzPNWfACAYZ01ZBobAIAAAwA4jAz3wAAABBgAwNkJMAAAAQYAcG6di/gAAAgwAAABBgDAEwMsjQ0AYDbAAAAQYAAAAgwAgDsuIcAAAN46wLyIFQBAgAEAHEcKMACAWdUIsDI2AAABBgBwGJ1/QKaxAQDMBhgAAE0VLuADALx9gJWxAQD0ddaPAgwAoKnC/S8AgFGdD3CXsQEAbFMCDADgvUMMAIAXhNi9GCvjAQB4fYwJMACAHUMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAD2pOceWzzYoNAAAAAElFTkSuQmCC)}@media (forced-colors: active){.wordmark__ink,.wordmark__arc{forced-color-adjust:none;background:CanvasText}}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login__form{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px;padding:36px 32px 32px;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:var(--bw) solid var(--glass-edge);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);animation:surface-in var(--duration-spring) var(--ease-spring)}.login__wordmark{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--text)}.login__wordmark-mark{font-size:28px}.login__wordmark-sub{padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft)}.login__label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-muted)}.login__input{padding:10px 12px;font-size:14px;font-family:var(--font-ui);color:var(--text);background:var(--surface);border:var(--bw) solid var(--line-strong);border-radius:var(--radius-md)}.login__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login__hint{font-size:11.5px;color:var(--text-muted)}.login__totp-secret{display:block;margin:6px 0;padding:8px 10px;font-size:13px;font-family:monospace;letter-spacing:.04em;color:var(--text);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);word-break:break-all;-webkit-user-select:all;user-select:all}.login__error{margin:0;font-size:13px;color:var(--error)}.login__submit{margin-top:8px;padding:10px 12px;font-size:14px;font-weight:600;font-family:var(--font-ui);color:var(--solid-fg);background:var(--solid-bg);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease,transform var(--duration-spring) var(--ease-spring)}.login__submit:hover:not(:disabled){background:var(--solid-hover-bg);color:var(--solid-hover-fg)}.login__submit:active:not(:disabled){transform:scale(.98);transition:transform var(--duration-press) var(--ease-press)}.login__submit:disabled{opacity:.6;cursor:default}.app-shell{min-height:100vh;min-height:100dvh}.app-shell__content{padding:28px 32px 64px}.masthead{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:72px;padding:12px 32px;padding-top:max(12px,env(safe-area-inset-top));background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border-bottom:1px solid var(--glass-edge)}@supports (animation-timeline: scroll()){.masthead{background-color:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;animation:masthead-edge linear both;animation-timeline:scroll(root block);animation-range:0 24px}}@keyframes masthead-edge{0%{background-color:transparent;border-bottom-color:transparent}to{background-color:var(--glass-bg-strong);border-bottom-color:var(--glass-edge);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%)}}.masthead__brand{justify-self:start;display:inline-flex;align-items:center;font-size:26px;line-height:0;color:var(--text);padding:6px 4px;border-radius:var(--radius-sm)}.masthead__tools{justify-self:end;display:flex;align-items:center;gap:8px;min-width:0}.tabs{position:relative;display:flex;gap:2px;padding:4px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:999px;box-shadow:var(--shadow-1)}.tabs__thumb{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--surface-sunken);box-shadow:inset 0 0 0 var(--bw) var(--line);transition:transform var(--duration-spring) var(--ease-spring),width var(--duration-spring) var(--ease-spring);pointer-events:none}.tabs__tab{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 20px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.01em;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color .12s ease}.tabs__tab:hover{color:var(--text)}.tabs__tab:active{color:var(--text);background:var(--surface-hover);transition-duration:0ms}.tabs__tab[aria-current=page]{color:var(--text);font-weight:600}.tabs__tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}[data-theme=contrast] .tabs__thumb{box-shadow:inset 0 0 0 2px var(--accent)}.tabs__badge{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--error);color:var(--on-error);font-size:11px;font-weight:700;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.profile-menu-wrap{position:relative}.profile-btn{display:flex;align-items:center;gap:10px;max-width:260px;height:52px;padding:0 14px 0 6px;font:inherit;text-align:left;color:inherit;background:var(--surface);border:var(--bw) solid var(--line);border-radius:999px;box-shadow:var(--shadow-1);cursor:pointer;transition:background .12s ease,transform var(--duration-spring) var(--ease-spring)}.profile-btn:hover,.profile-btn[aria-expanded=true]{background:var(--surface-hover)}.profile-btn:active{transform:scale(.98);transition:transform var(--duration-press) var(--ease-press)}.profile-btn__avatar{width:40px;height:40px;border-radius:50%;background:var(--avatar-neutral-bg);color:var(--avatar-neutral-fg);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.profile-btn__meta{min-width:0;display:flex;flex-direction:column}.profile-btn__name{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-btn__role{font-size:11.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-btn__chevron{flex-shrink:0;color:var(--text-muted)}.profile-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:240px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-3);padding:6px;transform-origin:top right}.profile-menu.open{display:block;animation:surface-in var(--duration-spring) var(--ease-spring)}.profile-menu button{width:100%;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border:none;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.profile-menu button:hover,.profile-menu button:focus-visible{background:var(--surface-hover)}.profile-menu button:active{background:var(--accent-soft)}.profile-menu hr{border:none;border-top:var(--bw) solid var(--line);margin:5px 4px}.appearance-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--scrim);display:grid;place-items:center;padding:16px;animation:scrim-in var(--duration-spring) var(--ease-spring)}.appearance-dialog__panel{width:min(100%,880px);max-height:calc(100dvh - 32px);overflow:auto;background:var(--surface);color:var(--text);border-radius:18px;padding:20px 22px 24px;box-shadow:var(--shadow-3);animation:surface-in var(--duration-spring) var(--ease-spring)}.appearance-dialog__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.appearance-dialog__head h2{margin:0;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.018em}.appearance-dialog__close{width:44px;height:44px;border-radius:50%;border:none;background:transparent;color:var(--text-2);font-size:26px;line-height:1;cursor:pointer}.appearance-dialog__close:hover{background:var(--surface-hover)}.appearance-dialog__close:active{background:var(--surface-sunken)}.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:-6px 0 14px;font-size:13.5px}.crumbs__group{display:inline-flex;align-items:center;gap:6px;min-width:0}.crumbs__crumb{color:var(--text-muted);font-weight:500}.crumbs__crumb--link{color:var(--accent-strong);text-decoration:none}.crumbs__crumb--link:hover{text-decoration:underline}.crumbs__crumb--link:active{opacity:.55}.crumbs__current{color:var(--text-2);font-weight:600}.crumbs__sep{color:var(--text-muted)}@media (max-width: 1440px){.profile-btn__meta{display:none}.profile-btn{padding:0 10px 0 5px}}@media (max-width: 900px){.masthead{grid-template-columns:auto 1fr;grid-template-areas:"brand tools" "tabs tabs";row-gap:10px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.masthead__brand{grid-area:brand;font-size:22px}.masthead__tools{grid-area:tools;gap:6px}.tabs{grid-area:tabs;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}@supports (animation-timeline: scroll()){.tabs{animation:tabs-edge linear both;animation-timeline:scroll(self inline)}}.tabs::-webkit-scrollbar{display:none}.tabs__tab{flex:1 0 auto;justify-content:center;padding:0 14px;font-size:14px}.profile-btn{height:44px}.profile-btn__avatar{width:32px;height:32px;font-size:12px}.app-shell__content{padding:18px 16px 40px}}@keyframes tabs-edge{0%{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}to{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}}@media (prefers-reduced-motion: reduce){.tabs__thumb{transition:none}.profile-btn:active{transform:none}}.admin-brand{gap:10px;text-decoration:none}.admin-brand__tag{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft)}.admin-brand:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim);animation:scrim-in var(--duration-spring) var(--ease-spring)}.wizard{display:flex;flex-direction:column;width:100%;max-width:760px;max-height:min(860px,92vh);overflow:hidden;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);animation:surface-in var(--duration-spring) var(--ease-spring)}.wizard-steps{display:flex;gap:6px;padding:22px 28px 0;flex-shrink:0}.wizard-steps__item{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding-bottom:14px;border-bottom:2px solid var(--line);font-size:12.5px;font-weight:600;color:var(--text-muted);transition:color .2s ease,border-color .2s ease}.wizard-steps__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-steps__num{width:22px;height:22px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:var(--bw) solid var(--line-strong);background:var(--surface-sunken);font-size:11px;font-variant-numeric:tabular-nums;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.wizard-steps__item--active{color:var(--text);border-bottom-color:var(--accent)}.wizard-steps__item--active .wizard-steps__num{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.wizard-steps__item--done{color:var(--text-3);border-bottom-color:var(--accent-soft-2)}.wizard-steps__item--done .wizard-steps__num{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.wizard-body{flex:1;padding:24px 28px;overflow-y:auto}.wizard-foot{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:16px 28px;border-top:var(--bw) solid var(--line)}.wizard-foot__spacer{flex:1}.modules-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.modules-head__hint{margin:0;font-size:13.5px;color:var(--text-3)}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:var(--bw) solid var(--line);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform var(--duration-spring) var(--ease-spring)}.module-card:hover{border-color:var(--line-strong)}.module-card:active{transform:scale(.985);transition:transform var(--duration-press) var(--ease-press)}.module-card--on{border-color:var(--accent-soft-2);background:var(--accent-soft)}.module-card__text{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.module-card__name{font-size:14px;font-weight:600;color:var(--text)}.module-card__desc{font-size:12.5px;line-height:1.4;color:var(--text-muted)}.review-modules{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.review-modules li{padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--accent-strong);background:var(--accent-soft)}@media (max-width: 640px){.module-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.module-card:active{transform:none}}.wizard-step{display:flex;flex-direction:column;gap:10px}.tier-toggle{display:flex;gap:8px}.tier-toggle__btn{flex:1;padding:10px;font-size:13px;font-weight:600;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer}.tier-toggle__btn--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.floor-list{display:flex;flex-direction:column;gap:6px}.floor-list{margin-bottom:4px}.floor-editor-row{display:grid;grid-template-columns:28px 1fr auto auto 24px;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.floor-room-total{font-size:12.5px;color:var(--text-muted);white-space:nowrap}.floor-room-total--over{color:var(--error);font-weight:600}.floor-groups{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.floor-group{display:flex;align-items:center;gap:4px}.floor-group .room-count{width:64px;box-sizing:border-box}.remove-group-btn,.add-group-btn{background:transparent;border:none;cursor:pointer;font-family:var(--font-ui)}.remove-group-btn{color:var(--text-muted);font-size:12px}.remove-group-btn:hover{color:var(--error)}.add-group-btn{color:var(--accent-strong);font-size:12.5px;font-weight:600;padding:4px 2px}.roomtypes-editor{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.roomtype-chips{display:flex;flex-wrap:wrap;gap:6px}.roomtype-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;font-size:12.5px;font-weight:600;color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px}.roomtype-chip button{background:transparent;border:none;color:inherit;cursor:pointer;font-size:11px;padding:0 2px}.roomtype-chip button:disabled{opacity:.35;cursor:not-allowed}.roomtype-add{display:flex;gap:8px}.roomtype-add .field-input{flex:1;min-width:0}.fnum{width:28px;height:28px;border-radius:50%;background:var(--surface-sunken);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;color:var(--text-3)}.floor-label-input,.room-count,.roomtype-select{padding:7px 9px;font-size:13px;font-family:var(--font-ui);color:var(--text);background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-sm)}.floor-editor-row__copy{position:relative}.copy-btn{padding:7px 10px;font-size:12px;font-weight:600;background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--accent-strong);cursor:pointer;white-space:nowrap}.copy-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:10;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:12px;width:200px}.copy-popover__error{margin:6px 0 0;font-size:11.5px;color:var(--error)}.copy-popover__actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.remove-floor-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:13px}.remove-floor-btn:hover{color:var(--error)}.mode-toggle{display:flex;gap:8px;margin-bottom:4px}.mode-toggle__btn{padding:8px 14px;font-size:13px;font-weight:600;background:var(--surface-sunken);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer}.mode-toggle__btn--on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.roomtype-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.roomtype-name{font-weight:700;font-size:13px;width:110px;flex-shrink:0;overflow-wrap:anywhere}.roomtype-name__count{display:block;font-size:11.5px;font-weight:400;color:var(--text-muted)}.device-chip{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-3)}.template-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:8px}.template-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.template-card__head .roomtype-name{width:auto}.template-card__copy{font-size:12px}.template-slot{display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1.3fr) 20px;align-items:center;gap:8px}.template-slot__label{font-size:12.5px;font-weight:700;color:var(--accent-strong)}.template-slot__model{font-size:12.5px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-slot__alias{padding:6px 9px;font-size:13px}.template-add{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:4px;border-top:1px dashed var(--line)}.template-add .roomtype-select{flex:1 1 180px;min-width:0}.template-add .room-count{width:56px;box-sizing:border-box}.template-add__times{color:var(--text-muted);font-size:12px}.upload-dropzone{border:1px dashed var(--line-strong);border-radius:var(--radius-md);padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.ud-sub{font-size:12px;color:var(--text-muted)}.upload-dropzone__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.upload-dropzone__actions a.btn{text-decoration:none}.import-summary{display:flex;gap:10px;margin-top:12px}.import-stat{flex:1;background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px;text-align:center}.import-stat.err{border-color:var(--error);background:var(--error-bg)}.is-num{font-size:20px;font-weight:700;font-family:var(--font-display)}.is-label{font-size:11px;color:var(--text-muted)}.preview-table{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.pt-row{display:grid;grid-template-columns:50px 110px 1fr 70px;gap:8px;padding:8px 10px;font-size:12px;border-bottom:1px solid var(--line);align-items:center}.pt-row:last-child{border-bottom:none}.pt-head{font-weight:700;color:var(--text-muted);background:var(--surface-sunken)}.pt-row.err{background:var(--error-bg)}.pt-status.err{color:var(--error);font-weight:700}.review-section{margin-bottom:16px}.review-section h4{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.review-kv{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;border-bottom:1px solid var(--line)}.review-kv--sub{padding-left:14px;font-size:12.5px;color:var(--text-3)}.review-kv__warn{color:var(--error);font-weight:600}.wizard-error{margin:0 24px 12px;padding:10px 12px;font-size:13px;color:var(--error);background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-sm);overflow-wrap:anywhere}@media (max-width: 600px){.wizard-overlay{padding:0;align-items:stretch}.wizard{max-width:none;max-height:none;height:100%;border-radius:0}.wizard-steps{padding:14px 16px 0;gap:2px}.wizard-steps__label{display:none}.wizard-steps__item{justify-content:center;padding-bottom:10px}.wizard-body{padding:16px}.wizard-error{margin:0 16px 10px}.wizard-foot{padding:12px 16px;flex-wrap:wrap}.floor-editor-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2px}.floor-label-input{flex:1 1 120px;min-width:0}.floor-groups{flex:1 1 100%;padding-left:36px}.floor-group{flex:1 1 100%}.roomtype-select{flex:1 1 auto;min-width:0}.floor-editor-row__copy{flex:0 0 auto}.remove-floor-btn{flex:0 0 auto;margin-left:auto}.copy-popover{width:calc(100vw - 64px);max-width:260px}.template-slot{grid-template-columns:minmax(0,1fr) 20px}.template-slot__label{grid-column:1}.template-slot__model{grid-column:1;grid-row:2}.template-slot__alias{grid-column:1;grid-row:3}.template-slot .remove-group-btn{grid-column:2;grid-row:1}.import-summary{flex-wrap:wrap}.import-stat{flex:1 1 calc(50% - 5px)}.pt-row{grid-template-columns:34px 80px 1fr 50px;gap:6px;padding:7px 8px;font-size:11px}}.page-notice{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:18px;padding:12px 16px;font-size:13.5px;border-radius:var(--radius-lg);animation:surface-in var(--duration-spring) var(--ease-spring)}.page-notice--ok{color:var(--ok);background:var(--ok-bg);border:var(--bw) solid transparent}.page-notice a{color:inherit;font-weight:600}.page-notice__close{margin-left:auto;width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:inherit;cursor:pointer}.page-notice__close:hover{background:var(--ok-bg)}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}.status-badge--ok{color:var(--ok);background:var(--ok-bg)}.status-badge--warn{color:var(--warn);background:var(--warn-bg)}.status-badge--error{color:var(--error);background:var(--error-bg)}.status-badge--offline{color:var(--offline);background:var(--offline-bg)}.dash-grid.platform-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.platform-tiles .dash-card--wide{grid-column:span 2}.tile-skeleton,.energy-card__skeleton{height:64px;border-radius:var(--radius-md);background:var(--surface-sunken);animation:tile-pulse 1.4s ease-in-out infinite}.energy-card__skeleton{height:132px}@keyframes tile-pulse{50%{opacity:.55}}.energy-card__period{margin-left:auto;font-size:12.5px;color:var(--text-muted)}.energy-card__body{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:28px;flex:1}.energy-card__facts{gap:16px}.energy-card__facts .dash-note{margin:0}.energy-chart{position:relative;min-width:0}.energy-chart__svg{display:block;overflow:visible}.energy-chart__zero{stroke:var(--line-strong);stroke-width:1}.energy-chart__bar{fill:var(--accent);transition:opacity .15s ease}.energy-chart__bar--over{fill:var(--warn)}.energy-chart__bar--dim{opacity:.35}.energy-chart__hit{fill:transparent;outline:none;cursor:default}.energy-chart__hit:focus-visible{stroke:var(--focus-ring);stroke-width:2}.energy-chart__ticks{display:flex;justify-content:space-between;margin-top:6px;font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.energy-chart__tip{position:absolute;bottom:calc(100% + 6px);transform:translate(-50%);display:flex;flex-direction:column;gap:2px;padding:8px 11px;border:var(--bw) solid var(--line);border-radius:var(--radius-md);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-2);white-space:nowrap;pointer-events:none;z-index:2}.energy-chart__tip-month{font-size:11.5px;color:var(--text-muted)}.energy-chart__tip-value{font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px}.property-card{display:flex;flex-direction:column;gap:8px;padding:20px 22px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);color:inherit;text-decoration:none}.property-card--new{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.property-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.property-card__name{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--text)}.property-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--text-muted)}.property-card__figures{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:13px;color:var(--text-3)}.property-card__figures b{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.property-card__stats,.property-card__health{font-size:12.5px;color:var(--text-3)}@media (max-width: 1180px){.dash-grid.platform-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.dash-grid.platform-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.platform-tiles .dash-card{min-height:0;padding:18px}.platform-tiles .dash-card--wide{grid-column:1 / -1}.energy-card__body{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.tile-skeleton,.energy-card__skeleton{animation:none}}.data-table{border:var(--bw) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden;background:var(--surface)}.data-table__row{display:grid;gap:12px;min-height:48px;padding:12px 20px;font-size:13.5px;border-bottom:var(--bw) solid var(--line);align-items:center}.data-table__row:last-child{border-bottom:none}.data-table__head{font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--surface-sunken)}.data-table--device-catalog .data-table__row{grid-template-columns:1fr 1fr 110px 1fr 70px}.data-table--fleet-health .data-table__row{grid-template-columns:1.5fr 110px 100px 110px 110px 110px}.data-table--audit-log .data-table__row{grid-template-columns:150px 90px 110px 1fr 1fr}@media (max-width: 720px){.data-table--device-catalog .data-table__row,.data-table--fleet-health .data-table__row,.data-table--audit-log .data-table__row{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:12px 14px}.data-table--device-catalog .data-table__head,.data-table--fleet-health .data-table__head,.data-table--audit-log .data-table__head{display:none}.data-table__row>div[data-label]:before{content:attr(data-label);display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.data-table__row>div[data-label]:empty{display:none}}.empty-state{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.filter-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.filter-bar select,.filter-bar input{padding:7px 9px;font-size:12.5px;font-family:var(--font-ui);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);flex:1 1 160px;min-width:0}.inline-form{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:14px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.inline-form__field{display:flex;flex-direction:column;gap:4px;flex:1 1 140px;min-width:0}.inline-form__field label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.property-card--link{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.property-card--link:hover,.property-card--link:focus-visible{border-color:var(--accent);box-shadow:var(--shadow-2);outline:none}.overview-header{align-items:flex-start}.secondary-link{font-size:12.5px;font-weight:600;color:var(--accent-strong);text-decoration:none;white-space:nowrap}.secondary-link:hover,.secondary-link:focus-visible{text-decoration:underline}.discreet-link{font-size:12.5px;color:var(--text-muted);text-decoration:none;white-space:nowrap}.discreet-link:hover,.discreet-link:focus-visible{color:var(--accent-strong);text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:16px;margin-bottom:20px}.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:14px;padding:20px 22px 22px;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:var(--bw) solid var(--glass-edge);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow)}.stat__value{font-size:40px;font-weight:300;line-height:1.05;letter-spacing:-.034em;font-variant-numeric:tabular-nums;color:var(--text)}.stat__label{font-size:13px;font-weight:500;color:var(--text-muted)}.stat--error .stat__value{color:var(--error)}.stat--ok .stat__value{color:var(--ok)}.overview-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:20px}.overview-section{margin-bottom:20px;padding:22px 24px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.overview-section h3{margin:0 0 14px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.overview-kv{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:14px;border-bottom:var(--bw) solid var(--line)}.overview-kv:last-of-type{border-bottom:none}.overview-kv__muted{color:var(--text-muted);font-size:12.5px}.overview-kv__warn{color:var(--warn);font-weight:600}.overview-action{display:inline-block;margin-top:10px;text-decoration:none}.page-intro{margin:-8px 0 16px;max-width:720px;font-size:13.5px;color:var(--text-3)}.page-notice--error{color:var(--error);background:var(--error-bg);border:1px solid var(--error)}.name-everywhere{margin-bottom:18px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px}.name-everywhere__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.name-everywhere__title{font-weight:700;font-size:14px}.name-everywhere__scope{width:auto;padding:6px 9px;font-size:13px}.name-everywhere__row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:8px}.floor-picker{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:13px;font-weight:600;color:var(--text-3)}.floor-picker .field-input{width:auto;min-width:160px}.room-name-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.room-name-card{padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px}.room-name-card__title{font-weight:700;font-size:14px;margin-bottom:2px}.device-name-row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px}.device-name-row__label{font-size:12.5px;font-weight:700;color:var(--accent-strong)}.device-name-row__model{display:block;font-size:11px;font-weight:400;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-name-row__input{padding:6px 9px;font-size:13px}.device-name-row__input--edited{border-color:var(--warn);background:var(--warn-bg)}.has-save-bar{padding-bottom:72px}.save-bar{position:fixed;left:240px;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 24px;background:var(--surface);border-top:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:13.5px;font-weight:600}.save-bar__actions{display:flex;gap:8px}@media (max-width: 900px){.save-bar{left:0}}@media (max-width: 600px){.name-everywhere__row{grid-template-columns:minmax(0,1fr) auto}.name-everywhere__row .device-name-row__label{grid-column:1 / -1}.room-name-grid{grid-template-columns:1fr}.device-name-row{grid-template-columns:96px minmax(0,1fr)}.save-bar{padding:10px 16px;justify-content:space-between}}:root{--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display: var(--font-ui);--ease-spring: cubic-bezier(.25, 1, .3, 1);--duration-spring: .56s;--duration-drawer: .48s;--ease-press: cubic-bezier(.2, 0, 0, 1);--duration-press: .1s}@supports (transition-timing-function: linear(0,1)){:root{--ease-spring: linear(0, .09, .264, .442, .594, .713, .801, .864, .908, .939, .96, .973, .983, .989, .993, .995, .997, .998, .999, .999, 1)}}:root,[data-theme=sereno-light]{color-scheme:light;--bw: 1px;--bg: #EEF3F3;--surface: #FFFFFF;--surface-hover: #EDF3F3;--surface-sunken: #E3ECEC;--text: #1C2427;--text-2: #2A3438;--text-3: #44525A;--text-muted: #586770;--line: rgba(28, 36, 39, .09);--line-strong: rgba(28, 36, 39, .18);--accent: #2F6E73;--accent-strong: #245A5E;--accent-soft: rgba(47, 110, 115, .13);--accent-soft-2: rgba(47, 110, 115, .24);--on-accent: #FFFFFF;--focus-ring: #245A5E;--solid-bg: #1C2427;--solid-fg: #FFFFFF;--solid-hover-bg: #245A5E;--solid-hover-fg: #FFFFFF;--hero-bg: #1A2433;--hero-fg: #FFFFFF;--hero-label: #A9D4D8;--hero-muted: rgba(255, 255, 255, .7);--ok: #2F6A4F;--ok-bg: rgba(47, 106, 79, .12);--warn: #83510F;--warn-bg: rgba(192, 138, 58, .14);--error: #9F392D;--error-bg: rgba(200, 87, 63, .13);--error-bg-hover: rgba(200, 87, 63, .22);--error-border: rgba(200, 87, 63, .35);--warn-border: rgba(192, 138, 58, .4);--offline: #586770;--offline-bg: rgba(88, 103, 112, .12);--on-error: #FFFFFF;--chart-2: #659CB3;--sidebar-bg: rgba(255, 255, 255, .5);--sidebar-fg: #44525A;--sidebar-fg-dim: #586770;--sidebar-fg-strong: #1C2427;--sidebar-line: rgba(28, 36, 39, .08);--sidebar-hover: rgba(28, 36, 39, .05);--sidebar-active-bg: rgba(47, 110, 115, .14);--sidebar-active-fg: #245A5E;--sidebar-indicator: #2F6E73;--brand-arc: #3F6AF6;--sidebar-well: rgba(255, 255, 255, .6);--sidebar-well-hover: rgba(255, 255, 255, .85);--avatar-from: #A9D4D8;--avatar-to: #C9CBE6;--avatar-ink: #1C2427;--avatar-neutral-bg: #2A3438;--avatar-neutral-fg: #EEF3F3;--knob: #FFFFFF;--scrim: rgba(28, 36, 39, .4);--shadow-1: 0 1px 2px rgba(20, 36, 44, .06);--shadow-2: 0 10px 28px -10px rgba(26, 52, 64, .24);--shadow-3: 0 24px 56px -16px rgba(26, 52, 64, .32);--bg-ambient: radial-gradient(1000px 640px at 82% -10%, #D3E7E7 0%, rgba(211,231,231,0) 64%), radial-gradient(900px 620px at 12% 108%, #E2E2F0 0%, rgba(226,226,240,0) 62%), #EEF3F3;--glass-bg: rgba(255, 255, 255, .6);--glass-bg-strong: rgba(255, 255, 255, .78);--glass-edge: rgba(28, 36, 39, .08);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 12px 32px -14px rgba(26, 52, 64, .2);--glass-blur: 24px;--hero-glow: radial-gradient(120% 150% at 100% 0%, rgba(170, 200, 230, .22), rgba(170, 200, 230, 0) 58%), radial-gradient(90% 120% at 0% 100%, rgba(80, 160, 170, .18), rgba(80, 160, 170, 0) 60%)}[data-theme=sereno-dark]{color-scheme:dark;--bw: 1px;--bg: #15161B;--surface: #1E2028;--surface-hover: #2A2D36;--surface-sunken: #262932;--text: #F4F5F8;--text-2: #E2E4EC;--text-3: #BFC3D2;--text-muted: #9A9EAE;--line: rgba(244, 245, 248, .09);--line-strong: rgba(244, 245, 248, .18);--accent: #9AA3FF;--accent-strong: #BCC2FF;--accent-soft: rgba(154, 163, 255, .16);--accent-soft-2: rgba(154, 163, 255, .28);--on-accent: #15161B;--focus-ring: #BCC2FF;--solid-bg: #F4F5F8;--solid-fg: #15161B;--solid-hover-bg: #BCC2FF;--solid-hover-fg: #15161B;--hero-bg: #2A2D3A;--hero-fg: #FFFFFF;--hero-label: #BCC2FF;--hero-muted: rgba(255, 255, 255, .7);--ok: #7BC79A;--ok-bg: rgba(123, 199, 154, .14);--warn: #E5B566;--warn-bg: rgba(229, 181, 102, .14);--error: #F49A80;--error-bg: rgba(244, 154, 128, .14);--error-bg-hover: rgba(244, 154, 128, .24);--error-border: rgba(244, 154, 128, .38);--warn-border: rgba(229, 181, 102, .4);--offline: #A1A5B4;--offline-bg: rgba(154, 158, 174, .14);--on-error: #1A0D08;--chart-2: #F0A98C;--sidebar-bg: rgba(21, 22, 27, .6);--sidebar-fg: #BFC3D2;--sidebar-fg-dim: #9A9EAE;--sidebar-fg-strong: #F4F5F8;--sidebar-line: rgba(255, 255, 255, .07);--sidebar-hover: rgba(255, 255, 255, .05);--sidebar-active-bg: rgba(154, 163, 255, .16);--sidebar-active-fg: #DDE0FF;--sidebar-indicator: #9AA3FF;--brand-arc: #3F6AF6;--sidebar-well: rgba(255, 255, 255, .05);--sidebar-well-hover: rgba(255, 255, 255, .08);--avatar-from: #9AA3FF;--avatar-to: #E8B4A4;--avatar-ink: #15161B;--avatar-neutral-bg: #3A3E4C;--avatar-neutral-fg: #F4F5F8;--knob: #F8F1E2;--scrim: rgba(0, 0, 0, .55);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 8px 24px -8px rgba(0, 0, 0, .55);--shadow-3: 0 24px 56px -14px rgba(0, 0, 0, .7);--bg-ambient: radial-gradient(1000px 640px at 78% -8%, rgba(108, 118, 230, .22) 0%, rgba(108, 118, 230, 0) 66%), radial-gradient(900px 620px at 18% 108%, rgba(214, 140, 120, .12) 0%, rgba(214, 140, 120, 0) 62%), #15161B;--glass-bg: rgba(38, 41, 50, .55);--glass-bg-strong: rgba(30, 32, 40, .78);--glass-edge: rgba(255, 255, 255, .07);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 16px 40px -16px rgba(0, 0, 0, .6);--glass-blur: 24px;--hero-glow: radial-gradient(120% 140% at 100% 0%, rgba(108, 118, 230, .28), rgba(108, 118, 230, 0) 58%), radial-gradient(90% 120% at 0% 100%, rgba(214, 140, 120, .14), rgba(214, 140, 120, 0) 60%)}[data-theme=lagoon]{color-scheme:light;--bw: 1px;--bg: #F7F2EE;--surface: #FFFFFF;--surface-hover: #F8EFEA;--surface-sunken: #F3EBE6;--text: #2A2026;--text-2: #3A2E34;--text-3: #55474E;--text-muted: #685960;--line: rgba(42, 32, 38, .09);--line-strong: rgba(42, 32, 38, .18);--accent: #7457A8;--accent-strong: #5C4290;--accent-soft: rgba(116, 87, 168, .13);--accent-soft-2: rgba(116, 87, 168, .24);--on-accent: #FFFFFF;--focus-ring: #5C4290;--solid-bg: #2A2026;--solid-fg: #FFFFFF;--solid-hover-bg: #5C4290;--solid-hover-fg: #FFFFFF;--hero-bg: #2B1F2E;--hero-fg: #FFFFFF;--hero-label: #FFC9A8;--hero-muted: rgba(255, 255, 255, .7);--ok: #2F6B4C;--ok-bg: rgba(47, 107, 76, .12);--warn: #8A4F0C;--warn-bg: rgba(214, 140, 50, .14);--error: #A3322A;--error-bg: rgba(214, 90, 72, .13);--error-bg-hover: rgba(214, 90, 72, .22);--error-border: rgba(214, 90, 72, .35);--warn-border: rgba(214, 140, 50, .4);--offline: #685960;--offline-bg: rgba(104, 89, 96, .12);--on-error: #FFFFFF;--chart-2: #E0784D;--sidebar-bg: rgba(255, 255, 255, .5);--sidebar-fg: #55474E;--sidebar-fg-dim: #685960;--sidebar-fg-strong: #2A2026;--sidebar-line: rgba(42, 32, 38, .08);--sidebar-hover: rgba(42, 32, 38, .05);--sidebar-active-bg: rgba(116, 87, 168, .14);--sidebar-active-fg: #5C4290;--sidebar-indicator: #7457A8;--brand-arc: #3F6AF6;--sidebar-well: rgba(255, 255, 255, .6);--sidebar-well-hover: rgba(255, 255, 255, .85);--avatar-from: #F9C9A8;--avatar-to: #D9C8F0;--avatar-ink: #2A2026;--avatar-neutral-bg: #3A2E34;--avatar-neutral-fg: #F7F2EE;--knob: #FFFFFF;--scrim: rgba(42, 32, 38, .4);--shadow-1: 0 1px 2px rgba(60, 36, 44, .06);--shadow-2: 0 10px 28px -10px rgba(92, 52, 60, .24);--shadow-3: 0 24px 56px -16px rgba(92, 52, 60, .32);--bg-ambient: radial-gradient(1000px 640px at 82% -10%, #F9D8C4 0%, rgba(249,216,196,0) 64%), radial-gradient(900px 600px at 40% 50%, rgba(243,211,218,.55) 0%, rgba(243,211,218,0) 65%), radial-gradient(900px 620px at 12% 108%, #E2DCF4 0%, rgba(226,220,244,0) 62%), #F7F2EE;--glass-bg: rgba(255, 255, 255, .58);--glass-bg-strong: rgba(255, 255, 255, .76);--glass-edge: rgba(42, 32, 38, .08);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 12px 32px -14px rgba(92, 52, 60, .2);--glass-blur: 24px;--hero-glow: radial-gradient(120% 150% at 100% 0%, rgba(245, 160, 110, .34), rgba(245, 160, 110, 0) 58%), radial-gradient(90% 120% at 0% 100%, rgba(224, 122, 143, .22), rgba(224, 122, 143, 0) 60%)}[data-theme=slate]{color-scheme:dark;--bw: 1px;--bg: #0E1217;--surface: #161B22;--surface-hover: #1E252E;--surface-sunken: #232B36;--text: #E8ECF2;--text-2: #D5DCE6;--text-3: #AEB8C6;--text-muted: #8D99AB;--line: rgba(232, 236, 242, .09);--line-strong: rgba(232, 236, 242, .18);--accent: #8F9BFF;--accent-strong: #B3BBFF;--accent-soft: rgba(143, 155, 255, .16);--accent-soft-2: rgba(143, 155, 255, .32);--on-accent: #0E1217;--focus-ring: #B3BBFF;--solid-bg: #E8ECF2;--solid-fg: #0E1217;--solid-hover-bg: #B3BBFF;--solid-hover-fg: #0E1217;--hero-bg: #1B2433;--hero-fg: #F2F5FA;--hero-label: #A3AEFF;--hero-muted: rgba(242, 245, 250, .7);--ok: #62CB92;--ok-bg: rgba(98, 203, 146, .14);--warn: #E9B44C;--warn-bg: rgba(233, 180, 76, .14);--error: #F58585;--error-bg: rgba(245, 133, 133, .14);--error-bg-hover: rgba(245, 133, 133, .25);--error-border: rgba(245, 133, 133, .4);--warn-border: rgba(233, 180, 76, .4);--offline: #94A0B2;--offline-bg: rgba(148, 160, 178, .15);--on-error: #1B0A0A;--chart-2: #4FC3A6;--sidebar-bg: #0A0D11;--sidebar-fg: #B5BFCD;--sidebar-fg-dim: #8691A3;--sidebar-fg-strong: #F2F5FA;--sidebar-line: rgba(232, 236, 242, .08);--sidebar-hover: rgba(232, 236, 242, .06);--sidebar-active-bg: rgba(143, 155, 255, .16);--sidebar-active-fg: #DDE1FF;--sidebar-indicator: #8F9BFF;--brand-arc: #3F6AF6;--sidebar-well: rgba(232, 236, 242, .05);--sidebar-well-hover: rgba(232, 236, 242, .08);--avatar-from: #A9B3FF;--avatar-to: #6573E6;--avatar-ink: #0A0D11;--avatar-neutral-bg: #2A3342;--avatar-neutral-fg: #E8ECF2;--knob: #F2F5FA;--scrim: rgba(3, 5, 8, .66);--shadow-1: 0 1px 2px rgba(0, 0, 0, .45);--shadow-2: 0 8px 24px -8px rgba(0, 0, 0, .6);--shadow-3: 0 24px 56px -14px rgba(0, 0, 0, .75);--bg-ambient: radial-gradient(1000px 640px at 78% -8%, rgba(143, 155, 255, .12) 0%, rgba(143, 155, 255, 0) 62%), #0E1217;--glass-bg: rgba(22, 27, 34, .62);--glass-bg-strong: rgba(22, 27, 34, .8);--glass-edge: rgba(255, 255, 255, .07);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 16px 40px -16px rgba(0, 0, 0, .6);--glass-blur: 24px;--hero-glow: radial-gradient(120% 140% at 100% 0%, rgba(143, 155, 255, .22), rgba(143, 155, 255, 0) 58%)}[data-theme=sage]{color-scheme:light;--bw: 1px;--bg: #EDF0E8;--surface: #F7F9F3;--surface-hover: #E3E8DB;--surface-sunken: #DDE3D3;--text: #1B2417;--text-2: #2A3625;--text-3: #46563F;--text-muted: #566650;--line: rgba(27, 36, 23, .1);--line-strong: rgba(27, 36, 23, .19);--accent: #8A5778;--accent-strong: #6B3F5C;--accent-soft: rgba(138, 87, 120, .13);--accent-soft-2: rgba(138, 87, 120, .27);--on-accent: #FFFFFF;--focus-ring: #6B3F5C;--solid-bg: #1F2B1C;--solid-fg: #EEF2E8;--solid-hover-bg: #6B3F5C;--solid-hover-fg: #FFFFFF;--hero-bg: #243222;--hero-fg: #F1F5EA;--hero-label: #DDB0CB;--hero-muted: rgba(241, 245, 234, .72);--ok: #2A6F3F;--ok-bg: rgba(47, 122, 69, .12);--warn: #895609;--warn-bg: rgba(165, 101, 10, .13);--error: #A43126;--error-bg: rgba(184, 58, 46, .11);--error-bg-hover: rgba(184, 58, 46, .2);--error-border: rgba(184, 58, 46, .35);--warn-border: rgba(165, 101, 10, .4);--offline: #55654F;--offline-bg: rgba(95, 111, 88, .15);--on-error: #FFFFFF;--chart-2: #3F7A68;--sidebar-bg: #1C2619;--sidebar-fg: #BCCAB4;--sidebar-fg-dim: #8FA286;--sidebar-fg-strong: #F1F5EA;--sidebar-line: rgba(241, 245, 234, .09);--sidebar-hover: rgba(241, 245, 234, .06);--sidebar-active-bg: rgba(221, 176, 203, .16);--sidebar-active-fg: #F4DFEC;--sidebar-indicator: #DDB0CB;--brand-arc: #3F6AF6;--sidebar-well: rgba(241, 245, 234, .05);--sidebar-well-hover: rgba(241, 245, 234, .08);--avatar-from: #E3B9D2;--avatar-to: #C48CAD;--avatar-ink: #1C2619;--avatar-neutral-bg: #46563F;--avatar-neutral-fg: #F1F5EA;--knob: #FFFFFF;--scrim: rgba(20, 28, 17, .5);--shadow-1: 0 1px 2px rgba(27, 36, 23, .07);--shadow-2: 0 6px 20px -6px rgba(27, 36, 23, .2);--shadow-3: 0 20px 48px -12px rgba(27, 36, 23, .3);--bg-ambient: radial-gradient(1000px 640px at 78% -8%, rgba(138, 87, 120, .1) 0%, rgba(138, 87, 120, 0) 62%), #EDF0E8;--glass-bg: rgba(247, 249, 243, .66);--glass-bg-strong: rgba(247, 249, 243, .8);--glass-edge: rgba(27, 36, 23, .08);--glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 12px 32px -14px rgba(36, 50, 34, .2);--glass-blur: 24px;--hero-glow: radial-gradient(120% 140% at 100% 0%, rgba(138, 87, 120, .26), rgba(138, 87, 120, 0) 58%)}[data-theme=contrast]{color-scheme:dark;--bw: 2px;--bg: #000000;--surface: #0B0B0B;--surface-hover: #1C1C1C;--surface-sunken: #262626;--text: #FFFFFF;--text-2: #FFFFFF;--text-3: #EDEDED;--text-muted: #D0D0D0;--line: #7A7A7A;--line-strong: #FFFFFF;--accent: #00E5FF;--accent-strong: #5CF0FF;--accent-soft: rgba(0, 229, 255, .18);--accent-soft-2: rgba(0, 229, 255, .38);--on-accent: #000000;--focus-ring: #FFD60A;--solid-bg: #FFFFFF;--solid-fg: #000000;--solid-hover-bg: #00E5FF;--solid-hover-fg: #000000;--hero-bg: #141414;--hero-fg: #FFFFFF;--hero-label: #00E5FF;--hero-muted: #E6E6E6;--ok: #4DEB8A;--ok-bg: rgba(77, 235, 138, .2);--warn: #FFD60A;--warn-bg: rgba(255, 214, 10, .2);--error: #FFA3A3;--error-bg: rgba(255, 163, 163, .16);--error-bg-hover: rgba(255, 133, 133, .34);--error-border: #FFA3A3;--warn-border: #FFD60A;--offline: #D0D0D0;--offline-bg: rgba(208, 208, 208, .18);--on-error: #000000;--chart-2: #FF8AE6;--sidebar-bg: #000000;--sidebar-fg: #F0F0F0;--sidebar-fg-dim: #CFCFCF;--sidebar-fg-strong: #FFFFFF;--sidebar-line: #7A7A7A;--sidebar-hover: #262626;--sidebar-active-bg: #00E5FF;--sidebar-active-fg: #000000;--sidebar-indicator: #FFFFFF;--brand-arc: #3F6AF6;--sidebar-well: #141414;--sidebar-well-hover: #262626;--avatar-from: #00E5FF;--avatar-to: #00B8CC;--avatar-ink: #000000;--avatar-neutral-bg: #FFFFFF;--avatar-neutral-fg: #000000;--knob: #FFFFFF;--scrim: rgba(0, 0, 0, .8);--shadow-1: none;--shadow-2: 0 0 0 1px #FFFFFF;--shadow-3: 0 0 0 2px #FFFFFF;--bg-ambient: #000000;--glass-bg: #0B0B0B;--glass-bg-strong: #0B0B0B;--glass-edge: #7A7A7A;--glass-shadow: none;--glass-blur: 0px;--hero-glow: none}[data-theme=contrast] :focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-transparency: reduce){[data-theme]{--glass-bg: var(--surface);--glass-bg-strong: var(--surface);--glass-blur: 0px}}@media (forced-colors: active){.toggle,.slider-ctl-track,.stepper,.status-chip{border:1px solid CanvasText}.toggle.on{background:Highlight}}[data-app=admin][data-theme=sereno-light],[data-app=admin] [data-theme=sereno-light],[data-app=admin][data-theme=lagoon],[data-app=admin] [data-theme=lagoon]{--accent: #3F4A54;--accent-strong: #2C343B;--accent-soft: rgba(63, 74, 84, .12);--accent-soft-2: rgba(63, 74, 84, .22);--on-accent: #FFFFFF;--focus-ring: #2C343B;--solid-hover-bg: #2C343B;--sidebar-active-bg: rgba(63, 74, 84, .12);--sidebar-active-fg: #2C343B;--sidebar-indicator: #3F4A54}[data-app=admin][data-theme=sage],[data-app=admin] [data-theme=sage]{--accent: #3F4A54;--accent-strong: #2C343B;--accent-soft: rgba(63, 74, 84, .12);--accent-soft-2: rgba(63, 74, 84, .22);--on-accent: #FFFFFF;--focus-ring: #2C343B;--solid-hover-bg: #2C343B;--sidebar-active-bg: rgba(195, 204, 212, .16);--sidebar-active-fg: #E6EBEF;--sidebar-indicator: #C3CCD4}[data-app=admin][data-theme=sereno-dark],[data-app=admin] [data-theme=sereno-dark],[data-app=admin][data-theme=slate],[data-app=admin] [data-theme=slate]{--accent: #C3CCD4;--accent-strong: #DDE3E8;--accent-soft: rgba(195, 204, 212, .14);--accent-soft-2: rgba(195, 204, 212, .26);--on-accent: #15181C;--focus-ring: #DDE3E8;--solid-hover-bg: #DDE3E8;--sidebar-active-bg: rgba(195, 204, 212, .16);--sidebar-active-fg: #E6EBEF;--sidebar-indicator: #C3CCD4}html.theme-fade *,html.theme-fade *:before,html.theme-fade *:after{transition:background-color .22s ease,border-color .22s ease,color .22s ease,fill .22s ease,stroke .22s ease,box-shadow .22s ease!important}.topbar__icon-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface);border:var(--bw) solid var(--line);color:var(--text-3);flex-shrink:0;cursor:pointer;box-shadow:var(--shadow-1);transition:background .12s ease,transform var(--duration-spring) var(--ease-spring)}.topbar__icon-btn:hover{background:var(--surface-hover)}.topbar__icon-btn:active{background:var(--surface-sunken);transform:scale(.94);transition:transform var(--duration-press) var(--ease-press)}@media (prefers-reduced-motion: reduce){.topbar__icon-btn:active{transform:none}}.theme-menu-wrap{position:relative;flex-shrink:0}.theme-menu-wrap .topbar__icon-btn svg{width:17px;height:17px}.theme-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:264px;background:var(--surface);border:var(--bw) solid var(--line-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-3);padding:6px;display:none;transform-origin:top right}.theme-menu.open{display:block;animation:surface-in var(--duration-spring) var(--ease-spring)}.theme-menu-title{font-size:12px;font-weight:700;color:var(--text-muted);padding:8px 10px 6px}.theme-menu button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;background:transparent;border:none;border-radius:7px;padding:8px 10px;color:var(--text);font-size:13.5px;font-weight:600}.theme-menu button:hover,.theme-menu button:focus-visible{background:var(--surface-hover)}.theme-menu button:active{background:var(--accent-soft)}.theme-menu button .tm-check{margin-left:auto;width:15px;height:15px;color:var(--accent-strong);opacity:0}.theme-menu button[aria-checked=true] .tm-check{opacity:1}.theme-menu hr{border:none;border-top:var(--bw) solid var(--line);margin:5px 4px}.tm-sub{font-size:11.5px;color:var(--text-muted);font-weight:500;display:block;margin-top:1px}.swatch{width:30px;height:22px;border-radius:6px;flex-shrink:0;overflow:hidden;display:grid;grid-template-columns:11px 1fr;border:1px solid var(--line-strong);background:var(--bg)}.swatch:not(.auto) i:first-child{background:var(--hero-bg)}.swatch i:last-child{background:linear-gradient(135deg,var(--bg) 52%,var(--accent) 52%)}.swatch.auto{display:block;position:relative}.swatch.auto i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg)}.swatch.auto i:last-child{clip-path:polygon(52% 0,100% 0,100% 100%,40% 100%)}.appearance-note{font-size:12.5px;color:var(--text-muted);margin:6px 0 18px;max-width:560px}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media (max-width: 1100px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.theme-grid{grid-template-columns:1fr}}.theme-card{text-align:left;position:relative;color:var(--text);background:var(--surface);border:var(--bw) solid var(--line-strong);border-radius:var(--radius-lg);padding:10px 10px 14px;transition:border-color .12s ease,box-shadow var(--duration-spring) var(--ease-spring),transform var(--duration-spring) var(--ease-spring)}.theme-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-2)}.theme-card:active{transform:scale(.98);transition:transform var(--duration-press) var(--ease-press)}.theme-card[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.theme-card:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.theme-card-name{font-family:var(--font-display);font-size:16px;font-weight:600;margin:12px 4px 0;display:flex;align-items:center;gap:8px}.theme-tag{font-family:var(--font-ui);font-size:11px;font-weight:700;color:var(--text-3);background:var(--surface-sunken);border-radius:20px;padding:2px 8px}.theme-card-desc{font-size:12.5px;color:var(--text-muted);margin:3px 4px 0;line-height:1.4}.theme-check{position:absolute;top:18px;right:18px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:none;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--surface)}.theme-card[aria-checked=true] .theme-check{display:flex}.theme-check svg{width:13px;height:13px}.tp{height:124px;border-radius:9px;overflow:hidden;background:var(--bg);display:grid;grid-template-columns:31% 1fr;border:1px solid var(--line-strong)}.tp-side{background:var(--sidebar-bg);padding:10px 8px;display:flex;flex-direction:column;gap:6px}.tp-side i{display:block;height:5px;border-radius:3px;background:var(--sidebar-fg-dim);opacity:.55}.tp-side i.brand{width:46%;height:6px;background:var(--sidebar-fg-strong);opacity:1;margin-bottom:5px}.tp-side i.on{background:var(--sidebar-indicator);opacity:1;box-shadow:-8px 0 0 -3px var(--sidebar-indicator)}.tp-main{padding:8px;display:flex;flex-direction:column;gap:7px;min-width:0}.tp-top{height:9px;border-radius:4px;background:var(--surface);border:1px solid var(--line)}.tp-hero{height:26px;border-radius:6px;background:var(--hero-bg);padding:6px 8px;display:flex;flex-direction:column;gap:4px}.tp-hero b{display:block;height:3px;width:34%;border-radius:2px;background:var(--hero-label)}.tp-hero s{display:block;height:6px;width:52%;border-radius:2px;background:var(--hero-fg);text-decoration:none}.tp-cards{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1}.tp-cards div{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:5px;display:flex;flex-direction:column;gap:3px}.tp-cards u{display:block;height:3px;width:70%;border-radius:2px;background:var(--text-muted);text-decoration:none}.tp-cards u+u{width:45%;opacity:.6}.tp-cards .dots{flex-direction:row;gap:3px;margin-top:auto}.tp-cards .dots i{width:5px;height:5px;border-radius:50%;display:block}.tp-cards .dots i.ok{background:var(--ok)}.tp-cards .dots i.warn{background:var(--warn)}.tp-cards .dots i.err{background:var(--error)}.tp-cards .pill{height:5px;width:55%;border-radius:3px;background:var(--accent);margin-top:auto}.toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0;position:relative;flex-shrink:0;width:42px;height:24px;border-radius:20px;cursor:pointer;background:var(--surface-sunken);border:var(--bw) solid var(--line-strong);transition:background-color var(--duration-spring) var(--ease-spring),border-color var(--duration-spring) var(--ease-spring)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--knob);box-shadow:var(--shadow-1);transition:transform var(--duration-spring) var(--ease-spring)}.toggle.on{background:var(--accent);border-color:var(--accent)}.toggle.on:after{transform:translate(18px)}.toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.match-row{border-top:var(--bw) solid var(--line);margin-top:22px;padding-top:18px}@media (prefers-reduced-motion: reduce){html.theme-fade *,html.theme-fade *:before,html.theme-fade *:after{transition:none!important}.theme-card,.toggle,.toggle:after{transition:none}.theme-card:hover,.theme-card:active{transform:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);background:var(--bg-ambient);background-attachment:fixed;color:var(--text);font-family:var(--font-ui);letter-spacing:-.006em;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0}button,input,select,textarea{font-family:inherit;letter-spacing:inherit}@keyframes surface-in{0%{opacity:0;transform:scale(.96)}}@keyframes scrim-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){:root{--duration-spring: .16s;--duration-drawer: .16s}*,*:before,*:after{animation-iteration-count:1!important;scroll-behavior:auto!important}@keyframes surface-in{0%{opacity:0}}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:22px}.page-title{font-family:var(--font-display);font-size:32px;font-weight:700;line-height:1.1;color:var(--text);letter-spacing:-.025em;margin:0}.page-sub{color:var(--text-muted);font-size:13.5px;margin-top:4px}.section-title{margin:32px 0 14px;font-size:19px;font-weight:600;letter-spacing:-.016em;color:var(--text)}.panel{background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:20px;box-shadow:var(--shadow-1)}.panel-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:600;padding:9px 15px;border-radius:8px;border:var(--bw) solid var(--line-strong);background:var(--surface);color:var(--text-2);text-decoration:none;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform var(--duration-spring) var(--ease-spring)}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.btn:active:not(:disabled){transform:scale(.97);transition:transform var(--duration-press) var(--ease-press)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-primary{background:var(--solid-bg);color:var(--solid-fg);border-color:var(--solid-bg)}.btn-primary:hover:not(:disabled){background:var(--solid-hover-bg);border-color:var(--solid-hover-bg);color:var(--solid-hover-fg)}.btn-sm{padding:6px 11px;font-size:12.5px}.btn:disabled{opacity:.5;cursor:not-allowed}.field-label{display:block;font-size:12.5px;font-weight:600;color:var(--text-3);margin-top:6px}.field-input{width:100%;padding:10px 12px;font-size:14px;color:var(--text);background:var(--surface);border:var(--bw) solid var(--line-strong);border-radius:var(--radius-md);transition:border-color .12s ease,box-shadow .12s ease}.field-input:hover{border-color:var(--text-muted)}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-hint{font-size:12px;color:var(--text-muted);margin:4px 0 0}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex-shrink:0;width:44px;height:26px;margin:0;border-radius:999px;background:var(--surface-sunken);box-shadow:inset 0 0 0 var(--bw) var(--line-strong);cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--knob);box-shadow:var(--shadow-1);transition:transform var(--duration-spring) var(--ease-spring)}.switch:checked{background:var(--accent);box-shadow:none}.switch:checked:after{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (forced-colors: active){.switch{border:1px solid ButtonText}.switch:after{background:ButtonText}.switch:checked{background:Highlight}}.empty-state{padding:28px 0;color:var(--text-muted);font-size:14px}@media (prefers-reduced-motion: reduce){.btn:active:not(:disabled){transform:none}}.status-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px 4px 8px;border-radius:20px;width:fit-content}.status-chip .dot{width:6px;height:6px;border-radius:50%}.status-chip.ok{background:var(--ok-bg);color:var(--ok)}.status-chip.ok .dot{background:var(--ok)}.status-chip.warn{background:var(--warn-bg);color:var(--warn)}.status-chip.warn .dot{background:var(--warn)}.status-chip.error{background:var(--error-bg);color:var(--error)}.status-chip.error .dot{background:var(--error)}.status-chip.neutral{background:var(--surface-sunken);color:var(--text-muted)}.status-chip.neutral .dot{background:var(--text-3)}.dash .page-head{align-items:center}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px}.dash-card{display:flex;flex-direction:column;gap:14px;min-height:180px;padding:22px 24px 24px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);color:inherit;text-decoration:none}.dash-card--wide{grid-column:span 2}.dash-card--compact{min-height:0}.dash-card--link{cursor:pointer;transition:transform var(--duration-spring) var(--ease-spring),box-shadow var(--duration-spring) var(--ease-spring),border-color .12s ease}.dash-card--link:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--accent-soft-2)}.dash-card--link:active{transform:scale(.985);box-shadow:var(--shadow-1);transition:transform var(--duration-press) var(--ease-press),box-shadow var(--duration-press) var(--ease-press)}.dash-card--link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.dash-card__head{display:flex;align-items:center;gap:10px}.dash-card__title{margin:0;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.016em;color:var(--text)}.dash-card__badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;color:var(--warn);background:var(--warn-bg)}.dash-card__time{margin-left:auto;font-size:19px;font-weight:300;letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text-2)}.dash-card__time+.dash-card__open{margin-left:4px}.dash-card__open{margin-left:auto;width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:var(--bw) solid var(--line);color:var(--text-3);transition:background .12s ease,color .12s ease,border-color .12s ease}.dash-card--link:hover .dash-card__open{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.dash-split{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.dash-facts{display:flex;flex-direction:column;gap:14px}.dash-facts--row{flex-direction:row;gap:36px}.dash-split .dash-facts{flex-direction:row;flex-wrap:wrap;gap:32px}.dash-fact__value{font-size:30px;font-weight:300;line-height:1.05;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}.dash-fact--big .dash-fact__value{font-size:46px;letter-spacing:-.035em}.dash-fact--error .dash-fact__value{color:var(--error)}.dash-fact--warn .dash-fact__value{color:var(--warn)}.dash-fact__unit{margin-left:4px;font-size:15px;font-weight:400;letter-spacing:0;color:var(--text-muted)}.dash-fact__label{margin-top:6px;font-size:13px;font-weight:500;color:var(--text-muted)}.dash-note{margin:auto 0 0;font-size:13px;color:var(--text-muted)}.dash-note--lead{margin-top:0;font-size:15px;color:var(--text-2)}.donut{width:132px;height:132px;flex-shrink:0}.donut__track,.donut__value{fill:none;stroke-width:11}.donut__track{stroke:var(--surface-sunken)}.donut__value{stroke:var(--accent);stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset var(--duration-spring) var(--ease-spring)}.donut__text{fill:var(--text);font-size:19px;font-weight:600;text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums}@media (max-width: 700px){.dash-card--wide{grid-column:auto}}@media (prefers-reduced-motion: reduce){.dash-card--link:hover,.dash-card--link:active{transform:none}}
