.modebar-container{display:flex;justify-content:flex-start!important;padding-left:10px!important}.modebar-btn{margin-right:5px;background-color:#2a2a2a!important;border-right:10px!important}.plot-container{overflow:hidden}.chart-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.plot-wrapper{background-color:var(--card-bg);border-radius:10px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.plot-wrapper .modebar{top:5px!important;right:6px!important}@media (width<=800px){.chart-container{grid-template-columns:minmax(0,1fr)}}.chart-divider{background-color:var(--divider-color);border:none;height:1px;margin:1.5rem 0}.stats-buttons{flex-wrap:wrap;gap:.5rem;padding:0 1rem 1rem;display:flex}.stats-buttons button,.date-range button{color:var(--text-color);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .75rem}.stats-buttons button:hover:not(:disabled){background:var(--btn-hover-bg)}.stats-buttons button.active{background:var(--btn-active-bg);border-color:var(--btn-active-border)}.stats-buttons button:disabled{opacity:.5;cursor:default}.date-range{color:var(--text-color);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.date-range label{align-items:center;gap:.5rem;display:flex}.plot-empty{min-height:200px;color:var(--text-color);flex-direction:column;justify-content:center;align-items:center;display:flex}.plot-empty p{opacity:.7;font-style:italic}.plot-note{opacity:.7;color:var(--text-color);margin:0;padding:0 1rem 1rem;font-style:italic}.forecast-info{max-width:70ch;color:var(--text-color);margin:0 0 1.5rem;line-height:1.5}.forecast-info p{margin:0 0 .5rem}.plot-loading{background:var(--divider-color);opacity:.4;border-radius:6px;width:100%}body,html{background-color:var(--bg-main);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root{--bg-main:#121212;--bg-menu:#333;--bg-content:#1e1e1e;--card-bg:#272727;--text-color:#ffffffbf;--text-hover:white;--border-color:#ffffffbf;--border-hover:#fff;--btn-hover-bg:#a9a9a9;--btn-active-bg:#646464;--btn-active-border:#141414;--divider-color:#fff3;--settings-icon-color:#fff9;--menu-shadow:0 8px 24px #0009, 0 2px 6px #0006;--menu-border:#ffffff1f;width:100%;margin:0;padding:0}[data-theme=light]{--bg-main:#f5f5f5;--bg-menu:#dcdcdc;--bg-content:#e0e0e0;--card-bg:#fafafa;--text-color:#000000bf;--text-hover:black;--border-color:#00000080;--border-hover:#000c;--btn-hover-bg:#d0d0d0;--btn-active-bg:#b4b4b4;--btn-active-border:#969696;--divider-color:#00000026;--settings-icon-color:#00000080;--menu-shadow:0 8px 24px #0000001f, 0 2px 6px #00000014;--menu-border:#0000000f}.layout{display:flex}.left-menu{background-color:var(--bg-menu);width:200px;height:calc(100% - 40px);color:var(--text-color);box-shadow:var(--menu-shadow);border:1px solid var(--menu-border);z-index:1;box-sizing:border-box;border-radius:12px;flex-direction:column;padding:20px;display:flex;position:fixed;top:20px;left:20px}.settings-container{justify-content:center;margin-top:auto;padding:20px;display:flex}.left-menu ul{flex-direction:column;align-items:center;margin:70px 0 0;padding:0;list-style:none;display:flex}.left-menu li:not(.menu-divider){margin:10px 0}.left-menu button{border:2px solid var(--border-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:120px;height:40px;padding:0;font-size:16px;display:flex}.left-menu button:hover{background-color:var(--btn-hover-bg);color:var(--text-hover);border-color:var(--border-hover)}.left-menu button:active{background-color:var(--btn-active-bg);border-color:var(--btn-active-border)}.left-menu .menu-divider{background-color:var(--divider-color);width:130px;height:1px;margin:10px 0}.standard-container{justify-content:center;gap:10px;display:flex}.standard-container button{border:2px solid var(--border-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:120px;height:40px;padding:0;font-size:16px;display:flex}.standard-container button:hover{background-color:var(--btn-hover-bg);color:#fff;border-color:var(--border-hover)}.standard-container button:active{background-color:var(--btn-active-bg);border-color:var(--btn-active-border)}.content-wrapper{box-sizing:border-box;background-color:var(--bg-main);flex:1;min-width:0;height:100vh;margin-left:220px;padding:20px;transition:background-color .2s}.left-menu .settings-btn{cursor:pointer;color:var(--settings-icon-color);background:0 0;border:none;border-radius:50%;width:auto;height:auto;padding:8px;transition:all .3s}.left-menu .settings-btn:hover{background-color:var(--btn-hover-bg);color:var(--text-color);border:none}.settings-btn svg{width:36px;height:36px}.main-content{box-sizing:border-box;background-color:var(--bg-content);height:100%;color:var(--text-color);border:1px solid var(--menu-border);box-shadow:var(--menu-shadow);border-radius:12px;padding:24px;transition:background-color .2s;overflow-y:auto}.main-heading{text-align:center;color:var(--text-color);margin-top:0;padding-top:0;font-family:sans-serif;font-size:24pt;font-weight:700}.menu-tools{flex-direction:column;align-items:center;margin-top:20px;display:flex}.menu-tools .menu-divider{margin-bottom:20px}.menu-tools .date-range{flex-direction:column;align-items:stretch;gap:.75rem;width:130px;margin-bottom:0}.menu-tools .date-range label{flex-direction:column;align-items:flex-start;gap:.25rem;font-size:14px}.menu-tools .date-input{box-sizing:border-box;width:100%;color:var(--text-color);border:1px solid var(--border-color);font:inherit;background:0 0;border-radius:6px;padding:.3rem}:root:not([data-theme=light]) .menu-tools .date-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.left-menu .menu-tools button{width:100%;height:32px;font-size:14px}.data-status{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.data-status .status{border:1px solid var(--border-color);color:var(--text-color);border-radius:6px;padding:.5rem .75rem}.data-status .error{border-color:#d9534f;flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.data-status .notice{border-style:dashed}.data-status .updated{opacity:.7;border:none;padding:0}@media (width<=760px){.layout{flex-direction:column}.left-menu{z-index:10;border-radius:0;flex-flow:wrap;align-items:center;gap:8px;width:100%;height:auto;padding:8px 12px;position:sticky;top:0;left:0}.left-menu ul{scrollbar-width:none;flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0;margin:0;overflow-x:auto}.left-menu ul::-webkit-scrollbar{display:none}.left-menu li:not(.menu-divider){flex:none;margin:0}.left-menu .menu-divider{flex:none;width:1px;height:24px;margin:0 2px}.left-menu button{white-space:nowrap;width:auto;height:36px;padding:0 12px;font-size:15px}.settings-container{margin-top:0;padding:0}.left-menu .settings-btn{padding:4px}.settings-btn svg{width:28px;height:28px}.menu-tools{order:3;align-items:stretch;width:100%;margin-top:0}.menu-tools .menu-divider{display:none}.menu-tools .date-range{flex-flow:wrap;align-items:flex-end;gap:8px;width:100%}.menu-tools .date-range label{flex:130px}.left-menu .menu-tools button{width:auto;padding:0 14px}.content-wrapper{height:auto;margin-left:0;padding:8px}.main-content{height:auto;padding:16px;overflow:visible}.main-heading{font-size:20pt}}:root{--panel-bg:#272727;--accent:#4ea1ff;--accent-contrast:#fff;--select:#ffb000;--slot-cheap:#2f7d4f;--slot-mid:#7f7130;--slot-expensive:#93403d;--slot-fg:#fff;--ok:#5cc08a;--danger:#e06a66;--gauge-track:#ffffff1a}[data-theme=light]{--panel-bg:#fafafa;--accent:#1f6fd1;--accent-contrast:#fff;--select:#c77d00;--slot-cheap:#cde8d6;--slot-mid:#efe3b3;--slot-expensive:#f2c8c4;--slot-fg:#1a1a1a;--ok:#1f7a4a;--danger:#b8322d;--gauge-track:#00000014}.control-title,.control-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-color);opacity:.75;margin:0;font-size:12px;font-weight:600}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--border-color);color:var(--text-color);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px}.btn:hover:not(:disabled){background:var(--btn-hover-bg);color:var(--text-hover)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.primary:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast);filter:brightness(1.1)}.btn.small{padding:4px 10px;font-size:14px}.btn:focus-visible,.slot-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--text-color);opacity:.75;font-size:13px}.field input{border:1px solid var(--border-color);max-width:180px;color:var(--text-color);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border-radius:6px;padding:8px 10px}.field input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:12px}.gauge{flex-direction:column;align-items:center;gap:6px;display:flex}.gauge svg{width:100%;max-width:240px;height:auto}.gauge-track{fill:none;stroke:var(--gauge-track);stroke-width:16px;stroke-linecap:round}.gauge-fill{fill:none;stroke:var(--ok);stroke-width:16px;stroke-linecap:round;transition:stroke-dasharray .4s}.gauge-fill.low{stroke:var(--danger)}.gauge-value{fill:var(--text-color);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700}.gauge-scale{fill:var(--text-color);opacity:.6;font-size:11px}.power-control{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.power-control .field input{box-sizing:border-box;width:100%;max-width:none}.power-control .btn-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.power-control .btn-row .btn{white-space:nowrap;padding-inline:6px}.duration-control{flex-direction:column;gap:6px;display:flex}.stepper{align-items:center;gap:8px;display:inline-flex}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:84px;font-weight:600}.command-status{min-height:1.4em;margin:0;font-size:14px}.command-status.ok{color:var(--ok)}.command-status.error{color:var(--danger)}.slot-picker{flex-direction:column;gap:10px;display:flex}.slot-groups{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;display:grid}.slot-quarters{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:560px;display:grid}@media (width<=800px){.slot-groups{grid-template-columns:repeat(6,minmax(0,1fr))}}.slot-btn{color:var(--slot-fg);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:2px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:8px 2px;display:flex;position:relative}.slot-btn.cheap{background:var(--slot-cheap)}.slot-btn.mid{background:var(--slot-mid)}.slot-btn.expensive{background:var(--slot-expensive)}.slot-btn:hover{filter:brightness(1.12)}.slot-time{font-weight:700}.slot-price{opacity:.9;font-size:12px}.slot-star{font-size:11px;position:absolute;top:2px;right:4px}.slot-btn.open{border-color:var(--text-color)}.slot-btn.in-range{border-color:var(--select)}.slot-btn.range-start{box-shadow:0 0 0 2px var(--select)}.slot-btn.blocked:after{content:"";pointer-events:none;background:repeating-linear-gradient(45deg,#00000059 0 2px,#0000 2px 6px);border-radius:4px;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.gauge-fill{transition:none}}.fa-page{flex-direction:column;gap:20px;display:flex}.fa-page .data-status{margin-bottom:0}.fa-top{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start;gap:20px;display:grid}.fa-today{min-width:0}.fa-side{flex-direction:column;gap:20px;min-width:0;display:flex}@media (width<=900px){.fa-top{grid-template-columns:minmax(0,1fr)}}.fa-card{background:var(--panel-bg);border:1px solid var(--divider-color);border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.fa-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 16px;display:flex}.fa-sub{color:var(--text-color);opacity:.7;font-size:13px}.fa-empty{color:var(--text-color);opacity:.7;margin:0}.mode-chip{border:1px solid var(--divider-color);color:var(--text-color);border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:4px 10px;font-size:13px;line-height:1.35;display:inline-flex}.mode-chip:before{content:"";background:var(--text-color);opacity:.5;border-radius:50%;flex:none;width:8px;height:8px}.mode-chip[data-mode=charge]:before{background:var(--ok);opacity:1}.mode-chip[data-mode=discharge]:before{background:var(--select);opacity:1}.mode-chip[data-mode=auto]:before{background:var(--accent);opacity:1}.fa-profiles{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.tabs{border:1px solid var(--border-color);border-radius:8px;display:inline-flex;overflow:hidden}.tabs button{color:var(--text-color);font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 14px}.tabs button+button{border-left:1px solid var(--border-color)}.tabs button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.fa-legend{color:var(--text-color);opacity:.8;flex-wrap:wrap;gap:4px 16px;font-size:12px;display:flex}.fa-legend span{align-items:center;gap:6px;display:inline-flex}.fa-legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.fa-legend i.cheap{background:var(--slot-cheap)}.fa-legend i.mid{background:var(--slot-mid)}.fa-legend i.expensive{background:var(--slot-expensive)}.fa-legend i.blocked{background:repeating-linear-gradient(45deg, var(--text-color) 0 2px, transparent 2px 5px)}.fa-schedule-controls{border-top:1px solid var(--divider-color);grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:16px;padding-top:12px;display:grid}@media (width<=900px){.fa-schedule-controls{grid-template-columns:minmax(0,1fr);align-items:start}}.fa-duration{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.fa-summary{font-variant-numeric:tabular-nums;color:var(--text-color)}.fa-summary-big{font-size:18px;font-weight:700}.fa-planned{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.fa-planned li{border-top:1px solid var(--divider-color);font-variant-numeric:tabular-nums;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.fa-planned li:first-child{border-top:0}.fa-planned-when{color:var(--text-color);font-weight:600}.fa-planned-status{color:var(--text-color);font-size:13px}.fa-planned-status.ok{color:var(--ok)}.fa-planned-status.error{color:var(--danger)}@media (width<=560px){.fa-planned li{grid-template-columns:minmax(0,1fr) auto}.fa-planned li .mode-chip{grid-column:1/-1;justify-self:start}}
