:root{color:#152d2b;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f6;font-family:Inter,Aptos,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{background:#f4f7f6;min-width:320px}body{background:#f4f7f6;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #0f9d8c}.dashboard-shell{width:min(1440px,100% - 48px);margin:0 auto;padding:28px 0 24px}.topbar{justify-content:space-between;align-items:center;gap:18px;min-height:42px;display:flex}.brand{color:#163634;align-items:center;gap:11px;display:inline-flex}.brand__mark{background:#e5f2ef;border:1px solid #a8c9c4;grid-template-columns:repeat(3,5px);align-items:end;gap:3px;width:29px;height:29px;padding:6px 5px;display:grid}.brand__mark span{background:#087d72;display:block}.brand__mark span:first-child{height:7px}.brand__mark span:nth-child(2){height:13px}.brand__mark span:nth-child(3){height:18px}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.025em;font-size:.96rem;font-weight:780}.brand small{color:#65817d;letter-spacing:.08em;text-transform:uppercase;margin-top:1px;font-size:.65rem;font-weight:650}.report-badge,.source-pill,.updated-at,.eyebrow,.legend-inline,.chart-note,.sample-breakdown{align-items:center;display:inline-flex}.report-badge{color:#35615d;white-space:nowrap;background:#f9fcfb;border:1px solid #c6d8d5;gap:7px;padding:8px 11px;font-size:.75rem;font-weight:720}.hero{border-bottom:1px solid #d4e1df;grid-template-columns:minmax(0,1fr) auto;gap:44px;margin:42px 0 32px;padding:0 0 34px;display:grid}.hero__copy{max-width:840px}.eyebrow{color:#087d72;letter-spacing:.1em;text-transform:uppercase;gap:7px;margin:0 0 11px;font-size:.72rem;font-weight:800;line-height:1.2}.hero h1{color:#143330;letter-spacing:-.065em;max-width:790px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,4.5vw,4.55rem);font-weight:500;line-height:.98}.hero h1 span{color:#087d72;font-style:italic}.hero__intro{color:#506865;max-width:650px;margin:22px 0 0;font-size:1rem;line-height:1.65}.hero__intro strong{color:#1d4844;font-weight:750}.hero__period{color:#446360;background:#e8f2f0;border-left:3px solid #087d72;flex-wrap:wrap;align-items:center;gap:7px 10px;width:fit-content;max-width:100%;margin-top:23px;padding:10px 12px;font-size:.76rem;line-height:1.35;display:flex}.hero__period svg{color:#087d72;flex:none}.hero__period strong{color:#244b47}.hero__period small{color:#5b7570;font-size:inherit;font-weight:620}.hero__period-divider{background:#a5c1bd;width:1px;height:15px;display:inline-block}.period-filter{background:#eaf4f1;border:1px solid #c9ddda;grid-template-columns:minmax(220px,.78fr) minmax(0,1.8fr);align-items:center;gap:13px 24px;margin:-12px 0 42px;padding:17px 18px;display:grid}.period-filter__intro,.period-filter__fields,.period-filter__help,.period-filter__error{grid-column:2}.period-filter__intro{grid-area:1/1/span 3}.period-filter__intro .eyebrow{color:#176c63;margin-bottom:7px}.period-filter__intro h2{color:#1c4540;letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:500;line-height:1.05}.period-filter__fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.period-filter__field{gap:5px;min-width:0;display:grid}.period-filter__field>span{color:#315b55;letter-spacing:.04em;text-transform:uppercase;font-size:.69rem;font-weight:780}.period-filter__field input{color:#244943;background:#fbfdfc;border:1px solid #b7d0ca;border-radius:0;outline:none;width:100%;min-height:38px;padding:0 10px;font-size:.79rem;font-weight:680}.period-filter__field input:invalid{border-color:#d7a06d}.period-filter__field input:disabled{cursor:wait;opacity:.7}.period-filter__readonly{color:#315b55;white-space:nowrap;background:#e1efeb;border:1px solid #b7d0ca;justify-content:space-between;align-items:center;gap:7px;min-height:38px;padding:0 10px;font-size:.79rem;font-weight:680;display:flex}.period-filter__readonly time{text-overflow:ellipsis;min-width:0;overflow:hidden}.period-filter__field--fixed small{color:#53736c}.period-filter__field small,.period-filter__help{color:#65807a;font-size:.65rem;line-height:1.35}.period-filter__field small{min-height:1.35em}.period-filter__submit{white-space:nowrap;align-self:start;min-height:38px;margin-top:20px}.period-filter__help,.period-filter__error{margin:0}.period-filter__help{margin-top:-5px}.period-filter__error{color:#9a5521;font-size:.68rem;font-weight:680;line-height:1.35}.period-filter--compact{text-align:left;grid-template-columns:1fr;gap:10px;width:100%;margin:2px 0 23px;padding:15px}.period-filter--compact .period-filter__intro,.period-filter--compact .period-filter__fields,.period-filter--compact .period-filter__help,.period-filter--compact .period-filter__error{grid-area:auto/1}.period-filter--compact .period-filter__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.period-filter--compact .period-filter__submit{grid-column:1/-1;width:100%;margin-top:0}.period-filter--compact .period-filter__help{margin-top:0}.hero__actions{flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:10px;min-width:218px;padding-bottom:2px;display:flex}.source-pill{color:#17675e;background:#e8f5f1;border:1px solid #b7d6cf;gap:7px;padding:7px 10px;font-size:.72rem;font-weight:750}.updated-at{color:#6d817e;white-space:nowrap;gap:6px;font-size:.72rem}.control-row{justify-content:flex-end;align-items:center;gap:8px;margin-top:3px;display:flex}.button{border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:37px;font-size:.78rem;font-weight:760;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button--secondary{color:#fff;background:#1b5d56;border:1px solid #1b5d56;padding:0 13px}.button--secondary:hover:not(:disabled),.button--primary:hover{background:#124640;border-color:#124640;transform:translateY(-1px)}.button--primary{color:#fff;background:#087d72;border:1px solid #087d72;padding:0 16px}.kpi-grid{grid-template-columns:1.05fr 1.2fr 1.2fr 1fr;gap:14px;display:grid}.chart-card--profile+.kpi-grid,.kpi-grid--loading{margin-top:14px}.metric-card{background:#fbfdfc;border:1px solid #d4e1df;min-width:0;min-height:164px;padding:18px}.metric-card--lead{color:#fff;background:#1d5b55;border-color:#1c6a61}.metric-card--lead.metric-card--alert{background:#945322;border-color:#9c5424}.metric-card__heading{color:#607975;letter-spacing:.075em;text-transform:uppercase;align-items:center;gap:8px;font-size:.72rem;font-weight:820;line-height:1.2;display:flex}.metric-card__icon{color:#087d72;display:inline-flex}.metric-card--lead .metric-card__heading,.metric-card--lead .metric-card__icon{color:#d3f0e9}.metric-card__value{flex-wrap:wrap;align-items:baseline;gap:8px;margin:24px 0 10px;display:flex}.metric-card__value strong{letter-spacing:-.065em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.45rem,3.5vw,3.45rem);font-weight:500;line-height:.9}.metric-card__value span{color:#d9ebe7;font-size:.77rem;font-weight:650}.metric-card--lead p{color:#cfdfdc;margin:0;font-size:.75rem;line-height:1.45}.metric-pair{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:end;gap:8px;margin-top:23px;display:grid}.metric-pair__side span,.sample-total span{color:#6a827e;margin-bottom:5px;font-size:.7rem;font-weight:650;line-height:1.2;display:block}.metric-pair__side strong{color:#1d403d;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.22rem,1.55vw,1.55rem);font-weight:500;line-height:1;display:block;overflow:hidden}.metric-pair__side--baseline strong{color:#a45820}.metric-pair__side--current strong{color:#087d72}.metric-pair__arrow{color:#9bb4b0;align-self:center;margin-top:13px}.sample-total{align-items:baseline;gap:8px;margin:24px 0 16px;display:flex}.sample-total strong{color:#1b413d;letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.75rem);font-weight:500;line-height:.8}.sample-total span{margin:0}.sample-breakdown{color:#536c68;flex-wrap:wrap;gap:5px 12px;font-size:.67rem;font-weight:620;line-height:1.4}.sample-breakdown span,.legend-inline span{align-items:center;gap:5px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot--baseline{background:#b66623}.legend-dot--current{background:#087d72}.section-intro{justify-content:space-between;align-items:end;gap:24px;margin:56px 0 17px;display:flex}.section-intro .eyebrow{margin-bottom:8px}.section-intro h2{color:#1a3b38;letter-spacing:-.048em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,2.6vw,2.2rem);font-weight:500;line-height:1.05}.section-intro>p{color:#6c827f;text-align:right;max-width:240px;margin:0 1px 2px 0;font-size:.76rem;line-height:1.45}.chart-card,.impact-card{background:#fbfdfc;border:1px solid #d4e1df}.chart-card{min-width:0;padding:23px 24px 18px}.chart-card__header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.profile-card__controls{flex-direction:column;flex:none;align-items:flex-end;gap:11px;min-width:0;display:flex}.machine-filter-wrap{flex-direction:column;align-items:flex-end;gap:4px;max-width:100%;display:flex}.machine-filter{background:#edf6f3;border:1px solid #bdd7d1;border-radius:999px;align-items:center;gap:3px;max-width:100%;padding:4px;display:flex}.machine-filter__option{color:#4d6964;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:0;max-width:180px;min-height:34px;padding:7px 13px;font-size:.71rem;font-weight:760;line-height:1;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex;overflow:hidden}.machine-filter__option:hover:not(:disabled){color:#1f5750;background:#e2f0ec;border-color:#b4d2cb}.machine-filter__option[aria-pressed=true]{color:#fff;background:#087d72;border-color:#087d72;box-shadow:0 4px 10px #087d722e}.machine-filter__option:disabled{cursor:wait;opacity:.7}.machine-filter__note{color:#80611e;align-items:center;gap:4px;margin:0;font-size:.63rem;font-weight:650;line-height:1.25;display:inline-flex}.machine-filter__error{color:#9a5521;text-align:right;max-width:330px;margin:0;font-size:.65rem;font-weight:650;line-height:1.35}.chart-card h3,.impact-card h3{color:#1a3d39;letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:780;line-height:1.2}.chart-card__header p{color:#687f7b;max-width:520px;margin:7px 0 0;font-size:.78rem;line-height:1.5}.legend-inline{color:#556d69;flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px 14px;padding-top:3px;font-size:.7rem;font-weight:690}.chart-wrap{width:100%;height:320px;margin-top:14px}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(285px,.72fr);gap:14px;margin-top:14px;display:grid}.chart-card--daily{flex-direction:column;display:flex}.chart-wrap--compact{flex:auto;height:auto;min-height:260px;margin-top:6px}.chart-note{color:#718682;gap:6px;margin:4px 0 0;font-size:.68rem;line-height:1.4}.impact-card{background:#e9f3f0;border-color:#b8d9d2;padding:25px 24px;position:relative;overflow:hidden}.impact-card:after{content:"";pointer-events:none;border:1px solid #b5d6cf;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-50px;right:-30px}.impact-card__heading{min-height:62px;margin-bottom:9px;position:relative}.impact-card__icon{color:#087d72;background:#d9ece7;border:1px solid #9bcfc5;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;position:absolute;top:0;left:0}.impact-card__heading .eyebrow{text-align:center;justify-content:center;align-items:center;min-height:42px;margin:0;display:flex}.impact-card h3{letter-spacing:-.055em;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.impact-card__lead{z-index:1;color:#375b56;margin:15px 0 17px;font-size:.88rem;line-height:1.6;position:relative}.impact-card__lead strong{color:#087d72}.impact-list{z-index:1;grid-template-columns:1fr;gap:8px;margin:0 0 17px;display:grid;position:relative}.impact-list div{border-top:1px solid #c6ded9;justify-content:space-between;align-items:baseline;gap:14px;padding-top:8px;display:flex}.impact-list dt{color:#64807b;font-size:.7rem;font-weight:690}.impact-list dd{color:#26524c;text-align:right;margin:0;font-size:.75rem;font-weight:780}.cost-comparison{z-index:1;background:#ffffff7a;border:1px solid #b7d7d0;margin-top:18px;padding:14px;position:relative;overflow:hidden;box-shadow:0 12px 28px #15534b12}.cost-comparison__header,.cost-comparison__values,.cost-comparison__difference{align-items:center;display:flex}.cost-comparison__header{border-bottom:1px solid #c8dfda;justify-content:space-between;gap:14px;padding-bottom:11px}.cost-comparison__header>span{gap:2px;display:grid}.cost-comparison__header>span>strong{color:#24534d;letter-spacing:.035em;text-transform:uppercase;font-size:.73rem;font-weight:790}.cost-comparison__header small{color:#6b837e;font-size:.61rem;font-weight:620}.cost-comparison__tariff{color:#087d72;white-space:nowrap;font-size:.86rem;font-weight:820}.cost-comparison__tariff small{color:#52736d;margin-left:2px;font-size:.62rem}.cost-comparison__values{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:9px;padding:13px 0;display:grid}.cost-comparison__period{gap:3px;min-width:0;display:grid}.cost-comparison__period--current{text-align:right}.cost-comparison__period span{color:#6b837e;font-size:.62rem;font-weight:680}.cost-comparison__period strong{color:#173f3a;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.7vw,1.18rem);font-weight:600;overflow:hidden}.cost-comparison__arrow,.cost-comparison__difference-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.cost-comparison__arrow{color:#55736d;background:#dcebe7;width:28px;height:28px}.cost-comparison__difference{color:#24655d;background:#dceee9;gap:8px;min-height:38px;padding:8px 10px;font-size:.68rem;font-weight:720}.cost-comparison__difference-icon{background:#ffffffa3;width:24px;height:24px}.cost-comparison__difference strong{white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:840}.cost-comparison--increase .cost-comparison__difference{color:#9b581f;background:#f5e8da}.cost-comparison--neutral .cost-comparison__difference{color:#56716c;background:#e5eeec}.cost-comparison>p{color:#718581;margin:9px 1px 0;font-size:.59rem;line-height:1.4}.dashboard-footer{color:#718581;border-top:1px solid #d4e1df;justify-content:space-between;gap:14px;margin-top:28px;padding-top:16px;font-size:.68rem;display:flex}.chart-tooltip{background:#fffefb;border:1px solid #c8d9d6;min-width:174px;padding:11px 12px;box-shadow:0 10px 24px #1b3c381f}.chart-tooltip__title{color:#244942;margin:0 0 7px;font-size:.72rem;font-weight:790}.chart-tooltip__hint{color:#6d827d;margin:-4px 0 7px;font-size:.65rem}.chart-tooltip__row{border-top:1px solid #e4ecea;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:5px 0;display:grid}.chart-tooltip__label{color:#536e68;white-space:nowrap;align-items:center;gap:5px;font-size:.68rem;display:flex}.chart-tooltip__label i{border-radius:50%;width:7px;height:7px;display:inline-block}.chart-tooltip__row strong{color:#1d403b;font-size:.72rem}.chart-tooltip__row small{color:#748884;grid-column:1/-1;font-size:.63rem}.chart-empty{color:#6b8580;border:1px dashed #c5d8d4;justify-content:center;align-items:center;gap:9px;width:100%;height:100%;font-size:.8rem;display:flex}.state-shell{min-height:100vh}.message-state{text-align:center;background:#fbfdfc;border:1px solid #d1dfdc;flex-direction:column;align-items:center;max-width:600px;margin:clamp(80px,15vh,160px) auto 0;padding:42px 30px;display:flex}.message-state--with-period-filter{max-width:720px;margin-top:clamp(38px,8vh,84px)}.message-state__icon{color:#087d72;background:#e6f3f0;border:1px solid #9ecdc5;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:19px;display:inline-flex}.message-state__icon--error{color:#ad6724;background:#fff5e6;border-color:#ecc99a}.message-state .eyebrow{margin-bottom:8px}.message-state h1{color:#1d3e3a;letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.85rem,4vw,2.7rem);font-weight:500;line-height:1.02}.message-state>p:not(.eyebrow){color:#607772;max-width:430px;margin:15px 0 24px;font-size:.9rem;line-height:1.6}.message-state__controls{flex-direction:column;align-items:center;gap:7px;margin:-5px 0 18px;display:flex}.message-state__controls .machine-filter{width:min(340px,82vw)}.message-state__controls .machine-filter__option{flex:1 1 0}.message-state__controls .machine-filter__error{text-align:center;max-width:340px}.message-state__controls small{color:#80511b;align-items:center;gap:5px;font-size:.68rem;display:inline-flex}.topbar--loading{opacity:.85}.loading-hero{margin:52px 0 42px}.skeleton,.skeleton-card,.skeleton-chart{background:#e3ecea;overflow:hidden}.skeleton{position:relative}.skeleton:after,.skeleton-card:after,.skeleton-chart:after{content:"";background:#ffffff57;animation:1.35s ease-in-out infinite alternate pulse;position:absolute;inset:0}.skeleton--brand{width:190px;height:31px}.skeleton--badge{width:170px;height:31px}.skeleton--eyebrow{width:180px;height:12px;margin-bottom:16px}.skeleton--heading{width:min(660px,75%);height:clamp(56px,9vw,105px)}.skeleton--copy{width:min(520px,65%);height:20px;margin-top:19px}.skeleton-card,.skeleton-chart{border:1px solid #d7e2e0;min-height:164px;position:relative}.skeleton-chart{min-height:300px}.loading-message{color:#647d78;justify-content:center;align-items:center;gap:9px;margin:22px 0 0;font-size:.82rem;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{to{opacity:.36}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=1080px){.hero{grid-template-columns:1fr;gap:24px}.hero__actions{align-items:flex-start}.period-filter{grid-template-columns:1fr}.period-filter__intro,.period-filter__fields,.period-filter__help,.period-filter__error{grid-area:auto/1}.control-row{justify-content:flex-start}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.72fr)}}@media (width<=760px){.dashboard-shell{width:min(100% - 28px,620px);padding-top:18px}.topbar{align-items:flex-start}.report-badge{padding:7px 9px;font-size:.68rem}.hero{margin-top:33px;margin-bottom:25px;padding-bottom:27px}.hero h1{font-size:clamp(2.3rem,11vw,3.5rem)}.hero__intro{font-size:.92rem}.hero__period{align-items:flex-start}.hero__period-divider{display:none}.hero__period span:not(.hero__period-divider){width:calc(100% - 26px)}.period-filter{margin:-8px 0 34px;padding:15px 14px}.period-filter__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.period-filter__submit{grid-column:1/-1;width:100%;margin-top:0}.kpi-grid,.lower-grid{grid-template-columns:1fr}.metric-card{min-height:148px}.section-intro{margin-top:43px;display:block}.section-intro>p{text-align:left;margin:9px 0 0}.chart-card{padding:19px 14px 15px}.chart-card__header{display:block}.profile-card__controls{align-items:stretch;gap:10px;margin-top:14px}.machine-filter-wrap{align-items:stretch}.machine-filter__error{text-align:left;max-width:none}.machine-filter{width:100%}.machine-filter__option{flex:1 1 0;max-width:none}.legend-inline{justify-content:flex-start;margin-top:0}.chart-wrap{height:278px}.chart-wrap--compact{flex:0 0 235px;min-height:0}.impact-card{padding:22px 19px}.dashboard-footer{line-height:1.8;display:block}.dashboard-footer span{display:block}.message-state{padding:35px 21px}}@media (width<=420px){.topbar{gap:9px}.report-badge svg{display:none}.control-row{width:100%}.button--secondary{flex:1 1 0;width:auto}.period-filter__fields,.period-filter--compact .period-filter__fields{grid-template-columns:1fr}.period-filter__submit{grid-column:auto}.metric-pair{gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
