.bpp-public-planner,.bpp-public-planner *{box-sizing:border-box}.bpp-public-planner{--bpp-green:#f47721;--bpp-green-dark:#c84f0b;--bpp-green-soft:#fff0e5;--bpp-ink:#171717;--bpp-muted:#66615d;--bpp-line:#e8ded7;--bpp-soft:#fff8f3;--bpp-card:#fff;--bpp-warn:#8a5a00;--bpp-danger:#8a2020;color:var(--bpp-ink);font:inherit;width:100%;min-width:0}.bpp-public-planner button,.bpp-public-planner input{font:inherit}.bpp-public-planner img{max-width:100%;display:block}.bpp-public-planner__loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--bpp-muted)}.bpp-public-planner__spinner{width:24px;height:24px;border:3px solid var(--bpp-line);border-top-color:var(--bpp-green);border-radius:50%;animation:bpp-spin .8s linear infinite}@keyframes bpp-spin{to{transform:rotate(360deg)}}

/*
 * Responsive viewport canvas. WordPress themes can place shortcodes inside very narrow
 * article columns. The JS layout guard applies an exact viewport-relative width/offset
 * when needed; these declarations are the CSS fallback and intentionally use !important
 * so theme max-width rules cannot squeeze the planner.
 */
@media (min-width:921px){
.bpp-public-planner{width:min(1480px,calc(100vw - 32px))!important;max-width:min(1480px,calc(100vw - 32px))!important;min-width:0!important;overflow:visible!important}
}

.bpp-planner-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(380px,.85fr);gap:28px;align-items:start}.bpp-planner-panel{min-width:0;background:var(--bpp-card);border:1px solid var(--bpp-line);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(23,33,27,.055)}.bpp-planner-panel__head{padding:26px 26px 16px}.bpp-planner-panel__head h2{margin:0 0 7px;font-size:clamp(1.3rem,1.7vw,1.8rem);line-height:1.15;letter-spacing:-.02em}.bpp-planner-panel__head p{margin:0;color:var(--bpp-muted);line-height:1.5;max-width:68ch}

