/* ============================================================
   LOADRUNNER WEATHER + GENERATOR V2.10
   Shared global styles for Home, Weather and Generator pages.
   ============================================================ */

.lr-live-badge {
    margin-left: auto;
    padding: 7px 12px;
    border: 2px solid var(--green-dark);
    border-radius: 6px;
    color: var(--green-dark);
    background: var(--panel);
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.lr-live-badge.bad {
    border-color: var(--critical);
    color: var(--critical);
}

.lr-panel-card {
    border: 2px solid var(--border);
    border-radius: 9px;
    background: var(--panel);
    box-shadow: var(--shadow);
}

.lr-section-eyebrow {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.lr-section-spacer {
    margin-top: 4px;
}

.lr-inline-result {
    min-height: 14px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
}

.lr-inline-result.bad { color: var(--critical); }
.lr-inline-result.good { color: var(--green-dark); }

/* ============================================================
   HOME DASHBOARD
   ============================================================ */

.home-dashboard-v210 {
    align-items: stretch;
    justify-content: stretch;
}

.home-dashboard-grid {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr) 52px minmax(0,1.15fr) 52px minmax(0,1fr);
    grid-template-rows: 82px minmax(0,1fr) minmax(0,1fr);
    gap: 8px 8px;
    align-items: stretch;
}

.home-forecast-card {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    border: 3px solid var(--border);
    border-radius: 12px;
    background: var(--panel);
    color: var(--text);
    box-shadow: var(--shadow);
    padding: 7px 12px;
    display: grid;
    grid-template-columns: minmax(190px,0.9fr) minmax(430px,2fr) 100px;
    align-items: center;
    gap: 10px;
    text-align: left;
}

.home-forecast-weather {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.home-weather-icon {
    width: 42px;
    text-align: center;
    font-size: 36px;
    line-height: 1;
}

.home-weather-condition {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-weather-temp {
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-forecast-solar {
    min-width: 0;
    text-align: center;
}

.home-forecast-title {
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.home-forecast-values {
    margin-top: 2px;
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    align-items: center;
    gap: 14px;
}

.home-forecast-values > div:not(.home-forecast-divider) {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 7px;
    min-width: 0;
}

.home-forecast-values strong {
    color: var(--green);
    -webkit-text-stroke: 0.7px #000000;
    paint-order: stroke fill;
    font-size: 24px;
    line-height: 1;
    font-weight: 900;
    white-space: nowrap;
}

.home-forecast-values span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.home-forecast-divider {
    width: 1px;
    height: 34px;
    background: var(--panel-secondary);
}

.home-forecast-tap {
    justify-self: end;
    color: var(--green-dark);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.home-dashboard-v210 .solar-home-card {
    grid-column: 1;
    grid-row: 2;
}

.home-dashboard-v210 #solar-flow-arrow {
    grid-column: 2;
    grid-row: 2;
}

.home-dashboard-v210 .generator-home-card {
    grid-column: 1;
    grid-row: 3;
}

.home-dashboard-v210 #generator-flow-arrow {
    grid-column: 2;
    grid-row: 3;
}

.home-dashboard-v210 .battery-home-card {
    grid-column: 3;
    grid-row: 2 / 4;
    width: 100%;
    height: 100%;
}

.home-dashboard-v210 #battery-flow-arrow {
    grid-column: 4;
    grid-row: 2 / 4;
    align-self: center;
}

.home-dashboard-v210 .load-home-card {
    grid-column: 5;
    grid-row: 2 / 4;
    width: 100%;
    height: 100%;
}

.home-dashboard-v210 .home-source-card {
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 7px 10px;
}

.home-dashboard-v210 .home-source-card .home-card-label {
    margin-top: 0;
    font-size: 14px;
}

.home-dashboard-v210 .home-source-value {
    margin-top: 12px;
    font-size: 34px;
}

.home-dashboard-v210 .home-source-card .home-unit {
    font-size: 15px;
}

.home-dashboard-v210 .home-source-card .home-card-caption {
    margin-top: 8px;
    font-size: 9px;
}

.home-dashboard-v210 .home-source-card .tap-hint {
    margin-top: 8px;
    font-size: 8px;
}

.generator-home-switch {
    margin-top: 7px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
}

.generator-home-value {
    margin-top: 6px !important;
}

.home-dashboard-v210 .home-source-arrow {
    align-self: center;
    font-size: 38px;
}

.home-dashboard-v210 .load-home-card,
.home-dashboard-v210 .battery-home-card {
    min-height: 0;
}

/* ============================================================
   WEATHER PAGE
   ============================================================ */

.lr-forecast-page,
.lr-generator-page {
    min-height: 0;
    overflow: hidden;
}

.lr-location-card {
    border: 2px solid var(--border);
    border-radius: 9px;
    background: var(--panel);
    padding: 8px 10px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 5px 12px;
    align-items: center;
}

.lr-location-name {
    margin-top: 2px;
    font-size: 15px;
    font-weight: 900;
}

.lr-location-help {
    margin-top: 2px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
}

.lr-zip-editor {
    display: flex;
    align-items: center;
    gap: 7px;
}

.lr-zip-input {
    width: 115px;
    min-height: 40px;
    border: 2px solid var(--border);
    border-radius: 6px;
    background: var(--panel-secondary);
    color: var(--text);
    padding: 6px 9px;
    text-align: center;
    font-size: 15px;
    font-weight: 900;
}

.lr-location-card .lr-inline-result {
    grid-column: 1 / -1;
}

.lr-weather-content {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    touch-action: pan-y;
    padding-right: 7px;
    padding-bottom: 24px;
}

.lr-weather-summary-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.6fr;
    gap: 9px;
}

.lr-weather-now-card {
    min-height: 105px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 13px;
}

.lr-weather-large-icon {
    width: 55px;
    text-align: center;
    font-size: 46px;
    line-height: 1;
}

.lr-weather-now-condition {
    font-size: 13px;
    font-weight: 900;
}

.lr-weather-now-temp {
    margin-top: 2px;
    font-size: 30px;
    font-weight: 900;
}

.lr-weather-now-detail {
    margin-top: 4px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
}

.lr-solar-hero-card {
    min-height: 105px;
    padding: 10px 14px;
}

.lr-solar-hero-values {
    margin-top: 7px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.lr-solar-hero-values > div {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: baseline;
    gap: 5px;
    text-align: center;
}

.lr-solar-hero-values strong {
    color: var(--green);
    -webkit-text-stroke: 0.8px #000000;
    paint-order: stroke fill;
    font-size: 32px;
    line-height: 1;
    font-weight: 900;
}

.lr-solar-hero-values span {
    font-size: 13px;
    font-weight: 900;
}

.lr-solar-hero-values small {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.04em;
}

.lr-model-note {
    margin-top: 7px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 800;
    text-align: center;
}

.lr-chart-card {
    height: 155px;
    padding: 6px 8px;
}

.lr-solar-chart {
    width: 100%;
    height: 100%;
    display: block;
}

.lr-daily-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0,1fr));
    gap: 6px;
}

