/* Planning tools use the shared workspace controls and remain usable on small screens. */
.evp-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.evp-tabs .ev-btn{white-space:normal;min-height:42px}
.evp-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:12px 0 20px}
.evp-inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}.evp-inline .ev-field{flex:1;min-width:220px}
.evp-help{color:var(--dim);font-size:var(--text-ui);line-height:1.65;margin:14px 0}
.evp-message{border:1px solid #e1a2a2;background:#fff3f1;color:#852327;padding:14px 18px;border-radius:10px}
/* Three pill sets, one meaning each: evidence quality (Survey evidence), change kind (Change impact) and review state (Technical review). Labels stay in sentence case. */
.evp-pill{display:inline-flex;align-items:center;border-radius:20px;padding:4px 10px;font-size:var(--text-2xs);font-weight:700;white-space:nowrap;line-height:1.3}
.evp-evidence.measured{background:#dcefe8;color:#155a45}.evp-evidence.assumed{background:#fff0ce;color:#825400}.evp-evidence.missing{background:#fce4e4;color:#9b2727}
.evp-kind.added{background:#dcefe8;color:#155a45}.evp-kind.changed{background:#fff0ce;color:#825400}.evp-kind.removed{background:#fff;color:#9b2727;border:1.5px dashed #c33131;padding:3px 9px}.evp-kind.other{background:#eef2f6;color:var(--dim)}
.evp-review.recorded{background:#e6edf8;color:#16314f}.evp-review.pending{background:#fff0ce;color:#825400}
.evp-source{background:#eef2f6;color:var(--dim);font-weight:650}.evp-source.edited{background:#edf3ff;color:#1c4c91}
.evp-cc.ok{background:#dcefe8;color:#155a45}.evp-cc.warn{background:#fff0ce;color:#825400}.evp-cc.fail{background:#fce4e4;color:#9b2727}.evp-cc.nolen,.evp-cc.tbc{background:#eef2f6;color:var(--dim)}
.evp-cc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.evp-link{background:none;border:0;padding:4px 2px;min-height:28px;color:var(--accent);font:inherit;font-weight:650;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.evp-sim-field{display:flex;flex-direction:column;gap:6px;min-width:0}.evp-sim-field .ev-field{margin:0}
.evp-source-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--text-ui);line-height:1.45;color:var(--dim)}
.evp-time{min-width:112px}
[data-route="planning"] .evp-arrivals th,[data-route="planning"] .evp-arrivals td{padding:10px 8px}[data-route="planning"] .evp-arrivals td:first-child input{min-width:140px}[data-route="planning"] .evp-arrivals input[type=number]{min-width:64px}
/* Scenario result: the verdict as a full-width row, four main figures, the rest in one compact row, then the chart. */
[data-route="planning"] .ev-stats.evp-sim-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 12px}
.ev-stat.evp-verdict b{font-size:var(--text-xl);letter-spacing:-.3px}
.ev-stat.evp-verdict-row{margin:0 0 12px}.evp-verdict-row p{margin:4px 0 0;line-height:var(--leading-snug)}
.ev-stat.evp-verdict.evp-verdict-row b{display:inline;margin:0;font-size:var(--text-2xl)}
.evp-verdict-why{font-size:var(--text-base);font-weight:600;color:var(--dim)}
.evp-sim-more{display:flex;flex-wrap:wrap;gap:6px 32px;margin:0 0 18px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--ev-radius);background:var(--panel2)}
.evp-sim-more>div{display:flex;align-items:baseline;gap:8px}
.evp-sim-more dt{color:var(--dim);font-size:var(--text-ui)}
.evp-sim-more dd{margin:0;font-weight:700;color:var(--ev-navy);font-variant-numeric:tabular-nums}
#evpSimulationResult h2:focus{outline:none}
@media(max-width:1100px){[data-route="planning"] .ev-stats.evp-sim-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ev-stat.evp-verdict.evp-verdict-row b{font-size:var(--text-xl)}.evp-verdict-why{font-size:var(--text-sm)}.evp-sim-more{display:grid;gap:6px;padding:10px 14px}.evp-sim-more>div{justify-content:space-between}}
/* Charging-day inputs in three labelled groups. A long explanation sits full width under its group, never in a row of inputs. */
.evp-sim-group{margin:16px 0 0;padding:12px 18px 16px;border:1px solid var(--line);border-radius:10px;min-width:0}
.evp-sim-group legend{padding:0 6px;font-size:var(--text-sm);font-weight:700;color:var(--ev-navy)}
.evp-sim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 16px;margin-top:4px}
.evp-sim-supply .evp-sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.evp-sim-equipment .evp-sim-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(16rem,1.4fr)}
.evp-help.evp-sim-note{margin:12px 0 0;font-size:var(--text-ui);line-height:var(--leading-normal)}
@media(max-width:1100px){.evp-sim-grid,.evp-sim-equipment .evp-sim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.evp-sim-group{padding:10px 12px 14px}.evp-sim-grid,.evp-sim-supply .evp-sim-grid,.evp-sim-equipment .evp-sim-grid{grid-template-columns:1fr}}
/* Checks: Survey evidence leads; the record checks follow as one line with their count, the full list inside. */
.evp-checks-fold>summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;min-height:61px;padding:14px 21px;cursor:pointer;list-style:none}
.evp-checks-fold>summary::-webkit-details-marker{display:none}
#evScreen .evp-checks-fold>summary h2{margin:0}
.evp-checks-count{font-size:var(--text-ui);font-weight:650;color:var(--dim)}
.evp-checks-toggle{margin-left:auto;color:var(--accent);font-size:var(--text-ui);font-weight:650}
.evp-checks-toggle::after{content:'›';display:inline-block;margin-left:6px;transition:transform .15s}
.evp-checks-fold[open] .evp-checks-toggle::after{transform:rotate(90deg)}
.evp-checks-fold .evp-hide,.evp-checks-fold[open] .evp-show{display:none}.evp-checks-fold[open] .evp-hide{display:inline}
.evp-checks-fold>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.evp-checks-fold[open]>summary{border-bottom:1px solid var(--line)}
#evScreen .evp-checks-fold>.ev-checks-card{margin:0;border:0;border-radius:0;box-shadow:none}
.evp-checks-fold>.ev-checks-card>.ev-card-head{display:none}.ev-stat.evp-verdict.ok b{color:#155a45}.ev-stat.evp-verdict.ok::before{background:var(--ev-ok,#2e8b57)}.ev-stat.evp-verdict.neutral b{color:var(--ink)}.ev-stat.evp-verdict.neutral::before{background:#9aa9b6}.ev-stat.evp-verdict.bad b{color:#9b2727}.ev-stat.evp-verdict.bad::before{background:#d4574c}
.evp-sim-cost{margin:0 0 14px;line-height:1.6}
.evp-legend{margin:6px 0 6px}
.evp-cost-empty p{margin:10px 0;font-size:15px;font-weight:650;color:var(--ink)}.evp-costs .evp-partial{display:inline-block;margin-top:8px;font-size:var(--text-2xs);font-weight:700;color:#825400;background:#fff0ce;border-radius:20px;padding:3px 9px}
.evp-empty p{margin:0 0 12px}.evp-empty .ev-actions{margin-bottom:14px}
.evp-evidence-row{padding:16px 20px;border-top:1px solid var(--line)}.evp-evidence-row:first-child{border-top:0}
.evp-evidence-row summary{cursor:pointer;line-height:1.6}.evp-evidence-row summary>*{margin-right:12px}.evp-evidence-row summary small{display:block;margin-top:5px;color:#925d00}
.evp-evidence-row form{padding-top:12px}.evp-evidence-row input,.evp-evidence-row textarea{max-width:100%}
.evp-costs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.evp-costs>div{padding:18px;background:#f0f5f8;border:1px solid var(--line);border-radius:12px}.evp-costs b,.evp-costs strong,.evp-costs small{display:block}.evp-costs strong{font-size:28px;margin:10px 0}.evp-costs small{color:var(--dim);line-height:1.5}
.evp-snapshots article{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0}.evp-snapshots article:first-child{border-top:0}.evp-snapshots small{display:block;margin-top:6px;color:var(--dim);overflow-wrap:anywhere}
.evp-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.evp-tags span{background:#edf3ff;color:#1c4c91;border:1px solid #d6e2f5;border-radius:6px;padding:6px 10px}
.evp-change-list article{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-top:1px solid var(--line)}.evp-change-list article>div{flex:1;min-width:0}.evp-change-list p{margin:6px 0;color:var(--dim);font-size:var(--text-ui)}.evp-change-list b{overflow-wrap:anywhere}
#evpPlanPreview{z-index:auto;pointer-events:none;display:block;max-width:100%;height:auto;margin:18px auto;background:#fff;border:1px solid var(--line);border-radius:10px}
.evp-chart{display:block;max-width:100%;height:auto;margin:6px 0 16px;background:#fff}.evp-chart text{font:12px var(--font);fill:#435867}.evp-chart .evp-chart-strong{font-weight:650;fill:#7d2a22}
.evp-phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.evp-phases fieldset{border:1px solid var(--line);border-radius:10px;min-width:0;padding:18px}.evp-phases legend{font-weight:700;padding:0 6px}.evp-phases .ev-field{margin-bottom:12px}
#evpPhaseSlider{width:100%;accent-color:#17755d;min-height:38px}
[data-route="planning"] .ev-card-body{line-height:1.6}
[data-route="planning"] .ev-table input{width:100%;min-width:80px;border:1px solid var(--field-border);border-radius:6px;padding:8px;background:#fff;color:var(--ink);font:inherit}
[data-route="planning"] .ev-table select{max-width:240px;min-height:36px}
[data-route="planning"] .ev-table th{text-align:left}
[data-route="planning"] .ev-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
[data-route="planning"] .ev-field input,[data-route="planning"] .ev-field select,[data-route="planning"] .ev-field textarea{width:100%}
.evp-recovery{margin-top:20px}.evp-recovery li{margin:8px 0}
.ev-conflict{padding:16px 24px;background:#fff1d8;border-bottom:2px solid #d39b35;line-height:1.5}.ev-conflict p{margin:6px 0 12px}.ev-conflict .ev-actions{flex-wrap:wrap}
@media(max-width:700px){.evp-tabs{gap:6px}.evp-tabs .ev-btn{flex:1 1 135px;font-size:var(--text-xs)}.evp-form-grid{grid-template-columns:1fr}.evp-evidence-row{padding:14px}.evp-inline{display:block}.evp-inline .ev-field{min-width:0;margin-bottom:12px}.evp-change-list article{flex-wrap:wrap}.evp-change-list article>div{min-width:65%}.evp-snapshots .ev-actions{width:100%;flex-wrap:wrap}.evp-phases{grid-template-columns:1fr}.ev-conflict{padding:14px}.ev-conflict .ev-btn{white-space:normal}}
@media(max-width:600px){.evp-arrivals thead{display:none}.evp-arrivals,.evp-arrivals tbody,.evp-arrivals tr,.evp-arrivals td{display:block;width:100%}.evp-arrivals tr{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:12px;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.evp-arrivals td{padding:6px 0!important;border:0!important}.evp-arrivals td::before{content:attr(data-label);display:block;font-size:var(--text-xs);font-weight:600;color:var(--dim);margin-bottom:4px}.evp-arrivals td:first-child,.evp-arrivals td:last-child{grid-column:1/-1}.evp-arrivals .evp-time,.evp-arrivals input{min-width:0}}
/* Phones: the phase assignment table becomes one row per item (name, plan, phase picker, Open) so nothing is cut off at the card edge. */
@media(max-width:700px){
[data-route="planning"] .ev-table:has([data-evp-assignment]) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[data-route="planning"] .ev-table:has([data-evp-assignment]),[data-route="planning"] .ev-table:has([data-evp-assignment]) tbody{display:block;position:relative}
[data-route="planning"] .ev-table:has([data-evp-assignment]) tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
[data-route="planning"] .ev-table:has([data-evp-assignment]) tr:last-child{border-bottom:0}
[data-route="planning"] .ev-table:has([data-evp-assignment]) :is(th,td){display:block;padding:0;border:0;min-width:0}
[data-route="planning"] .ev-table:has([data-evp-assignment]) th{grid-column:1;font-size:var(--text-sm);text-transform:none;letter-spacing:0;color:var(--ink);background:none;overflow-wrap:anywhere}
[data-route="planning"] .ev-table:has([data-evp-assignment]) td:nth-child(2){grid-column:1;font-size:var(--text-xs);color:var(--dim);overflow-wrap:anywhere}
[data-route="planning"] .ev-table:has([data-evp-assignment]) td:nth-child(3){grid-column:1/-1;margin-top:6px}
[data-route="planning"] .ev-table:has([data-evp-assignment]) td:nth-child(3) select{width:100%;max-width:none;min-height:44px}
[data-route="planning"] .ev-table:has([data-evp-assignment]) td:nth-child(4){grid-column:2;grid-row:1/3}
}
/* Connection options: the recommendation, the gap tiles, then four option cards side by side (two on tablets, a stacked list on phones). */
.evp-conn-reco,.evp-fc-reco{margin:0 0 18px;padding:14px 18px;border-left:4px solid var(--ev-info);border-radius:var(--ev-radius);background:var(--ev-info-bg);color:var(--ev-navy);font-size:var(--text-base);font-weight:650;line-height:var(--leading-snug)}
[data-route="planning"] .ev-stats.evp-conn-gap{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}.evp-conn-gap .ev-stat small{display:block;margin:4px 0 8px;line-height:1.4}
.evp-conn-notes{margin:6px 0 4px;padding-left:20px;color:var(--dim);font-size:var(--text-ui)}.evp-conn-notes li{margin:4px 0}
.evp-conn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.evp-conn-option{display:flex;flex-direction:column;gap:8px;min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--ev-radius);background:var(--panel2)}
.evp-conn-option h3{margin:0;font-size:var(--text-sm);font-weight:700;color:var(--dim)}
.evp-conn-option p{margin:0}
.evp-conn-option .evp-conn-figure{font-size:var(--text-xl);font-weight:650;line-height:var(--leading-tight);color:var(--ev-navy);overflow-wrap:anywhere}
.evp-conn-option dl{display:grid;gap:0;margin:4px 0 0}
.evp-conn-option dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-top:1px solid var(--line)}
.evp-conn-option dt{color:var(--dim)}.evp-conn-option dd{margin:0;text-align:right}.evp-conn-option dd b{font-size:var(--text-base);color:var(--ev-navy)}
.evp-conn-option .evp-conn-note{margin-top:auto;font-size:var(--text-xs);color:var(--dim);line-height:1.5}
.evp-conn-assumptions>summary{padding:18px 22px;cursor:pointer;font-weight:700;color:var(--ev-navy)}
@media(max-width:1200px){.evp-conn-grid,[data-route="planning"] .ev-stats.evp-conn-gap{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.evp-conn-grid{grid-template-columns:1fr}.evp-conn-gap .ev-stat{padding:12px 12px 12px 16px}.evp-conn-gap .ev-stat b{font-size:var(--text-xl)}.evp-conn-gap .evp-pill{white-space:normal}.evp-conn-option{padding:14px 16px}.evp-conn-assumptions>summary{padding:14px 16px}}
/* Demand forecast: the plain sentence, the three-year table against the plan, the working, then the assumptions (stacked rows on phones). */
.ev-table.evp-forecast tbody th{background:none;text-transform:none;letter-spacing:0;font-size:var(--text-sm);font-weight:700;color:var(--ev-navy)}
.ev-table.evp-forecast tr:last-child th{border-bottom:0}
.ev-table.evp-forecast td b{font-size:var(--text-base);color:var(--ev-navy)}
.evp-fc-status{white-space:normal}
.evp-fc-future{background:var(--ev-info-bg);color:var(--ev-info)}
.evp-fc-short{background:var(--ev-warn-bg);color:var(--ev-warn)}
.evp-fc-plan{margin:14px 0 0;line-height:var(--leading-normal)}
.evp-fc-working{margin:16px 0 0;padding:12px 16px;border:1px solid var(--line);border-radius:var(--ev-radius);background:var(--panel2)}
.evp-fc-working>summary{cursor:pointer;font-weight:700;color:var(--ev-navy)}
.evp-fc-working ul{margin:8px 0 0;padding-left:20px;font-size:var(--text-ui);line-height:var(--leading-normal)}
.evp-fc-working li{margin:4px 0;overflow-wrap:anywhere}
.evp-fc-note{margin-top:14px}
.evp-fc-hint{margin:-8px 0 16px}
.evp-fc-grid{margin-bottom:8px}
.evp-fc-uptake{margin:8px 0 12px;padding:14px 18px 0;border:1px solid var(--line);border-radius:10px;min-width:0}
.evp-fc-uptake legend{font-weight:700;padding:0 6px;color:var(--ev-navy)}
.evp-fc-uptake .evp-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 14px}
@media(max-width:700px){
.ev-table.evp-forecast thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ev-table.evp-forecast,.ev-table.evp-forecast tbody{display:block}
.ev-table.evp-forecast tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ev-table.evp-forecast tr:last-child{border-bottom:0}
.ev-table.evp-forecast :is(th,td){display:block;padding:0;border:0;min-width:0}
.ev-table.evp-forecast tbody th{grid-column:1/-1;font-size:var(--text-base)}
.ev-table.evp-forecast td::before{content:attr(data-label);display:block;font-size:var(--text-xs);font-weight:600;color:var(--dim);margin-bottom:2px}
.ev-table.evp-forecast td:last-child{grid-column:1/-1}
.evp-fc-working{padding:10px 12px}
.evp-fc-uptake{padding:12px 12px 0}
}
/* Import half-hourly data: the dialog opened from Other site demand in Charging day. */
.evp-demand-dialog{width:720px}
.evp-demand-dialog h2 .ev-help-q{margin-left:8px}
.evp-demand-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.evp-demand-form textarea{min-height:72px;font-family:var(--font-data)}
.evp-demand-form input[type=file]{padding:10px}
.evp-demand-actions{margin:16px 0 4px}
.evp-demand-preview{margin-top:12px;line-height:1.55}
.evp-demand-preview .evp-help{margin:8px 0 0}
.evp-demand-stats{margin:0 0 6px}
.evp-demand-chart{width:100%;margin:6px 0 10px}
.evp-demand-warnings{margin:0 0 8px;padding:10px 14px 10px 30px;background:var(--ev-warn-bg);border-radius:8px;color:var(--ink)}
.evp-demand-warnings li{margin:3px 0}
.evp-demand-error{margin:0;padding:10px 14px;background:var(--ev-bad-bg);color:var(--ev-bad);border-radius:8px;font-weight:650}
@media(max-width:700px){.evp-demand-form{grid-template-columns:1fr}.evp-demand-form .ev-field.wide{grid-column:auto}}
/* Four tabs (Checks, Power, Saved designs, Phases); a tab with more than one page shows them as a segmented switch under it. */
#evScreen .evp-tabs{margin-bottom:16px;padding-bottom:0}
#evScreen .evp-tabs .ev-btn{font-size:var(--text-sm);font-weight:650;padding:10px 18px}
.evp-pages{display:inline-flex;flex-wrap:wrap;gap:4px;margin:0 0 22px;padding:4px;border-radius:12px;background:#e9eef3;border:1px solid var(--line)}
.evp-pages button{min-height:40px;padding:8px 16px;border:0;border-radius:9px;background:transparent;color:var(--dim);font:inherit;font-size:var(--text-ui);font-weight:600;cursor:pointer}
.evp-pages button:hover{color:var(--ink)}
.evp-pages button[aria-selected=true]{background:var(--panel2);color:var(--ev-navy);box-shadow:0 1px 3px #10283c26}
.evp-pages button:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
/* Survey evidence: the next thing to check leads the card. */
.evp-next{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border-radius:10px;background:var(--ev-info-bg);border-left:3px solid var(--ev-info)}
.evp-next p{margin:0;flex:1 1 280px;line-height:1.55}
/* Small print folds away behind More detail. */
.evp-more{margin:10px 0 0}
.evp-more>summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;color:var(--dim);font-size:var(--text-xs);font-weight:650}
.evp-more>summary:hover{color:var(--ink)}
.evp-more>.evp-help:first-of-type{margin-top:6px}
/* Saved designs: one list, each copy marked option, revision or downloaded document. */
.evp-snap-kind{margin:0 10px 6px 0;vertical-align:middle}
.evp-snap-kind.option{background:var(--ev-info-bg);color:var(--ev-info)}
.evp-snap-kind.revision{background:#e6edf8;color:#16314f}
.evp-snap-kind.document{background:#eef2f6;color:var(--dim)}
.evp-snapshots article>canvas{flex:1 1 100%;width:100%;height:auto;border:1px solid var(--line);border-radius:10px}
.evp-snapshots .ev-actions{flex-wrap:wrap}
[data-route="planning"] .ev-card-body>h3{margin:22px 0 4px;font-size:var(--text-base)}
/* The Design lab header is the compact project band (design-preview.css); on iPads and phones it also drops the
   description, and on phones the title and Open markup share one row, so the tabs show near the top. */
@media(max-width:1100px){
#evScreen .ev-page-head.evp-head .ev-page-head-main p{display:none}
}
@media(max-width:700px){
#evScreen .ev-page-head.evp-head .ev-page-head-main>div:first-child{flex:1 1 0}
#evScreen .ev-page-head.evp-head .ev-actions{width:auto;margin-left:auto}
#evScreen .evp-tabs{-webkit-mask-image:none;mask-image:none;animation:none}
#evScreen .evp-tabs .ev-btn{flex:1 1 auto;padding:10px 4px;font-size:var(--text-ui)}
.evp-pages{display:flex}
.evp-pages button{flex:1 1 auto;min-height:44px;padding:8px 10px;font-size:var(--text-xs)}
.evp-next .ev-btn{width:100%}
}
.evp-more>summary{list-style:none}
.evp-more>summary::-webkit-details-marker{display:none}
.evp-more>summary::before{content:'›';display:inline-block;width:12px;margin-right:4px;font-size:var(--text-base);transition:transform .15s}
.evp-more[open]>summary::before{transform:rotate(90deg)}
/* Largest load management limit that fits (flow review T, 30 October 2026): a blue-edged card inside Connection options, three
   tiles (headroom, the most the group can be set to, the figure with a margin), the sentence, Set and Open. */
.evp-fit .ev-card{margin:12px 0 4px;border-color:var(--ev-info);box-shadow:none}.evp-fit .ev-card-head h2{font-size:var(--text-base)}.evp-fit .ev-card-head .ev-pill{white-space:normal;text-align:right}
.evp-fit .ev-stats.evp-fit-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 10px}.evp-fit .ev-card-body>p{margin:0 0 10px;line-height:var(--leading-normal)}.evp-fit .evp-help{margin:10px 0 0}
@media(max-width:1200px){.evp-fit .ev-stats.evp-fit-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.evp-fit .ev-stats.evp-fit-stats{grid-template-columns:1fr}.evp-fit .ev-card-head{flex-wrap:wrap;gap:6px}.evp-fit .ev-card-head .ev-pill{text-align:left}}
/* Engineer view off, 7 November 2026: one line under the page saying where the power modelling and technical review went. */
.evp-engineer-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0;color:var(--dim);font-size:var(--text-xs);line-height:var(--leading-normal)}