.bpp-runtime{padding:20px 26px 22px;background:linear-gradient(135deg,var(--bpp-soft),#fff);border-top:1px solid var(--bpp-line);border-bottom:1px solid var(--bpp-line)}.bpp-runtime__top{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap;margin-bottom:13px}.bpp-runtime__eyebrow{display:block;color:var(--bpp-muted);font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.bpp-runtime__value{font-size:clamp(1.55rem,2.2vw,2.15rem);font-weight:850;color:var(--bpp-green-dark);line-height:1}.bpp-runtime__slider-wrap{position:relative;padding:3px 0}.bpp-runtime input[type=range]{width:100%;accent-color:var(--bpp-green);height:30px;cursor:pointer}.bpp-runtime__scale{display:flex;justify-content:space-between;color:var(--bpp-muted);font-size:.76rem;margin-top:-2px}.bpp-runtime__manual{display:flex;align-items:center;gap:8px;color:var(--bpp-muted);font-size:.88rem}.bpp-runtime__manual input{width:96px;min-height:44px;border:1px solid var(--bpp-line);border-radius:11px;padding:8px 10px;background:#fff;color:var(--bpp-ink)}.bpp-runtime__presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.bpp-runtime-preset{min-height:36px;border:1px solid var(--bpp-line);border-radius:999px;background:#fff;color:var(--bpp-ink);padding:6px 12px;font-size:.82rem;font-weight:700;cursor:pointer}.bpp-runtime-preset.is-active{background:var(--bpp-green);border-color:var(--bpp-green);color:#fff}

.bpp-categories{display:flex;gap:8px;overflow:auto;padding:18px 26px 9px;scrollbar-width:thin}.bpp-category{border:1px solid var(--bpp-line);background:#fff;color:var(--bpp-ink);border-radius:999px;padding:9px 14px;white-space:nowrap;cursor:pointer;min-height:40px;font-weight:650}.bpp-category.is-active{background:var(--bpp-green);border-color:var(--bpp-green);color:#fff}.bpp-appliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:13px;padding:14px 26px 26px}.bpp-appliance-card{min-width:0;position:relative;border:1px solid var(--bpp-line);background:#fff;border-radius:17px;padding:11px;cursor:pointer;text-align:left;min-height:142px;transition:border-color .15s ease,transform .15s ease,background .15s ease,box-shadow .15s ease}.bpp-appliance-card:focus-visible,.bpp-stepper button:focus-visible,.bpp-category:focus-visible,.bpp-primary-action:focus-visible,.bpp-runtime-preset:focus-visible{outline:3px solid rgba(30,107,66,.25);outline-offset:2px}@media (hover:hover) and (pointer:fine){.bpp-appliance-card:hover{border-color:#e3b99d;transform:translateY(-2px);box-shadow:0 8px 22px rgba(23,33,27,.07)}}.bpp-appliance-card.is-selected{border-color:var(--bpp-green);background:#fff9f4;box-shadow:inset 0 0 0 1px var(--bpp-green)}.bpp-appliance-card__image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:var(--bpp-soft);margin-bottom:9px}.bpp-appliance-card__image img{width:100%;height:100%;object-fit:contain}.bpp-appliance-card--text-only{display:flex;flex-direction:column;justify-content:center;min-height:142px}.bpp-appliance-card__title{font-weight:780;line-height:1.22;overflow-wrap:break-word;word-break:normal;white-space:normal;min-width:0}.bpp-appliance-card__watts{color:var(--bpp-muted);font-size:.82rem;margin-top:6px}.bpp-appliance-card__count{position:absolute;top:8px;right:8px;min-width:30px;height:30px;padding:0 8px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--bpp-green);color:#fff;font-size:.8rem;font-weight:850;box-shadow:0 4px 12px rgba(21,82,50,.2)}

.bpp-selected{padding:20px 26px 26px;border-top:1px solid var(--bpp-line);background:#fffdfb}.bpp-selected__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.bpp-selected h3{margin:0;font-size:1.08rem}.bpp-selected__badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:var(--bpp-green-soft);color:var(--bpp-green-dark);font-size:.82rem;font-weight:800}.bpp-selected__empty{color:var(--bpp-muted);padding:16px 0}.bpp-selected-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--bpp-line)}.bpp-selected-row:first-of-type{border-top:0}.bpp-selected-row__name{font-weight:750}.bpp-selected-row small{color:var(--bpp-muted)}.bpp-selected-row__controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bpp-watts-input{width:86px;min-height:42px;border:1px solid var(--bpp-line);border-radius:10px;padding:7px 9px;background:#fff}.bpp-stepper{display:flex;align-items:center;border:1px solid var(--bpp-line);border-radius:11px;overflow:hidden;background:#fff}.bpp-stepper button{width:42px;height:42px;border:0;background:#fff;cursor:pointer;color:var(--bpp-ink);font-size:1.18rem}.bpp-stepper span{min-width:36px;text-align:center;font-weight:800}.bpp-results-panel{position:sticky;top:22px}.bpp-results-body{padding:0 22px 22px}.bpp-results-body[aria-busy="true"]{opacity:.72}.bpp-results-state{padding:34px 8px;color:var(--bpp-muted);text-align:center;line-height:1.55}.bpp-results-state strong{color:var(--bpp-ink)}

.bpp-load-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:17px}.bpp-load-stat{background:var(--bpp-soft);border:1px solid #fff1e8;border-radius:14px;padding:13px;min-width:0}.bpp-load-stat strong{display:block;font-size:1.08rem;line-height:1.15;overflow-wrap:anywhere}.bpp-load-stat span{color:var(--bpp-muted);font-size:.76rem;line-height:1.25;display:block;margin-top:3px}.bpp-recommendations{display:grid;gap:16px}.bpp-system-card{border:1px solid var(--bpp-line);border-radius:19px;overflow:hidden;background:#fff}.bpp-system-card__hero{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:16px;align-items:center}.bpp-system-card__image{min-height:132px;display:flex;align-items:center;justify-content:center;background:var(--bpp-soft);border-radius:14px;overflow:hidden}.bpp-system-card__image img{width:100%;height:132px;object-fit:contain}.bpp-system-card--no-image .bpp-system-card__hero{grid-template-columns:1fr;padding-top:20px}.bpp-system-card__rank{color:var(--bpp-green);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.bpp-system-card h3{margin:4px 0 5px;font-size:1.35rem;letter-spacing:-.015em}.bpp-system-card__status{color:var(--bpp-muted);font-size:.9rem}.bpp-system-card__runtime{margin-top:10px;font-size:.88rem;color:var(--bpp-muted)}.bpp-system-card__runtime strong{display:block;font-size:1.28rem;color:var(--bpp-green-dark);line-height:1.1}.bpp-system-card__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.bpp-system-metric{background:var(--bpp-soft);border-radius:10px;padding:8px 9px}.bpp-system-metric strong{display:block;font-size:.92rem;color:var(--bpp-ink)}.bpp-system-metric span{display:block;font-size:.7rem;color:var(--bpp-muted);margin-top:2px}.bpp-system-card__details{display:grid;gap:0;padding:0 16px 14px}.bpp-config-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;border-top:1px solid var(--bpp-line);padding:12px 0}.bpp-config-row__icon{width:58px;height:58px;border-radius:12px;background:var(--bpp-soft);display:flex;align-items:center;justify-content:center;font-size:1.35rem;overflow:hidden}.bpp-config-row__icon img{width:100%;height:100%;object-fit:contain}.bpp-config-row strong{display:block;line-height:1.25}.bpp-config-row small{color:var(--bpp-muted);line-height:1.35;display:block;margin-top:2px}.bpp-system-card__warnings{margin:0 16px 14px;border-radius:11px;background:#fff8e8;color:var(--bpp-warn);padding:10px 12px;font-size:.82rem;line-height:1.4}.bpp-primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;background:var(--bpp-green);color:#fff!important;text-decoration:none!important;padding:10px 16px;font-weight:780;width:100%}.bpp-system-card__actions{padding:0 16px 16px}.bpp-planner-error{margin:0 26px 20px;background:#fff0f0;border:1px solid #f0c6c6;color:var(--bpp-danger);border-radius:12px;padding:12px 14px}

@media (min-width:1320px){.bpp-planner-shell{grid-template-columns:minmax(0,1.7fr) minmax(400px,.8fr)}.bpp-appliance-grid{grid-template-columns:repeat(4,minmax(165px,1fr))}.bpp-planner-panel__head{padding-left:30px;padding-right:30px}.bpp-runtime,.bpp-categories,.bpp-appliance-grid,.bpp-selected{padding-left:30px;padding-right:30px}}
@media (min-width:921px) and (max-width:1319px){.bpp-planner-shell{grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr);gap:20px}.bpp-appliance-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.bpp-system-card__hero{grid-template-columns:120px minmax(0,1fr)}.bpp-system-card__image,.bpp-system-card__image img{min-height:108px;height:108px}.bpp-load-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bpp-load-stat:last-child{grid-column:1/-1}}
@media (max-width:920px){.bpp-planner-shell{grid-template-columns:1fr}.bpp-results-panel{position:static}.bpp-appliance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bpp-load-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.bpp-load-stat:last-child{grid-column:auto}}
@media (max-width:720px){.bpp-planner-panel{border-radius:15px;box-shadow:none}.bpp-planner-panel__head,.bpp-runtime,.bpp-categories,.bpp-appliance-grid,.bpp-selected,.bpp-results-body{padding-left:14px;padding-right:14px}.bpp-planner-panel__head{padding-top:20px}.bpp-runtime__top{align-items:flex-start}.bpp-runtime__manual{width:100%;justify-content:space-between}.bpp-appliance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bpp-appliance-card{min-height:118px}.bpp-appliance-card--text-only{min-height:118px}.bpp-selected-row{grid-template-columns:1fr}.bpp-selected-row__controls{justify-content:flex-start}.bpp-system-card__hero{grid-template-columns:105px minmax(0,1fr);gap:12px}.bpp-system-card__image,.bpp-system-card__image img{min-height:92px;height:92px}.bpp-load-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bpp-load-stat:last-child{grid-column:1/-1}.bpp-config-row{grid-template-columns:50px minmax(0,1fr)}.bpp-config-row__icon{width:50px;height:50px}}
@media (max-width:420px){.bpp-runtime__presets{gap:6px}.bpp-runtime-preset{padding-left:10px;padding-right:10px}.bpp-system-card__hero{grid-template-columns:1fr}.bpp-system-card__image{min-height:150px}.bpp-system-card__image img{height:150px}.bpp-system-card__metrics{grid-template-columns:1fr 1fr}.bpp-load-summary{grid-template-columns:1fr 1fr}.bpp-load-stat:last-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.bpp-public-planner__spinner{animation:none}.bpp-appliance-card{transition:none}}
.bpp-public-planner .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* BLUETTI graphite and orange identity, scoped to this planner only. */
.bpp-public-planner .bpp-planner-panel__head{border-bottom:3px solid #f47721}
.bpp-public-planner .bpp-planner-panel__head h2{color:#171717}
.bpp-public-planner .bpp-duration-label{display:block;margin-top:8px;font-size:12px;font-weight:600;color:#65534a}
.bpp-public-planner .bpp-duration-label input{display:block;max-width:140px;margin-top:4px;border:1px solid #d8c9bf;border-radius:6px;padding:6px 9px;background:#fff;color:#171717}
.bpp-public-planner .bpp-runtime-disclaimer{font-size:12px;line-height:1.5;color:#6c5c52;margin:12px 0;padding:10px 12px;border-left:3px solid #f47721;background:#fff8f3}

/* v1.0.4: intermittent usage control */
.bpp-usage-editor{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:11px;background:#fff3e9;border:1px solid #ffd4b6;color:#28211d}.bpp-usage-editor label{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:700}.bpp-usage-editor input{width:85px;min-height:40px;border:1px solid #e9ad7e;border-radius:8px;padding:7px 9px;background:#fff;color:#1a1a1a}.bpp-usage-editor small{font-size:.77rem;color:#5d5149}.bpp-usage-editor strong{font-size:.82rem;color:#a74a0d}.bpp-system-card__runtime--usage span{display:block;font-size:.77rem;color:#655c56;line-height:1.4}.bpp-load-stat--energy{border-top:2px solid #f47721}@media(max-width:720px){.bpp-usage-editor{align-items:flex-start;flex-direction:column;gap:6px}.bpp-load-stat--energy{grid-column:1/-1}}

/* v1.1.0 charging and backup preferences */
.bpp-energy-preferences{display:grid;gap:12px;margin:16px 0;padding:16px;border:1px solid #e2e5e9;border-radius:12px;background:#fafafa}.bpp-energy-preferences select{display:block;width:100%;padding:10px 12px;border:1px solid #d4d8dd;border-radius:8px;background:#fff;color:#161616}.bpp-pref-label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}.bpp-energy-preferences [hidden]{display:none!important}

/* Phase 2: customer pricing and saved report */
.bpp-package-price{padding:12px 16px;margin:10px 0;background:#fff7ee;border-left:3px solid #ff8200;border-radius:6px;display:grid;gap:4px}.bpp-package-price strong{color:#171717}.bpp-package-price small{color:#555}.bpp-report-actions{padding:18px 4px;display:grid;gap:10px}.bpp-report-actions button{cursor:pointer;border:0}.bpp-report-actions [data-role="report-status"]{font-size:14px;overflow-wrap:anywhere}