.lr-daily-card {
    min-width: 0;
    border: 2px solid var(--border);
    border-radius: 8px;
    background: var(--panel);
    padding: 7px 4px;
    text-align: center;
}

.lr-daily-day {
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
}

.lr-daily-icon {
    margin-top: 3px;
    font-size: 23px;
    line-height: 1;
}

.lr-daily-condition {
    height: 20px;
    margin-top: 3px;
    font-size: 7px;
    font-weight: 900;
    line-height: 1.15;
}

.lr-daily-temp {
    margin-top: 3px;
    font-size: 11px;
    font-weight: 900;
}

.lr-daily-solar {
    margin-top: 5px;
    color: var(--green-dark);
    font-size: 12px;
    font-weight: 900;
}

.lr-daily-pop {
    margin-top: 3px;
    color: var(--muted);
    font-size: 7px;
    font-weight: 900;
}

/* ============================================================
   GENERATOR PAGE
   ============================================================ */

.lr-generator-status-strip {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border: 2px solid var(--border);
    border-radius: 9px;
    background: var(--panel);
}

.lr-generator-status-strip > div {
    min-height: 58px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lr-generator-status-strip > div + div {
    border-left: 2px solid var(--panel-secondary);
}

.lr-generator-status-strip span,
.lr-stat-card span,
.lr-touch-setting > span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.05em;
}

.lr-generator-status-strip strong {
    margin-top: 4px;
    font-size: 15px;
    font-weight: 900;
}

.lr-hardware-note {
    padding: 6px 10px;
    border: 2px solid var(--warning);
    border-radius: 7px;
    background: var(--panel);
    color: var(--warning);
    font-size: 8px;
    font-weight: 900;
    text-align: center;
}

.lr-generator-scroll {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    touch-action: pan-y;
    padding-right: 7px;
    padding-bottom: 28px;
}

.lr-generator-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 7px;
}

.lr-stat-card {
    min-height: 70px;
    padding: 8px;
    border: 2px solid var(--border);
    border-radius: 8px;
    background: var(--panel);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lr-stat-card strong {
    margin-top: 4px;
    font-size: 17px;
    font-weight: 900;
}

.lr-stat-card small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 7px;
    font-weight: 800;
}

.lr-stat-wide {
    grid-column: span 2;
}

.lr-strategy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.lr-strategy-card {
    min-height: 94px;
    padding: 10px 12px;
    border: 2px solid var(--border);
    border-radius: 9px;
    background: var(--panel);
    color: var(--text);
    text-align: left;
}

.lr-strategy-card.active {
    border: 3px solid var(--green-dark);
    box-shadow: inset 0 0 0 1px #000000;
}

.lr-strategy-title {
    font-size: 11px;
    font-weight: 900;
}

.lr-strategy-description {
    margin-top: 4px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 700;
    line-height: 1.25;
}

.lr-strategy-summary {
    margin-top: 8px;
    color: var(--green-dark);
    font-size: 11px;
    font-weight: 900;
}

.lr-exercise-card {
    padding: 10px 12px;
}

.lr-exercise-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.lr-toggle-button {
    min-width: 74px;
    min-height: 42px;
    border: 2px solid var(--border);
    border-radius: 7px;
    background: var(--panel-secondary);
    color: var(--text);
    font-size: 12px;
    font-weight: 900;
}

.lr-toggle-button.active {
    background: var(--green);
    color: #000000;
}

.lr-exercise-controls {
    margin-top: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr 0.8fr;
    gap: 9px;
}

.lr-touch-setting {
    min-width: 0;
}

.lr-touch-stepper-inline {
    margin-top: 4px;
    display: grid;
    grid-template-columns: 48px minmax(70px,1fr) 48px;
    align-items: center;
    gap: 5px;
}

.lr-touch-stepper-inline button,
.lr-modal-step-buttons button {
    min-width: 48px;
    min-height: 46px;
    border: 2px solid var(--border);
    border-radius: 7px;
    background: var(--panel-secondary);
    color: var(--text);
    font-size: 24px;
    font-weight: 900;
    touch-action: manipulation;
}

.lr-touch-stepper-inline strong {
    text-align: center;
    font-size: 12px;
    font-weight: 900;
}

