.report-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklch,black 50%,transparent);z-index:60;display:grid;place-items:center;padding:16px}.report-modal__panel{background:var(--bg-1);color:var(--fg-1);border:1px solid var(--border-1);border-radius:10px;width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 24px 64px color-mix(in oklch,black 35%,transparent)}.report-modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-1)}.report-modal__title{margin:0;font-size:var(--t-md);font-weight:600}.report-modal__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--fg-2);font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:4px}.report-modal__close:hover{background:var(--bg-2);color:var(--fg-1)}.report-modal__form,.report-modal__success{padding:16px 18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.report-modal__field{display:flex;flex-direction:column;gap:4px;font-size:13px}.report-modal__label{font-weight:600;color:var(--fg-2)}.report-modal__hint{font-size:11px;color:var(--fg-3)}.report-modal__field select,.report-modal__field textarea{background:var(--bg-2);color:var(--fg-1);border:1px solid var(--border-1);border-radius:6px;padding:8px 10px;font:inherit}.report-modal__file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;padding:0;margin:-1px}.report-modal__file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.report-modal__file-name{font-size:12px;color:var(--fg-3);font-style:italic;word-break:break-all}.report-modal__field textarea{resize:vertical;min-height:96px}.report-modal__image-preview{display:flex;align-items:flex-start;gap:10px;margin-top:6px}.report-modal__image-preview img{max-width:180px;max-height:120px;border:1px solid var(--border-1);border-radius:6px;object-fit:contain;background:var(--bg-2)}.report-modal__error{font-size:12px;color:var(--st-attention);background:var(--st-attention-bg);padding:8px 10px;border-radius:6px}.report-modal__actions,.report-modal__success-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.report-modal__success p{font-size:var(--t-sm);line-height:1.5}.chatbot-fab{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;border:1px solid color-mix(in oklch,white 12%,transparent);background:var(--chatbot-fab-bg, oklch(.3 .025 240));color:#fff;font-size:20px;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 16px color-mix(in oklch,black 35%,transparent),0 0 0 1px color-mix(in oklch,black 8%,transparent);transition:background .12s ease,transform .12s ease;z-index:40}.chatbot-fab:hover{background:var(--chatbot-fab-bg-hover, oklch(.38 .04 240));transform:translateY(-1px)}.chatbot-fab:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[data-theme=dark] .chatbot-fab{--chatbot-fab-bg: oklch(.62 .05 240);--chatbot-fab-bg-hover: oklch(.7 .06 240);border-color:color-mix(in oklch,white 30%,transparent);box-shadow:0 6px 18px color-mix(in oklch,black 50%,transparent),0 0 0 2px color-mix(in oklch,white 10%,transparent)}.chatbot-drawer{position:fixed;right:20px;bottom:56px;width:min(460px,calc(100vw - 40px));height:min(640px,calc(100vh - 120px));background:var(--bg-1, white);color:var(--fg-1, black);border:1px solid var(--border-1);border-radius:8px;box-shadow:0 24px 48px color-mix(in oklch,black 20%,transparent);display:flex;flex-direction:column;z-index:41;overflow:hidden}.chatbot-drawer__header{padding:12px 16px;border-bottom:1px solid var(--border-1);display:flex;justify-content:space-between;align-items:center}.chatbot-drawer__title{font-weight:600;font-size:.9375rem}.chatbot-drawer__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font-size:18px;color:var(--fg-2)}.chatbot-drawer__log{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.chatbot-msg{padding:10px 12px;border-radius:10px;font-size:.875rem;max-width:85%;line-height:1.4}.chatbot-msg--user{background:var(--accent, oklch(.5 .1 235));color:var(--accent-fg, white);align-self:flex-end}.chatbot-msg--bot{background:color-mix(in oklch,currentColor 6%,transparent);align-self:flex-start}[data-theme=dark] .chatbot-drawer{background:var(--bg-1);border-color:var(--border-2);box-shadow:0 24px 48px #000000a6}[data-theme=dark] .chatbot-msg--user{background:color-mix(in oklch,var(--accent) 70%,black);color:var(--accent-fg, white)}[data-theme=dark] .chatbot-msg--bot{background:var(--bg-3);color:var(--fg-1)}[data-theme=dark] .chatbot-drawer__input input{background:var(--bg-2);border-color:var(--border-2);color:var(--fg-1)}.chatbot-msg__source{display:block;margin-top:4px;font-size:.6875rem;opacity:.6;font-family:var(--font-mono)}.chatbot-msg__ts{display:block;margin-top:4px;font-size:.6875rem;opacity:.55;font-variant-numeric:tabular-nums}.chatbot-typing{display:inline-flex;align-items:center;gap:4px}.chatbot-typing__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:chatbot-blink 1.2s ease-in-out infinite}.chatbot-typing__dot:nth-child(2){animation-delay:.18s}.chatbot-typing__dot:nth-child(3){animation-delay:.36s}@keyframes chatbot-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion: reduce){.chatbot-typing__dot{animation:none;opacity:.6}}.chatbot-drawer__actions{display:inline-flex;align-items:center;gap:8px}.chatbot-drawer__clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-1);background:transparent;color:var(--fg-2);cursor:pointer;font-size:11px;padding:3px 8px;border-radius:999px;font-weight:500;line-height:1.2}.chatbot-drawer__clear:hover{background:var(--bg-2);color:var(--fg-1)}.chatbot-drawer__clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chatbot-drawer__input{padding:10px 12px;border-top:1px solid var(--border-1);display:flex;gap:6px}.chatbot-drawer__input input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--border-1);background:var(--bg-2);color:inherit;font-size:.875rem}.chatbot-drawer__input button{padding:8px 14px;border-radius:8px;border:0;background:var(--accent);color:#fff;cursor:pointer;font-weight:500}:root{--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-xs: 11px;--t-sm: 12px;--t-md: 13px;--t-base: 14px;--t-lg: 16px;--t-xl: 20px;--t-2xl: 26px;--t-3xl: 34px}:root[data-font-size=small]{--t-xs: 10px;--t-sm: 11px;--t-md: 12px;--t-base: 13px;--t-lg: 14px;--t-xl: 17px;--t-2xl: 22px;--t-3xl: 28px}:root[data-font-size=large]{--t-xs: 13px;--t-sm: 14px;--t-md: 15px;--t-base: 16px;--t-lg: 18px;--t-xl: 22px;--t-2xl: 30px;--t-3xl: 38px}:root{--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--bg-0: oklch(.985 .004 240);--bg-1: oklch(.995 .002 240);--bg-2: oklch(1 0 0);--bg-3: oklch(.965 .005 240);--bg-inset: oklch(.955 .007 240);--fg-1: oklch(.22 .01 240);--fg-2: oklch(.42 .01 240);--fg-3: oklch(.58 .008 240);--fg-4: oklch(.72 .006 240);--border-1: oklch(.92 .005 240);--border-2: oklch(.86 .008 240);--border-strong: oklch(.78 .012 240);--grid-line: oklch(.94 .005 240);--accent: oklch(.58 .11 210);--accent-hover: oklch(.54 .12 210);--accent-fg: oklch(.99 .002 240);--accent-soft: oklch(.95 .03 210);--st-normal: oklch(.58 .13 155);--st-normal-bg: oklch(.96 .035 155);--st-normal-ring: oklch(.86 .05 155);--st-vigilance: oklch(.74 .18 75);--st-vigilance-bg: oklch(.97 .06 80);--st-vigilance-ring: oklch(.83 .12 78);--st-warning: var(--st-vigilance);--st-warning-bg: var(--st-vigilance-bg);--st-warning-ring: var(--st-vigilance-ring);--st-ok: var(--st-normal);--st-ok-bg: var(--st-normal-bg);--st-ok-ring: var(--st-normal-ring);--st-attention: oklch(.66 .16 50);--st-attention-bg: oklch(.97 .04 50);--st-attention-ring: oklch(.87 .07 50);--st-intervention: oklch(.58 .18 25);--st-intervention-bg: oklch(.96 .05 25);--st-intervention-ring: oklch(.85 .08 25);--st-impossible: oklch(.48 .18 305);--st-impossible-bg: oklch(.95 .04 305);--st-impossible-ring: oklch(.82 .08 305);--st-info: oklch(.6 .11 240);--st-info-bg: oklch(.96 .03 240);--st-info-ring: oklch(.86 .05 240);--metric-aux: oklch(.48 .16 295);--shadow-1: 0 1px 2px 0 oklch(.2 .01 240 / .05);--shadow-2: 0 8px 24px -6px oklch(.2 .01 240 / .12), 0 4px 8px -2px oklch(.2 .01 240 / .08)}[data-theme=dark]{--bg-0: oklch(.13 .008 240);--bg-1: oklch(.21 .009 240);--bg-2: oklch(.26 .01 240);--bg-3: oklch(.32 .011 240);--bg-inset: oklch(.36 .012 240);--fg-1: oklch(.96 .005 240);--fg-2: oklch(.82 .008 240);--fg-3: oklch(.66 .008 240);--fg-4: oklch(.52 .008 240);--border-1: oklch(.34 .012 240);--border-2: oklch(.42 .014 240);--border-strong: oklch(.54 .015 240);--grid-line: oklch(.32 .011 240);--accent: oklch(.72 .12 210);--accent-hover: oklch(.78 .13 210);--accent-fg: oklch(.99 .002 240);--accent-soft: oklch(.28 .06 210);--st-normal: oklch(.76 .14 155);--st-normal-bg: oklch(.28 .04 155);--st-normal-ring: oklch(.38 .07 155);--st-vigilance: oklch(.84 .18 78);--st-vigilance-bg: oklch(.3 .07 78);--st-vigilance-ring: oklch(.44 .12 78);--st-attention: oklch(.78 .16 50);--st-attention-bg: oklch(.3 .06 50);--st-attention-ring: oklch(.42 .09 50);--st-intervention: oklch(.74 .18 25);--st-intervention-bg: oklch(.28 .07 25);--st-intervention-ring: oklch(.4 .1 25);--st-impossible: oklch(.78 .16 305);--st-impossible-bg: oklch(.3 .06 305);--st-impossible-ring: oklch(.44 .1 305);--st-info: oklch(.72 .12 240);--st-info-bg: oklch(.28 .04 240);--st-info-ring: oklch(.4 .06 240);--metric-aux: oklch(.74 .16 295)}*{box-sizing:border-box}html,body{margin:0;font-family:var(--font-sans);font-size:var(--t-base);line-height:1.45;color:var(--fg-1);background:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scrollbar-gutter:stable}button{font-family:inherit;color:inherit}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--font-mono);letter-spacing:0}.tnum{font-variant-numeric:tabular-nums;font-family:var(--font-mono);letter-spacing:0}.muted{color:var(--fg-3)}.grow{flex:1}.hstack{display:flex;align-items:center}.vstack{display:flex;flex-direction:column}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-12{grid-template-columns:repeat(12,minmax(0,1fr))}.panel{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-md);display:flex;flex-direction:column}.section-title{font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--fg-4);font-weight:600;margin-bottom:var(--s-2)}.label{font-size:var(--t-xs);color:var(--fg-3);font-weight:550;margin-bottom:6px;display:block;text-transform:uppercase;letter-spacing:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:var(--r-md);border:1px solid var(--border-2);background:var(--bg-2);color:var(--fg-1);font-size:var(--t-md);font-weight:500;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap;text-decoration:none}.btn:hover,.btn:focus{text-decoration:none}.btn:hover{background:var(--bg-3);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:transparent;border-color:transparent}.btn--ghost:hover{background:var(--bg-3)}.btn--icon{padding:6px;width:30px;height:30px}.btn--lg{padding:10px 16px;font-size:var(--t-base)}.card-clickable{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;cursor:pointer}.card-clickable:hover{background:var(--bg-2);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-1)}.card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.seg{display:inline-flex;padding:2px;background:var(--bg-3);border:1px solid var(--border-1);border-radius:var(--r-md);gap:2px}.seg button{border:0;background:transparent;color:var(--fg-2);padding:5px 12px;border-radius:calc(var(--r-md) - 2px);cursor:pointer;font-weight:500;font-size:var(--t-md);transition:background .12s,color .12s;min-width:90px;text-align:center}.seg button:hover{color:var(--fg-1)}.seg button[data-active=true]{background:var(--bg-2);color:var(--fg-1);box-shadow:var(--shadow-1)}.dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.dot--normal{background:var(--st-normal);box-shadow:0 0 0 3px var(--st-normal-bg)}.dot--vigilance{background:var(--st-vigilance);box-shadow:0 0 0 3px var(--st-vigilance-bg)}.dot--attention{background:var(--st-attention);box-shadow:0 0 0 3px var(--st-attention-bg);animation:pulse 2s ease-in-out infinite}.dot--intervention{background:var(--st-intervention);box-shadow:0 0 0 3px var(--st-intervention-bg);animation:pulse 1.5s ease-in-out infinite}.dot--impossible{background:var(--st-impossible);box-shadow:0 0 0 3px var(--st-impossible-bg);animation:pulse 1.5s ease-in-out infinite}.dot--info{background:var(--st-info);box-shadow:0 0 0 3px var(--st-info-bg)}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--st-attention-bg)}50%{box-shadow:0 0 0 6px var(--st-attention-bg)}}.telemetry-loading-mark{display:inline-flex;gap:7px;align-items:center;justify-content:center}.telemetry-loading-mark span{width:9px;height:9px;border-radius:999px;background:var(--accent);animation:telemetry-loading-dot .9s ease-in-out infinite}.telemetry-loading-mark span:nth-child(2){animation-delay:.12s}.telemetry-loading-mark span:nth-child(3){animation-delay:.24s}@keyframes telemetry-loading-dot{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-6px);opacity:1}}.chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 8px;font-size:var(--t-xs);font-weight:550;border-radius:4px;border:1px solid;white-space:nowrap;letter-spacing:0;min-width:96px;text-align:center;flex-shrink:0;position:relative;z-index:1}.chip.chip--ghost{min-width:0}.chip.chip-fit{min-width:0;padding:1px 8px}.card-title{margin:0;line-height:1.15;overflow-wrap:anywhere;min-height:2.3em;display:block}.kpi-card-title{line-height:1.15;min-width:0;min-height:2.3em;overflow-wrap:anywhere;white-space:normal}.card-desc{margin:0;font-size:var(--t-sm);line-height:1.5;min-height:3em}.ged-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--s-1);align-items:start;min-width:0}.ged-card-title{line-height:1.15;min-width:0;min-height:2.3em;overflow-wrap:anywhere;white-space:normal}.ged-card-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--s-1);flex-wrap:nowrap;min-width:max-content}.ged-card-actions>*{flex-shrink:0}.ged-card-actions .chip{min-width:5.8rem}.compact-status-chip{min-width:6rem!important}.variable-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px}@media (max-width: 680px){.ged-card-head{grid-template-columns:auto minmax(0,1fr)}.ged-card-actions{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap;min-width:0}.ged-card-actions .chip{min-width:0}}.chip--normal{background:var(--st-normal-bg);color:var(--st-normal);border-color:var(--st-normal-ring)}.chip--vigilance{background:var(--st-vigilance-bg);color:var(--st-vigilance);border-color:var(--st-vigilance-ring)}.chip--attention{background:var(--st-attention-bg);color:var(--st-attention);border-color:var(--st-attention-ring)}.chip--intervention{background:var(--st-intervention-bg);color:var(--st-intervention);border-color:var(--st-intervention-ring)}.chip--impossible{background:var(--st-impossible-bg);color:var(--st-impossible);border-color:var(--st-impossible-ring)}.chip--info{background:var(--st-info-bg);color:var(--st-info);border-color:var(--st-info-ring)}.chip--ghost{background:var(--bg-3);color:var(--fg-3);border-color:var(--border-1)}.help-term{font-weight:750}.help-term--normal{color:var(--st-normal)}.help-term--vigilance{color:var(--st-vigilance)}.help-term--info{color:var(--st-info)}.help-term--intervention{color:var(--st-intervention)}.help-term--impossible{color:var(--st-impossible)}.icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-lg{width:20px;height:20px}.spark{width:100%;height:auto;display:block}.skeleton{background:var(--bg-3);border-radius:var(--r-md);animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.6}}.tbl{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.tbl th{text-align:left;padding:10px var(--s-3);font-size:10px;text-transform:uppercase;letter-spacing:0;color:var(--fg-4);font-weight:600;border-bottom:1px solid var(--border-1);background:var(--bg-2)}.tbl td{padding:10px var(--s-3);border-bottom:1px solid var(--border-1);color:var(--fg-2)}.tbl tr:hover td{background:var(--bg-2);color:var(--fg-1)}.tbl tr:last-child td{border-bottom:0}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:5px;border:2px solid var(--bg-0)}*::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}*::-webkit-scrollbar-track{background:transparent}.app,.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-0)}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.app-workspace{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto;scrollbar-gutter:stable}.app-content{flex:1;min-height:0}.plant-selector{min-width:0}.plant-trigger{max-width:min(360px,46vw)}.plant-trigger>span:not(.chip){min-width:0;overflow:hidden;text-overflow:ellipsis}.header-actions{flex:none;min-width:0}.logout-button .icon{flex:none}.mobile-menu-button,.sidebar-scrim{display:none}.home-section-summary{min-width:0}.plant-trigger{display:inline-flex;align-items:center;gap:6px;max-width:280px}.plant-trigger__name{font-weight:600;color:var(--fg-1);letter-spacing:.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.plant-menu__group+.plant-menu__group{margin-top:var(--s-1)}.plant-menu__location{padding:var(--s-1) var(--s-3) 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3)}.plant-menu__item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border:0;background:transparent;border-radius:var(--r-sm);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .12s ease}.plant-menu__item:hover{background:var(--bg-2)}.plant-menu__item[data-selected=true]{background:var(--bg-3)}.plant-menu__type{flex:0 0 auto;font-weight:600;font-size:12px;color:var(--fg-1);min-width:60px}.plant-menu__meta{flex:1;font-size:11px;color:var(--fg-3);font-variant-numeric:tabular-nums}.home-horizon-slot{display:flex;justify-content:flex-start;max-width:100%}.home-horizon,.home-horizon__control,.home-zone-sensor-row__actions,.home-variable-row__actions{min-width:0}.home-variable-row .chip{min-width:5rem;justify-content:center}.weather-controls-grid,.weather-source-strip .chip{min-width:0}.weather-attribution a{color:var(--fg-2);text-decoration-thickness:1px;text-underline-offset:2px}.weather-attribution a:hover{color:var(--fg-1)}input[type=range]{height:20px}[data-reduce-motion=true] *,[data-reduce-motion=true] *:before,[data-reduce-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.header-chip{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;min-height:32px;padding:0 12px;border-radius:6px;border:1px solid var(--border-1);background:var(--bg-1);color:inherit;font:inherit;font-size:12px;line-height:1;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.header-chip .icon,.header-chip svg{display:inline-block;vertical-align:middle;flex:none}.header-chip:hover{background:var(--bg-2)}.header-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-chip__label{color:var(--fg-2);font-weight:500}.header-chip__value{font-size:11px;font-weight:700;color:var(--fg-3);font-family:var(--font-mono);letter-spacing:.02em}.header-chip--viewas{position:relative}.viewas-selector{min-width:0}.viewas-menu .plant-menu__item{align-items:flex-start;padding:10px 12px}.viewas-menu__copy{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:4px}.viewas-menu__role{display:inline-flex;align-items:center;gap:8px;color:var(--fg-1);font-weight:750;font-size:14px}.viewas-menu__help{color:var(--fg-2);font-size:11.5px;line-height:1.35;white-space:normal}.viewas-menu .icon{margin-top:2px}input.no-spinner::-webkit-outer-spin-button,input.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input.no-spinner{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.app-footer{flex:none;display:flex;align-items:center;gap:var(--s-3);padding:8px 18px;background:var(--bg-1);border-top:1px solid var(--border-1);height:52px;min-height:52px;max-height:52px;overflow:hidden}@media (max-width: 780px){.app-footer>.app-footer__logos{display:none}}.app-footer__right{display:flex;align-items:center;gap:var(--s-3);flex:0 0 auto}.app-footer__logos{display:flex;align-items:center;justify-content:center;gap:22px;min-width:0;flex-wrap:nowrap;overflow:hidden;flex:1 1 0}.app-footer__logos img{height:34px;max-height:34px;width:auto;min-width:0;flex:1 1 0;max-width:220px;object-fit:contain;opacity:.85}.app-footer__assistant{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:6px;border:1px solid var(--border-1);background:transparent;color:var(--fg-2);font:inherit;font-size:12px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.app-footer__assistant:hover{background:var(--bg-2);color:var(--fg-1);border-color:var(--border-2)}.app-footer__assistant[data-active=true]{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.app-footer__assistant[data-active=true]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.app-footer__assistant:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-footer__clock{flex:none;display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums;color:var(--fg-2);font-size:12px;padding-left:var(--s-3);border-left:1px solid var(--border-1)}.app-footer__clock-date{color:var(--fg-3)}.app-footer__clock-time{font-weight:600;letter-spacing:.02em}[data-theme=dark] .app-header,[data-theme=dark] .app-footer,[data-theme=dark] .app-sidebar{border-color:var(--border-2)!important}@media (max-width: 980px){.header-chip--lang .header-chip__label,.header-chip--mode .header-chip__label,.header-chip--logout .logout-label{display:none}}@media (max-width: 820px){.header-chip--viewas .header-chip__label{display:none}.header-chip{padding:0 10px}}@media (max-width: 860px){.app-workspace{width:100%}.app-header{padding:0 var(--s-3)!important;gap:var(--s-2)}.app-header>.hstack{gap:var(--s-1)}.app-brand,.app-brand__logos{display:none!important}.header-actions{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:var(--s-1)!important}.plant-selector{flex:1 1 0;min-width:0}.plant-trigger{width:100%;max-width:none;justify-content:flex-start;overflow:hidden}.plant-trigger .chip,.header-role,.header-username,.header-actions label>span,.header-chip__label,.logout-label{display:none}.plant-trigger__name,.plant-trigger span:not(.chip):not(.header-chip__value){min-width:0;overflow:hidden;text-overflow:ellipsis}.header-actions{min-width:0}.header-chip--lang{flex:0 0 auto;padding:0 8px}.header-chip--mode,.logout-button{flex:0 0 30px;min-width:30px;width:30px;height:30px;padding:6px}.mobile-menu-button{display:inline-flex;flex:none}.app-sidebar{position:fixed!important;inset:56px auto 0 0!important;width:min(300px,86vw)!important;height:calc(100vh - 56px)!important;z-index:30!important;transform:translate(-105%);transition:transform .18s ease;box-shadow:var(--shadow-2)}.app-sidebar[data-open=true]{transform:translate(0)}.sidebar-scrim{position:fixed;top:56px;right:0;bottom:0;left:0;z-index:25;display:none;border:0;background:#0a0e106b}.sidebar-scrim[data-open=true]{display:block}.app-main{min-height:0}.app-footer{padding:6px 10px}.app-footer__logos{justify-content:flex-start;gap:14px}.app-footer__logos img{height:18px}.grid-12,.grid-5,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.grid-12>*,.grid-5>*,.grid-4>*,.grid-3>*,.grid-2>*{grid-column:1 / -1!important}.seg{max-width:100%;overflow-x:auto}.home-horizon-slot{flex-basis:100%;justify-content:flex-start}.home-horizon{width:100%}.weather-controls-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important}.home-plant-context{grid-template-columns:minmax(0,1fr)!important}.home-plant-context__facts{justify-content:flex-start!important;min-width:0!important}.weather-controls-grid .home-horizon__control{width:100%}.home-zone-sensor-row,.home-variable-row{grid-template-columns:auto minmax(0,1fr)!important}.home-zone-sensor-row__actions,.home-variable-row__actions{grid-column:2 / -1;justify-content:flex-start!important;width:100%}}@media (max-width: 560px){.viewas-selector,.header-actions>.header-chip--viewas{display:none!important}.plant-trigger__type{display:none}.header-chip--lang{width:54px}}@media (max-width: 560px){.home-horizon__control{width:100%}.home-horizon__control>button{flex:1 1 auto}.home-horizon__control>div{flex:1 1 100%;margin-left:0!important;padding-left:0!important;border-left:0!important;border-top:1px solid var(--border-1);padding-top:2px}.home-zone-sensor-row__actions .btn,.home-variable-row__actions .btn{flex:1 1 100%}.kpi-card-header{align-items:stretch!important}.kpi-card-summary{flex:1 1 calc(100% - 34px);width:auto;grid-template-columns:1fr!important}.kpi-card-summary>.chip{justify-self:flex-start;max-width:100%}}@media (max-width: 1280px){.app-footer__logos{gap:14px}.app-footer__logos img{height:30px;max-height:30px}}@media (max-width: 1080px){.app-footer__logos{gap:10px}.app-footer__logos img{height:28px;max-height:28px}}@media (max-width: 960px){.app-footer__logos{gap:8px}.app-footer__logos img{height:24px;max-height:24px}}@media (max-width: 860px){.app-footer__logos img{height:22px;max-height:22px}}@media (max-width: 640px){.app-footer__assistant span{display:none}}.uplot .u-cursor-x{border-right-color:#00838f99;border-right-style:dashed;border-right-width:1px}.uplot .u-cursor-y{border-bottom-color:#00838f99;border-bottom-style:dashed;border-bottom-width:1px}[data-theme=dark] .uplot .u-cursor-x{border-right-color:#7dd3fcf2;border-right-width:1px}[data-theme=dark] .uplot .u-cursor-y{border-bottom-color:#7dd3fcf2;border-bottom-width:1px}.quality-accordion__summary{transition:background .14s ease}.quality-accordion__summary::-webkit-details-marker{display:none}.quality-accordion__summary:hover{background:color-mix(in oklch,var(--bg-2) 80%,var(--accent) 6%)}.quality-accordion__chevron{transform:rotate(-90deg)}details[open]>.quality-accordion__summary>.quality-accordion__chevron{transform:rotate(0)}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3, .75rem);padding:var(--s-5, 2rem);min-height:min(70vh,640px);text-align:center;color:var(--fg-1);background:var(--bg-0)}.error-boundary-title{font-size:1.125rem;font-weight:600;color:var(--fg-1);margin:0}.error-boundary-message{font-size:.875rem;color:var(--fg-2, #6b7280);max-width:680px;margin:0;overflow-wrap:anywhere}.error-boundary-reset{margin-top:var(--s-2, .5rem)}.app-auth-loading{display:grid;place-items:center;min-height:100vh}.skeleton-inline{width:200px;height:24px}.skeleton-route{height:180px;margin:24px}
