/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.table{display:table}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#123127;--muted:#6c7e76;--paper:#f4f1e8;--card:#fffdf8;--line:#d8ded6;--green:#1d6b49;--lime:#b8d446;--sun:#f2c14e;--wind:#81b8aa;--blue:#426d8c;--orange:#dd7b45}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button,select,input{font:inherit}main{min-height:100vh}.loading{place-items:center;font-size:18px;display:grid}.topbar{border-bottom:1px solid #d9d8cf;align-items:center;gap:28px;height:76px;padding:0 clamp(22px,5vw,72px);display:flex}.brand{align-items:center;gap:12px;margin-right:auto;display:flex}.brandMark{background:var(--ink);width:38px;height:38px;color:var(--lime);border-radius:12px;place-items:center;font:800 21px Georgia;display:grid}.brand div{flex-direction:column;display:flex}.brand strong{font-size:17px}.brand small{color:var(--muted);font-size:11px}.location{color:var(--muted);font-size:12px}.liveDot{background:#53a96e;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #53a96e20}.outline,.primary{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700}.hero{justify-content:space-between;align-items:flex-end;gap:40px;padding:52px clamp(22px,5vw,72px) 42px;display:flex}.eyebrow{letter-spacing:.16em;color:var(--green);margin:0 0 10px;font-size:10px;font-weight:800}.hero h1{letter-spacing:-.04em;margin:0;font:500 clamp(42px,5.4vw,76px)/.94 Georgia,serif}.hero h1 em{color:var(--green);font-weight:400}.lede{max-width:630px;color:var(--muted);margin:24px 0 0;font-size:15px;line-height:1.55}.heroControls{gap:10px;display:flex}.heroControls label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:10px;font-weight:800}.heroControls select{border:1px solid var(--line);background:var(--card);min-width:170px;color:var(--ink);text-transform:none;letter-spacing:0;border-radius:8px;margin-top:7px;padding:10px 30px 10px 12px;display:block}.kpis{border-block:1px solid #d7d8cf;grid-template-columns:repeat(4,1fr);margin:0 clamp(22px,5vw,72px);display:grid}.kpis article{border-right:1px solid #d7d8cf;flex-direction:column;gap:6px;padding:22px 24px;display:flex}.kpis article:last-child{border:0}.kpis span{color:var(--muted);font-size:11px;font-weight:700}.kpis strong{font:500 28px Georgia}.kpis i{font:500 13px Inter}.kpis small{color:var(--muted);font-size:10px}.good{color:#278351!important}.workspace,.bottomGrid{grid-template-columns:minmax(0,1.9fr) minmax(290px,.8fr);gap:18px;margin:26px clamp(22px,5vw,72px);display:grid}.chartCard,.optimizer,.flowCard,.schedule{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}.cardHead{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.cardHead h2{margin:0;font:500 23px Georgia}.legend{color:var(--muted);gap:15px;font-size:10px;display:flex}.legend span:before{content:"";border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.lSolar:before{background:var(--sun)}.lWind:before{background:var(--wind)}.lChp:before{background:var(--orange)}.lGrid:before{background:var(--blue)}.chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:4px;height:260px;margin-top:28px;padding:0 4px;display:flex}.bar{cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-end;align-items:stretch;height:100%;padding:0;display:flex;position:relative}.bar:hover,.bar.active{background:#183c2710}.stack{border-radius:3px 3px 0 0;flex-direction:column-reverse;min-height:2px;display:flex;overflow:hidden}.stack i{flex-shrink:0;width:100%;display:block}.stack .solar{background:var(--sun)}.stack .wind{background:var(--wind)}.stack .chp{background:var(--orange)}.stack .grid{background:var(--blue)}.bar b{height:22px;color:var(--muted);padding-top:7px;font-size:8px;font-weight:600}.hourDetail{align-items:center;gap:24px;padding-top:15px;display:flex;overflow-x:auto}.hourDetail>strong{font:600 22px Georgia}.hourDetail span{color:var(--muted);white-space:nowrap;font-size:10px}.hourDetail b{color:var(--ink);margin-top:3px;font-size:12px;display:block}.status{color:#2d7048;background:#e4f0df;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800}.slider{margin-top:18px;display:block}.slider span{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.slider b{color:var(--ink)}input[type=range]{width:100%;height:4px;accent-color:var(--green);margin-top:9px}.primary{background:var(--ink);color:#fff;width:100%;margin-top:22px;padding:12px}.note{color:var(--muted);margin:12px 0 0;font-size:9px;line-height:1.5}.flow{grid-template-columns:1fr 30px 1fr 30px 1fr;align-items:center;gap:10px;margin-top:28px;display:grid}.flow div{border:1px solid var(--line);text-align:center;border-radius:10px;flex-direction:column;gap:3px;padding:14px;display:flex}.flow div span{font-size:22px}.flow div b{font-size:10px}.flow div strong{font:500 16px Georgia}.flow .bus{background:var(--ink);color:#fff}.flow>i{text-align:center;color:var(--green);font-style:normal}.schedule ul{margin:18px 0 0;padding:0;list-style:none}.schedule li{border-top:1px solid var(--line);gap:18px;padding:12px 0;display:flex}.schedule time{color:var(--green);width:72px;font:600 11px Georgia}.schedule span{color:var(--muted);font-size:10px}.schedule b{color:var(--ink);margin-bottom:3px;font-size:11px;display:block}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin:38px clamp(22px,5vw,72px) 0;padding:18px 0 30px;font-size:9px;display:flex}@media (width<=980px){.location{display:none}.hero{flex-direction:column;align-items:flex-start}.kpis{grid-template-columns:repeat(2,1fr)}.kpis article:nth-child(2){border-right:0}.workspace,.bottomGrid{grid-template-columns:1fr}.optimizer{order:-1}}@media (width<=620px){.topbar{height:66px}.outline{display:none}.hero{padding-top:35px}.heroControls{flex-direction:column;width:100%}.heroControls select{width:100%}.kpis{grid-template-columns:1fr}.kpis article{border-right:0;border-bottom:1px solid var(--line)}.chartCard,.optimizer,.flowCard,.schedule{padding:18px}.legend{display:none}.flow{grid-template-columns:1fr 20px 1fr}.flow div:nth-of-type(3){grid-column:3}.bottomGrid{margin-top:18px}footer{flex-direction:column;gap:8px}}@media print{.topbar .outline,.heroControls,.optimizer{display:none}.workspace,.bottomGrid{grid-template-columns:1fr}.topbar,.hero,.kpis,.workspace,.bottomGrid,footer{margin-left:20px;margin-right:20px;padding-left:0;padding-right:0}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