.lr-generator-time-select {
    width: 100%;
    margin-top: 4px;
    min-height: 46px;
}

/* ============================================================
   GENERATOR SOC MODAL
   ============================================================ */

.lr-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0,0,0,0.62);
}

.lr-modal-panel {
    width: min(720px, calc(100vw - 36px));
    max-height: calc(100vh - 36px);
    overflow: auto;
    border: 3px solid var(--border);
    border-radius: 12px;
    background: var(--panel);
    color: var(--text);
    padding: 16px;
    box-shadow: var(--shadow);
}

.lr-modal-title {
    font-size: 22px;
    font-weight: 900;
}

.lr-modal-subtitle {
    margin-top: 3px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
}

.lr-soc-modal-grid {
    margin-top: 13px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.lr-soc-modal-value {
    border: 2px solid var(--border);
    border-radius: 9px;
    padding: 12px;
    text-align: center;
}

.lr-soc-modal-value > span {
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
}

.lr-soc-modal-value > strong {
    display: block;
    margin-top: 5px;
    font-size: 42px;
    font-weight: 900;
}

.lr-soc-modal-value > small {
    display: block;
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
}

.lr-modal-step-buttons {
    margin-top: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.lr-modal-step-buttons button {
    min-height: 56px;
    font-size: 30px;
}

.lr-bandwidth-note {
    margin-top: 10px;
    color: var(--green-dark);
    text-align: center;
    font-size: 10px;
    font-weight: 900;
}

.lr-modal-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

/* ============================================================
   PI 1024 x 600 FIT
   ============================================================ */

@media (max-width: 1100px) and (max-height: 620px) {

    .home-dashboard-grid {
        grid-template-rows: 74px minmax(0,1fr) minmax(0,1fr);
        grid-template-columns: minmax(0,1fr) 44px minmax(0,1.16fr) 44px minmax(0,1fr);
        gap: 6px;
    }

    .home-forecast-card {
        grid-template-columns: minmax(170px,0.85fr) minmax(400px,2fr) 90px;
        padding: 5px 10px;
        border-radius: 10px;
    }

    .home-weather-icon { font-size: 31px; width: 36px; }
    .home-weather-condition { font-size: 10px; }
    .home-weather-temp { font-size: 8px; }
    .home-forecast-values strong { font-size: 21px; }
    .home-forecast-values span { font-size: 7px; }
    .home-forecast-tap { font-size: 8px; }

    .home-dashboard-v210 .battery-home-card {
        height: 100% !important;
        padding: 6px 12px !important;
    }

    .home-dashboard-v210 .battery-home-soc {
        font-size: 54px !important;
    }

    .home-dashboard-v210 .battery-runtime-value {
        font-size: 29px !important;
    }

    .home-dashboard-v210 .load-home-card {
        height: 100% !important;
        padding: 10px !important;
    }

    .home-dashboard-v210 .load-home-card .home-card-label {
        margin-top: 14px;
        font-size: 17px;
    }

    .home-dashboard-v210 .load-home-card .home-card-value {
        margin-top: 48px;
        font-size: 46px;
    }

    .home-dashboard-v210 .load-home-card .home-card-caption {
        margin-top: 16px;
        font-size: 10px;
    }

    .home-dashboard-v210 .load-home-card .tap-hint {
        margin-top: 25px;
    }

    .lr-forecast-page,
    .lr-generator-page {
        gap: 8px;
    }

    .lr-location-card { padding: 6px 9px; }
    .lr-weather-summary-grid { gap: 7px; }
    .lr-weather-now-card,
    .lr-solar-hero-card { min-height: 94px; padding: 7px 10px; }
    .lr-weather-large-icon { font-size: 39px; }
    .lr-weather-now-temp { font-size: 26px; }
    .lr-solar-hero-values strong { font-size: 28px; }
    .lr-chart-card { height: 135px; }
    .lr-daily-grid { gap: 4px; }
    .lr-daily-card { padding: 5px 3px; }

    .lr-generator-status-strip > div { min-height: 50px; }
    .lr-generator-stat-grid { gap: 5px; }
    .lr-stat-card { min-height: 62px; padding: 6px; }
    .lr-strategy-card { min-height: 84px; padding: 8px 10px; }
    .lr-exercise-card { padding: 8px 10px; }
}

/* ============================================================
   LOADRUNNER WEATHER / SOLAR REFINEMENT V2.11
   ============================================================ */

/* Normal status is intentionally silent. Only faults / warnings appear. */
.connection-status,
.connection-status.online,
.climate-status.normal,
.lr-live-badge:not(.bad) {
    display: none !important;
}

.connection-status.offline,
.climate-status.attention,
.lr-live-badge.bad {
    display: block !important;
}

/* ------------------------------------------------------------
   HOME FORECAST BANNER
   ------------------------------------------------------------ */

.home-dashboard-v211 .home-dashboard-grid {
    grid-template-rows: 88px minmax(0,1fr) minmax(0,1fr);
}

.home-dashboard-v211 .home-forecast-card {
    grid-template-columns: minmax(190px,0.82fr) minmax(430px,1.8fr) 122px 92px;
    gap: 8px;
    padding: 6px 10px;
}

.home-dashboard-v211 .home-forecast-values {
    gap: 10px;
}

.home-dashboard-v211 .home-forecast-value-block {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
}

.home-forecast-value-line {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    white-space: nowrap;
}

.home-forecast-est {
    color: var(--muted) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
}

.home-dashboard-v211 .home-forecast-values strong {
    font-size: 30px;
    letter-spacing: -0.02em;
}

.home-dashboard-v211 .home-forecast-values > .home-forecast-value-block > span {
    font-size: 8px;
}

.home-forecast-tilt {
    min-width: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.home-forecast-tilt span {
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: 0.06em;
    white-space: nowrap;
}

.home-forecast-tilt strong {
    color: var(--green);
    -webkit-text-stroke: 0.8px #000000;
    paint-order: stroke fill;
    font-size: 29px;
    line-height: 1;
    font-weight: 900;
}

/* ------------------------------------------------------------
   WEATHER PAGE — FIXED 1024x600 LAYOUT, NO SCROLLBAR
   ------------------------------------------------------------ */

#page-container:has(> .lr-forecast-page-v211) {
    min-height: 0;
    overflow: hidden;
}

.lr-forecast-page-v211 {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    gap: 6px;
}

.lr-forecast-header {
    flex: 0 0 auto;
    min-height: 48px;
}

.lr-forecast-page-v211 .back-home-button {
    min-height: 44px;
}

.lr-forecast-page-v211 .detail-title {
    font-size: 21px;
}

.lr-forecast-page-v211 .detail-subtitle {
    font-size: 9px;
}

.lr-location-card-v211 {
    flex: 0 0 52px;
    min-height: 52px;
    padding: 5px 9px;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 2px 9px;
}

.lr-location-card-v211 .lr-location-name {
    margin-top: 0;
    font-size: 13px;
}

.lr-location-card-v211 .lr-inline-result {
    min-height: 0;
    height: 0;
    overflow: visible;
    font-size: 8px;
    transform: translateY(-2px);
}

.lr-location-card-v211 .lr-zip-input {
    width: 102px;
    min-height: 36px;
    padding: 4px 7px;
    font-size: 14px;
}

.lr-location-card-v211 .settings-action-button {
    min-height: 36px;
    padding: 5px 9px;
    font-size: 10px;
}

.lr-weather-content-v211 {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden !important;
    touch-action: none;
    padding: 0 !important;
    display: grid;
    grid-template-rows: 78px minmax(150px,1fr) 91px;
    gap: 6px;
}

.lr-weather-summary-grid-v211 {
    min-height: 0;
    grid-template-columns: 0.78fr 1.75fr;
    gap: 6px;
}

.lr-weather-summary-grid-v211 .lr-weather-now-card,
.lr-solar-hero-card-v211 {
    min-height: 0;
    height: 78px;
    padding: 6px 9px;
}

.lr-weather-summary-grid-v211 .lr-weather-large-icon {
    width: 45px;
    font-size: 36px;
}

.lr-weather-summary-grid-v211 .lr-weather-now-condition {
    font-size: 11px;
}

.lr-weather-summary-grid-v211 .lr-weather-now-temp {
    font-size: 23px;
}

.lr-weather-summary-grid-v211 .lr-weather-now-detail {
    margin-top: 1px;
    font-size: 7px;
}

.lr-solar-hero-card-v211 .lr-section-eyebrow {
    font-size: 8px;
}

.lr-solar-hero-values-v211 {
    margin-top: 2px;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 5px;
}

.lr-solar-hero-values-v211 > div {
    grid-template-columns: auto auto;
    gap: 3px;
}

.lr-solar-hero-values-v211 strong {
    font-size: 23px;
}

.lr-solar-hero-values-v211 span {
    font-size: 9px;
}

.lr-solar-hero-values-v211 small {
    font-size: 6.5px;
}

.lr-solar-model-row {
    margin-top: 2px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--muted);
    font-size: 7px;
    font-weight: 900;
}

.lr-solar-model-row strong {
    color: var(--green);
    -webkit-text-stroke: 0.4px #000000;
    paint-order: stroke fill;
    font-size: 10px;
    white-space: nowrap;
}

.lr-chart-card-v211 {
    min-height: 0;
    height: auto;
    padding: 4px 7px 3px;
    display: grid;
    grid-template-rows: 18px minmax(0,1fr);
    gap: 0;
}

.lr-chart-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.lr-chart-legend {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--muted);
    font-size: 7px;
    font-weight: 900;
}

.lr-chart-legend span::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 0;
    margin-right: 4px;
    vertical-align: middle;
    border-top: 2px solid currentColor;
}

.lr-chart-legend .actual { color: var(--green-dark); }
.lr-chart-legend .predicted { color: var(--warning); }
.lr-chart-legend .predicted::before { border-top-style: dashed; }
.lr-chart-legend .clouds { color: var(--muted); }
.lr-chart-legend .clouds::before { border-top-width: 5px; opacity: 0.35; }
.lr-chart-legend .now { color: var(--critical); }
.lr-chart-legend .now::before { border-top-style: dotted; }

.lr-chart-card-v211 .lr-solar-chart {
    width: 100%;
    height: 100%;
    min-height: 0;
}

.lr-daily-section-v211 {
    min-height: 0;
    display: grid;
    grid-template-rows: 13px minmax(0,1fr);
    gap: 2px;
}

.lr-daily-section-v211 .lr-section-eyebrow {
    font-size: 8px;
}

.lr-daily-section-v211 .lr-daily-grid {
    min-height: 0;
    gap: 4px;
}

.lr-daily-section-v211 .lr-daily-card {
    height: 76px;
    padding: 3px 2px;
    border-radius: 6px;
}

.lr-daily-section-v211 .lr-daily-day { font-size: 7px; }
.lr-daily-section-v211 .lr-daily-icon { margin-top: 1px; font-size: 17px; }
.lr-daily-section-v211 .lr-daily-condition { height: 14px; margin-top: 1px; font-size: 5.8px; }
.lr-daily-section-v211 .lr-daily-temp { margin-top: 1px; font-size: 8px; }
.lr-daily-section-v211 .lr-daily-solar { margin-top: 1px; font-size: 8px; }
.lr-daily-section-v211 .lr-daily-pop { margin-top: 1px; font-size: 5.5px; }

/* ------------------------------------------------------------
   TECHNICIAN SOLAR FORECAST MODEL SETTINGS
   ------------------------------------------------------------ */

.weather-model-settings-card {
    align-items: flex-start;
}

.weather-model-settings-copy {
    min-width: 0;
    flex: 1;
}

.weather-model-fields {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.weather-model-fields label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 900;
}

.weather-model-fields label > div {
    display: flex;
    align-items: center;
    gap: 4px;
}

.weather-model-fields input {
    width: 82px;
    min-height: 34px;
    border: 2px solid var(--border);
    border-radius: 6px;
    background: var(--panel-secondary);
    color: var(--text);
    padding: 4px 6px;
    text-align: center;
    font-size: 13px;
    font-weight: 900;
}

.weather-calibration-summary {
    margin-top: 8px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    line-height: 1.3;
}

.weather-use-calculated {
    margin-top: 6px;
    min-height: 32px;
    padding: 4px 8px;
    font-size: 9px;
}

.weather-model-result {
    margin-top: 5px;
    min-height: 12px;
}

.weather-model-result.good { color: var(--green-dark); }
.weather-model-result.bad { color: var(--critical); }


/* LOADRUNNER_WEATHER_THERMAL_V212_START */
.climate-status.normal { display: block !important; }
.home-dashboard-v211 .dev-data-source,
.home-dashboard-v210 .dev-data-source { display: none !important; }

.home-dashboard-v211 .home-forecast-tilt span {
    color: var(--green);
    -webkit-text-stroke: 0.35px #000000;
    paint-order: stroke fill;
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.035em;
}
.home-dashboard-v211 .home-forecast-tilt strong {
    -webkit-text-stroke: 0.45px #000000;
    font-size: 26px;
    letter-spacing: -0.02em;
    white-space: nowrap;
}

.lr-location-card-v211 {
    grid-template-columns: minmax(0,1fr) 145px auto;
}
.lr-location-tilt-v212 {
    min-width: 135px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
}
.lr-location-tilt-v212 span {
    color: var(--green);
    -webkit-text-stroke: 0.3px #000000;
    paint-order: stroke fill;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.06em;
}
.lr-location-tilt-v212 strong {
    color: var(--green);
    -webkit-text-stroke: 0.35px #000000;
    paint-order: stroke fill;
    font-size: 22px;
    line-height: 1.05;
    font-weight: 900;
    white-space: nowrap;
}
.lr-solar-model-row { justify-content: center; }

.lr-daily-section-v211 .lr-daily-day { font-size: 9px; }
.lr-daily-section-v211 .lr-daily-icon { font-size: 20px; }
.lr-daily-section-v211 .lr-daily-condition { height: 18px; font-size: 8px; line-height: 1.05; }
.lr-daily-section-v211 .lr-daily-temp { font-size: 10px; }
.lr-daily-section-v211 .lr-daily-solar { font-size: 10px; }
.lr-daily-section-v211 .lr-daily-pop { font-size: 7px; }

body.technician-mode .lr-forecast-page-v211 { gap: 4px; }
body.technician-mode .lr-forecast-page-v211 .lr-forecast-header { min-height: 42px; }
body.technician-mode .lr-forecast-page-v211 .detail-subtitle { display: none; }
body.technician-mode .lr-location-card-v211 { flex-basis: 46px; min-height: 46px; padding-top: 3px; padding-bottom: 3px; }
body.technician-mode .lr-weather-content-v211 { grid-template-rows: 70px minmax(118px,1fr) 82px; gap: 4px; }
body.technician-mode .lr-weather-summary-grid-v211 .lr-weather-now-card,
body.technician-mode .lr-solar-hero-card-v211 { height: 70px; }
body.technician-mode .lr-chart-card-v211 { padding-top: 2px; }
body.technician-mode .lr-daily-section-v211 .lr-daily-card { height: 68px; padding-top: 2px; padding-bottom: 2px; }
body.technician-mode .lr-daily-section-v211 .lr-daily-icon { font-size: 17px; }
body.technician-mode .lr-daily-section-v211 .lr-daily-condition { height: 15px; font-size: 7.4px; }
body.technician-mode .lr-daily-section-v211 .lr-daily-temp,
body.technician-mode .lr-daily-section-v211 .lr-daily-solar { font-size: 9px; }
/* LOADRUNNER_WEATHER_THERMAL_V212_END */


/* LOADRUNNER_WEATHER_VISIBILITY_V213_START */

.home-dashboard-v211 .home-forecast-values strong,
.home-dashboard-v211 .home-forecast-tilt span,
.home-dashboard-v211 .home-forecast-tilt strong,
.lr-forecast-page-v211 .lr-location-tilt-v212 span,
.lr-forecast-page-v211 .lr-location-tilt-v212 strong,
.lr-forecast-page-v211 .lr-solar-hero-values-v211 strong,
.lr-forecast-page-v211 .lr-daily-solar,
.lr-forecast-page-v211 .lr-solar-model-row strong {
    color: var(--green-dark) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    paint-order: normal !important;
}

.home-dashboard-v211 .home-forecast-values strong {
    font-size: 31px !important;
}
.home-dashboard-v211 .home-forecast-tilt span {
    font-size: 13px !important;
}
.home-dashboard-v211 .home-forecast-tilt strong {
    font-size: 27px !important;
}

.lr-forecast-page-v211 .lr-location-tilt-v212 span {
    font-size: 11px !important;
}
.lr-forecast-page-v211 .lr-location-tilt-v212 strong {
    font-size: 24px !important;
}

.lr-forecast-page-v211 .lr-solar-hero-values-v211 strong {
    font-size: 28px !important;
    line-height: 0.95 !important;
}
.lr-forecast-page-v211 .lr-solar-hero-values-v211 span {
    font-size: 10px !important;
    font-weight: 900 !important;
}
.lr-forecast-page-v211 .lr-solar-hero-values-v211 small {
    font-size: 7.5px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
}
.lr-forecast-page-v211 .lr-solar-model-row {
    font-size: 8px !important;
}

.lr-forecast-page-v211 .lr-daily-section-v211 {
    grid-template-rows: 14px minmax(0,1fr) !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-card {
    height: 82px !important;
    min-height: 82px !important;
    padding: 3px 3px 2px !important;
    box-sizing: border-box !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-day {
    font-size: 10px !important;
    line-height: 1 !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-icon {
    margin-top: 1px !important;
    font-size: 21px !important;
    line-height: 1 !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-condition {
    height: 18px !important;
    margin-top: 1px !important;
    font-size: 8.5px !important;
    line-height: 1.05 !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-temp {
    margin-top: 1px !important;
    font-size: 11px !important;
    line-height: 1 !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-solar {
    margin-top: 2px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
}
.lr-forecast-page-v211 .lr-daily-section-v211 .lr-daily-pop {
    margin-top: 1px !important;
    font-size: 7px !important;
    line-height: 1 !important;
}

body.technician-mode .lr-weather-content-v211 {
    grid-template-rows: 68px minmax(104px,1fr) 96px !important;
    gap: 3px !important;
}
body.technician-mode .lr-daily-section-v211 .lr-daily-card {
    height: 82px !important;
    min-height: 82px !important;
}
body.technician-mode .lr-forecast-page-v211 {
    gap: 3px !important;
}
body.technician-mode .lr-chart-card-v211 {
    min-height: 104px !important;
}

#weather-live-badge {
    touch-action: manipulation;
}
#weather-live-badge.retryable {
    cursor: pointer;
}

/* LOADRUNNER_WEATHER_VISIBILITY_V213_END */


/* LOADRUNNER_WEATHER_DAILY_FIT_V214_START */

/*
 * The 7-day cards were being clipped by the fixed bottom nav.
 * Give the forecast row dedicated vertical room by taking a
 * little height from the graph instead of shrinking the text.
 */

.lr-forecast-page-v211 .lr-weather-content-v211 {
    grid-template-rows:
        72px
        minmax(136px, 1fr)
        104px !important;
    gap: 4px !important;
}

.lr-forecast-page-v211 .lr-chart-card-v211 {
    min-height: 136px !important;
    height: auto !important;
}

.lr-forecast-page-v211 .lr-daily-section-v211 {
    min-height: 104px !important;
    height: 104px !important;
    grid-template-rows: 14px 88px !important;
    overflow: visible !important;
}

.lr-forecast-page-v211 .lr-daily-grid {
    min-height: 88px !important;
    height: 88px !important;
    overflow: visible !important;
}

.lr-forecast-page-v211 .lr-daily-card {
    height: 86px !important;
    min-height: 86px !important;
    padding: 3px 3px 2px !important;
    overflow: visible !important;
}

/*
 * Keep the estimated-production line comfortably inside the
 * card while retaining the larger readable typography.
 */
.lr-forecast-page-v211 .lr-daily-solar {
    margin-top: 2px !important;
    margin-bottom: 1px !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
}

/*
 * Technician banner reduces available height slightly.
 * Preserve the same visible daily row by trimming the graph
 * a little further in technician mode.
 */
body.technician-mode .lr-weather-content-v211 {
    grid-template-rows:
        68px
        minmax(124px, 1fr)
        104px !important;
    gap: 3px !important;
}

body.technician-mode .lr-chart-card-v211 {
    min-height: 124px !important;
}

/* LOADRUNNER_WEATHER_DAILY_FIT_V214_END */

/* LOADRUNNER_WEATHER_DAILY_READABILITY_V215B_START */
.lr-forecast-page-v211 .lr-weather-content-v211{grid-template-rows:72px minmax(126px,1fr) 114px!important;gap:4px!important}
.lr-forecast-page-v211 .lr-chart-card-v211{min-height:126px!important}
.lr-forecast-page-v211 .lr-daily-section-v211{min-height:114px!important;height:114px!important;grid-template-rows:15px 97px!important;overflow:hidden!important}
.lr-forecast-page-v211 .lr-daily-grid{min-height:97px!important;height:97px!important;align-items:stretch!important;overflow:hidden!important}
.lr-forecast-page-v211 .lr-daily-card{height:95px!important;min-height:95px!important;padding:6px 5px 8px!important;box-sizing:border-box!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}
.lr-forecast-page-v211 .lr-daily-day{font-size:12px!important;line-height:1!important;font-weight:900!important}
.lr-forecast-page-v211 .lr-daily-icon{margin-top:2px!important;font-size:22px!important;line-height:1!important;min-height:21px!important}
.lr-forecast-page-v211 .lr-daily-condition{margin-top:2px!important;min-height:12px!important;height:auto!important;font-size:10px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important}
.lr-forecast-page-v211 .lr-daily-temp{margin-top:4px!important;font-size:13px!important;line-height:1!important;font-weight:900!important}
.lr-forecast-page-v211 .lr-daily-solar{margin-top:4px!important;margin-bottom:0!important;font-size:14px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important}
.lr-forecast-page-v211 .lr-daily-pop{margin-top:4px!important;margin-bottom:0!important;font-size:8.5px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important}
body.technician-mode .lr-weather-content-v211{grid-template-rows:68px minmax(114px,1fr) 114px!important;gap:3px!important}
body.technician-mode .lr-chart-card-v211{min-height:114px!important}
/* LOADRUNNER_WEATHER_DAILY_READABILITY_V215B_END */


/* LOADRUNNER_WEATHER_LAYOUT_V217B_START */
.lr-forecast-page-v211 .lr-chart-topline{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:8px!important}
.lr-forecast-page-v211 .lr-sun-times{text-align:center;color:var(--text);font-size:10px;line-height:1;font-weight:900;white-space:nowrap}
.lr-forecast-page-v211 .lr-weather-content-v211{grid-template-rows:72px minmax(108px,1fr) 138px!important;gap:4px!important}
.lr-forecast-page-v211 .lr-chart-card-v211{min-height:108px!important}
.lr-forecast-page-v211 .lr-daily-section-v211{min-height:138px!important;height:138px!important;display:block!important;overflow:hidden!important}
.lr-forecast-page-v211 .lr-daily-grid{min-height:132px!important;height:132px!important;gap:4px!important;align-items:stretch!important}
.lr-forecast-page-v211 .lr-daily-card{height:126px!important;min-height:126px!important;padding:7px 4px 9px!important;box-sizing:border-box!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important}
.lr-forecast-page-v211 .lr-daily-day{font-size:12px!important;line-height:1!important;font-weight:900!important}
.lr-forecast-page-v211 .lr-daily-icon{margin-top:3px!important;min-height:26px!important;height:26px!important;font-size:23px!important;line-height:1!important}
.lr-partly-cloudy-symbol{position:relative;display:inline-block;width:34px;height:25px}
.lr-partly-sun,.lr-partly-cloud{position:absolute;line-height:1;color:var(--text)}
.lr-partly-sun{left:0;top:0;font-size:19px}.lr-partly-cloud{right:0;bottom:-1px;font-size:23px}
.lr-forecast-page-v211 .lr-daily-condition{margin-top:3px!important;min-height:12px!important;height:12px!important;font-size:10px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important}
.lr-forecast-page-v211 .lr-daily-temp{margin-top:5px!important;font-size:13.5px!important;line-height:1!important;font-weight:900!important}
.lr-forecast-page-v211 .lr-daily-solar{margin-top:5px!important;font-size:14px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important}
.lr-forecast-page-v211 .lr-daily-footer{width:100%;margin-top:6px;display:grid;grid-template-rows:auto auto;gap:4px;color:var(--muted);font-size:9.5px;line-height:1;font-weight:900;text-align:center;white-space:nowrap}
.lr-forecast-page-v211 .lr-daily-pop{display:none!important}
body.technician-mode .lr-weather-content-v211{grid-template-rows:68px minmax(100px,1fr) 132px!important;gap:3px!important}
body.technician-mode .lr-chart-card-v211{min-height:100px!important}
body.technician-mode .lr-daily-section-v211{min-height:132px!important;height:132px!important}
body.technician-mode .lr-daily-grid{min-height:126px!important;height:126px!important}
body.technician-mode .lr-daily-card{height:122px!important;min-height:122px!important}
/* LOADRUNNER_WEATHER_LAYOUT_V217B_END */


/* LOADRUNNER_WEATHER_DERATE_NAV_V218_START */
.lr-chart-day-toggle{min-width:92px;height:25px;padding:2px 7px;border:2px solid var(--border);border-radius:6px;background:var(--panel-secondary);color:var(--text);font:inherit;font-size:8px;font-weight:900;cursor:pointer}
.lr-chart-day-toggle:active{transform:scale(.97)}
.lr-chart-legend-muted{opacity:.28}
.lr-derate-link{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--green-dark);font:inherit;font-weight:900;cursor:pointer}
.lr-derate-panel{min-height:0;flex:1;display:grid;grid-template-rows:46px 72px 28px minmax(0,1fr) 24px;gap:7px;overflow:hidden}
.lr-derate-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lr-derate-header .detail-title{font-size:20px}.lr-derate-header .detail-subtitle{font-size:9px}
.lr-derate-summary{display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;gap:7px}
.lr-derate-summary-card{border:2px solid var(--border);border-radius:8px;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center}
.lr-derate-summary-card span{color:var(--muted);font-size:9px;font-weight:900}.lr-derate-summary-card strong{margin-top:3px;color:var(--green-dark);font-size:24px;line-height:1;font-weight:900}
.lr-derate-reset{height:100%}.lr-derate-note{padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel-secondary);color:var(--muted);font-size:8px;font-weight:800;display:flex;align-items:center}
.lr-derate-table-wrap{min-height:0;overflow-y:auto;border:2px solid var(--border);border-radius:8px;background:var(--panel)}
.lr-derate-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.lr-derate-table th{position:sticky;top:0;z-index:1;padding:7px 5px;background:var(--panel-secondary);border-bottom:2px solid var(--border);color:var(--muted);font-size:9px;font-weight:900}.lr-derate-table td{padding:7px 5px;border-bottom:1px solid var(--panel-secondary);text-align:center;font-weight:800}.lr-derate-table tr.included td:nth-child(4){color:var(--green-dark);font-weight:900}.lr-derate-table tr.excluded{opacity:.68}.lr-derate-empty{height:100px;color:var(--muted)}
.lr-derate-panel .lr-inline-result{min-height:20px;text-align:center;font-size:8px}
.lr-forecast-page-v211 .lr-chart-topline{grid-template-columns:auto 1fr auto auto!important}
/* LOADRUNNER_WEATHER_DERATE_NAV_V218_END */


/* LOADRUNNER_WEATHER_RUNTIME_HISTORY_V219B_START */
.lr-forecast-page-v211 .lr-weather-content-v211{
    flex:1 1 0!important;
    min-height:0!important;
    align-content:stretch!important;
    grid-template-rows:72px minmax(170px,1fr) 112px!important;
    gap:4px!important;
}
.lr-forecast-page-v211 .lr-chart-card-v211{
    min-height:170px!important;
    grid-template-rows:30px minmax(0,1fr)!important;
    overflow:visible!important;
}
.lr-forecast-page-v211 .lr-chart-topline{
    display:grid!important;
    grid-template-columns:auto 1fr auto auto!important;
    align-items:center!important;
    gap:8px!important;
    overflow:visible!important;
    min-height:28px!important;
}
.lr-forecast-page-v211 .lr-chart-legend{grid-column:3;white-space:nowrap}
.lr-forecast-page-v211 .lr-chart-day-toggle{
    grid-column:4;
    min-width:92px!important;
    height:26px!important;
    min-height:26px!important;
    box-sizing:border-box!important;
    padding:2px 7px!important;
    align-self:center!important;
    overflow:visible!important;
}
.lr-forecast-page-v211 .lr-daily-section-v211{min-height:112px!important;height:112px!important}
.lr-forecast-page-v211 .lr-daily-grid{min-height:108px!important;height:108px!important}
.lr-forecast-page-v211 .lr-daily-card{height:104px!important;min-height:104px!important;padding:5px 4px 6px!important}
body.technician-mode .lr-weather-content-v211{grid-template-rows:68px minmax(138px,1fr) 106px!important;gap:3px!important}
body.technician-mode .lr-chart-card-v211{min-height:138px!important}
body.technician-mode .lr-daily-section-v211{min-height:106px!important;height:106px!important}
body.technician-mode .lr-daily-grid{min-height:102px!important;height:102px!important}
body.technician-mode .lr-daily-card{height:100px!important;min-height:100px!important}

.lr-derate-setting-card{padding:5px 7px!important}
.lr-derate-setting-controls{
    margin-top:3px;
    display:grid;
    grid-template-columns:34px 1fr 34px;
    align-items:center;
    gap:5px;
    width:100%;
}
.lr-derate-setting-controls button{
    height:30px;
    border:2px solid var(--border);
    border-radius:6px;
    background:var(--panel-secondary);
    color:var(--text);
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}
.lr-derate-setting-card #weather-derate-current{
    margin-top:0!important;
    text-align:center;
    font-size:22px!important;
}
.lr-derate-save{
    width:100%;
    height:24px;
    margin-top:4px;
    border:2px solid var(--border);
    border-radius:5px;
    background:var(--green);
    color:#000;
    font-size:8px;
    font-weight:900;
    cursor:pointer;
}
.lr-derate-table{font-size:9px!important}
.lr-derate-table th{font-size:8px!important}
.lr-derate-table tr.included td:nth-child(5){color:var(--green-dark);font-weight:900}
/* LOADRUNNER_WEATHER_RUNTIME_HISTORY_V219B_END */

/* LOADRUNNER_HOME_MAX_TILT_LAYOUT_V1_START */
.home-dashboard-v211 .home-forecast-tilt .home-max-tilt-label {
    margin-top: -1px;
    color: var(--green-dark) !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    paint-order: normal !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap;
}

.mobile-ui .home-dashboard-v211 .home-forecast-tilt .home-max-tilt-label {
    font-size: 7px !important;
}
/* LOADRUNNER_HOME_MAX_TILT_LAYOUT_V1_END */

/* LOADRUNNER_SOLAR_MODEL_TOUCH_STEPPERS_V1_START */
.weather-model-touch-control {
    display: grid !important;
    grid-template-columns: 46px 82px 46px auto;
    align-items: center;
    gap: 5px !important;
}

.weather-model-touch-control input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
    min-height: 46px;
}

.weather-model-touch-control input[type="number"]::-webkit-inner-spin-button,
.weather-model-touch-control input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.weather-model-step-button {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0;
    border: 2px solid var(--border);
    border-radius: 8px;
    background: var(--panel-secondary);
    color: var(--text);
    font: inherit;
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    touch-action: manipulation;
    user-select: none;
    -webkit-user-select: none;
}

.weather-model-step-button:active {
    transform: translateY(1px);
}
/* LOADRUNNER_SOLAR_MODEL_TOUCH_STEPPERS_V1_END */

/* LOADRUNNER_WEATHER_SELECTABLE_7DAY_V1_START */

/*
 * The seven daily tiles are now the graph navigation.
 * Keep the existing black card border and add a green inset highlight so the
 * selected day remains obvious in bright light without changing card size.
 */
.lr-forecast-page-v211 .lr-daily-card {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
    position: relative;
}

.lr-forecast-page-v211 .lr-daily-card.selected {
    box-shadow:
        inset 0 0 0 3px var(--green),
        var(--shadow);
}

.lr-forecast-page-v211 .lr-daily-card.selected .lr-daily-day {
    color: var(--green);
    -webkit-text-stroke: 0.45px #000000;
    paint-order: stroke fill;
}

.lr-chart-legend .precip {
    color: #1677c8;
}

.lr-chart-legend .precip::before {
    border-top-width: 5px;
    border-top-style: solid;
    opacity: 0.75;
}

/*
 * No Today/Tomorrow toggle remains; daily tiles own day selection.
 * The declaration is defensive for old cached HTML during the first reload.
 */
#weather-chart-day-toggle {
    display: none !important;
}

/* LOADRUNNER_WEATHER_SELECTABLE_7DAY_V1_END */

