/* Transformer Sizing Tool: same shell, 52px top bar, panels, tabs, footer and print approach as the
   Distribution Permitting Tool (clr.css) and Sag & Tension Calculator (sag.css). */
:root{
  --bg:#070708; --fg:#e8e6e1; --muted:#8a8c90; --subtle:#6b6e73; --steel:#9aa3ad;
  --surface:#121214; --surface-2:#1c1c20; --border:#e8e6e11f; --shadow-border:0 0 0 1px #ffffff14;
  --accent-fg:#070708;
  --font-display:"Barlow Condensed","Arial Narrow",sans-serif;
  --font-sans:"Barlow","Segoe UI",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --ease-out:cubic-bezier(.22,1,.36,1); --motion-quick:.15s;
  --topbar-h:52px; --gap:12px;
  --fault:#ef6b5b; --warn:#f0b25a; --ok:#76c893; --line-a:#e8e6e1; --line-b:#f0b25a; --line-c:#7fb0e0; --grid:#ffffff14;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg)}
body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);letter-spacing:.01em}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mono{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase}
.label{display:block;font-size:10px;letter-spacing:.16em;color:var(--subtle);margin:0 0 .35rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.label .opt{color:#6b6e7399;letter-spacing:.1em}
.hint{color:var(--subtle);font-size:.8rem;line-height:1.45;margin:.4rem 0 0}
.print-only{display:none}
[hidden]{display:none!important}
.nt{text-transform:none}

/* ---------- shell ---------- */
.shell{position:relative;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}

/* ---------- top bar (52px, Explorer typography; same as Veg Watch) ---------- */
.topbar{position:absolute;inset:0 0 auto 0;z-index:1000;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 16px;
  background:#070708eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 -1px 0 var(--border)}
.tb-left{display:flex;align-items:center;gap:14px;min-width:0;flex:0 1 auto}
.tb-nav{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.28em;color:var(--subtle);white-space:nowrap}
.tb-nav a{color:var(--muted);transition:color var(--motion-quick)}
.tb-nav a:hover{color:var(--fg)}
.tb-title{margin:0;font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;border:0;font-size:10px;letter-spacing:.12em;white-space:nowrap;
  background:#f0b25a14;color:var(--warn);box-shadow:inset 0 0 0 1px #f0b25a4d;margin-left:auto;min-width:0;overflow:hidden;transition:background var(--motion-quick)}
.chip:hover{background:#f0b25a24}
.chip svg{flex:none}
.chip span{overflow:hidden;text-overflow:ellipsis}
.chip-short{display:none}
@media (max-width:1599px){.chip-xl{display:none}}
.tb-right{display:flex;align-items:center;gap:8px;flex:none}
.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;border:0;background:var(--surface);color:var(--muted);
  font-size:10px;letter-spacing:.12em;white-space:nowrap;box-shadow:var(--shadow-border);transition:color var(--motion-quick),background var(--motion-quick)}
.tb-btn:hover{color:var(--fg);background:var(--surface-2)}
.tb-btn-short,.tb-back-sr{display:none}

/* ---------- app grid ---------- */
.app{position:absolute;inset:var(--topbar-h) 0 0 0;display:grid;gap:var(--gap);padding:var(--gap);
  grid-template-columns:clamp(270px,22vw,330px) minmax(0,1fr);grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr) auto;
  grid-template-areas:"inp draw" "inp res" "foot foot"}
.panel{min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-border);overflow:hidden}
.p-inputs{grid-area:inp}.p-draw{grid-area:draw}.p-results{grid-area:res}
.p-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 10px;box-shadow:inset 0 -1px 0 var(--border);flex:none}
.p-head h2,.fig-cap h2{margin:0;font-family:var(--font-display);font-weight:500;font-size:18px;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.p-body{flex:1;min-height:0;overflow:auto;padding:12px 14px 16px;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}

/* ---------- inputs ---------- */
.fld{min-width:0;margin-bottom:.6rem}
.row2,.row3{display:grid;gap:8px}.row2{grid-template-columns:1fr 1fr}.row3{grid-template-columns:1fr 1fr 1fr}
.row2 .fld,.row3 .fld{margin-bottom:.35rem}
input[type=number],select{width:100%;height:34px;padding:0 10px;border-radius:8px;border:0;background:var(--bg);color:var(--fg);box-shadow:var(--shadow-border);font-size:.9rem;font-variant-numeric:tabular-nums}
select{appearance:none;-webkit-appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px;background-repeat:no-repeat}
select option,select optgroup{background:var(--surface);color:var(--fg)}
input:hover,select:hover{box-shadow:0 0 0 1px #ffffff2e}
input:focus-visible,select:focus-visible{outline:0;box-shadow:0 0 0 1px var(--fg)}
input::placeholder{color:var(--subtle);font-size:.8rem}
.spec{margin:.45rem 0 0;color:var(--muted);font-size:10px;letter-spacing:.06em;line-height:1.6;text-transform:none}
.spec a{color:var(--steel);text-decoration:underline;text-decoration-color:#9aa3ad55;text-underline-offset:2px}
.sub{margin:1.1rem 0 .55rem;padding-top:.8rem;border-top:1px solid var(--border);font-size:10px;letter-spacing:.22em;color:var(--steel);font-weight:500}
.seg{display:inline-flex;gap:2px;padding:2px;border-radius:8px;background:var(--bg);box-shadow:var(--shadow-border)}
.seg button{height:26px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;letter-spacing:.12em;transition:color var(--motion-quick),background var(--motion-quick)}
.seg button:hover{color:var(--fg)}
.seg button[aria-pressed=true]{background:var(--fg);color:var(--accent-fg)}
.seg-wide{display:flex;width:100%}.seg-wide button{flex:1;padding:0 4px}
.chk{display:flex;align-items:center;gap:8px;margin:.75rem 0 .45rem;font-size:.86rem;color:var(--fg);cursor:pointer}
.chk input{width:15px;height:15px;margin:0;accent-color:var(--fg)}
.sub-fields.off{opacity:.4;pointer-events:none}

.tabs{display:flex;gap:2px;padding:8px 10px 0;box-shadow:inset 0 -1px 0 var(--border);flex:none;overflow-x:auto;scrollbar-width:none}
.tabs button{height:32px;padding:0 12px;border:0;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);font-size:10px;letter-spacing:.14em;white-space:nowrap;box-shadow:inset 0 -2px 0 transparent}
.tabs button:hover{color:var(--fg)}
.tabs button[aria-selected=true]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--fg)}
.panes{padding:0}
.pane{display:none;padding:10px 14px 14px}
.pane.on{display:block}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12.5px}
th,td{padding:5px 8px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}
th:first-child,td:first-child{text-align:left}
thead th{position:sticky;top:0;background:var(--surface);z-index:1;font-family:var(--font-mono);font-weight:400;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);vertical-align:bottom}
thead tr.grp th{color:var(--steel);border-bottom:0;padding-bottom:0;text-align:center}
thead tr:nth-child(2) th{top:22px}
td.c{color:var(--fg)} td.m{color:var(--muted)}
td .sub2{display:block;font-size:10px;color:var(--subtle)}
td.sep,th.sep{box-shadow:inset 1px 0 0 var(--border)}
tr.hl td{background:#f0b25a0d}
.pct{display:inline-block;min-width:3.4em}
.pct.over{color:var(--fault)}.pct.near{color:var(--warn)}.pct.gov{color:var(--warn);font-weight:600}
.tbl-wrap{overflow-x:auto}

.method{max-width:52rem;font-size:.9rem;line-height:1.55;color:#d4d2cd}
.method h3{margin:1rem 0 .4rem;font-family:var(--font-display);font-weight:500;font-size:17px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg)}
.method h3:first-child{margin-top:.2rem}
.method p{margin:.45rem 0}
.method ul{margin:.4rem 0;padding-left:1.1rem}
.method li{margin:.25rem 0}
.method a{color:var(--steel);text-decoration:underline;text-decoration-color:#9aa3ad55;text-underline-offset:2px;word-break:break-word}

/* ---------- footer / disclaimer ---------- */
.foot{grid-area:foot;display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:0 4px}
.disclaimer{margin:0;font-size:11.5px;color:var(--muted);line-height:1.4;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.disclaimer strong{color:var(--warn);font-weight:500}
.foot-link{flex:none;font-size:10px;letter-spacing:.14em;color:var(--muted)}
.foot-link:hover{color:var(--fg)}

/* ================= Transformer Sizing Tool specifics ================= */
:root{--pass:#76c893;--wire:#c9ccd1}
.app{grid-template-columns:clamp(270px,22vw,320px) minmax(0,1fr);grid-template-rows:minmax(0,1.32fr) minmax(0,.68fr) auto}
.as{display:inline-block;margin-left:4px;padding:0 4px;border-radius:3px;background:#f0b25a1f;color:var(--warn);font-size:8.5px;letter-spacing:.08em;vertical-align:1px}
.lbl-gap{margin-top:.75rem}
.p-inputs .seg-wide{margin-bottom:.15rem}
.p-inputs .sub:first-of-type{margin-top:1rem}
.vf{color:var(--warn);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;white-space:nowrap}
.spec button.lnk,.lnk{border:0;background:none;padding:0;color:var(--steel);text-decoration:underline;text-decoration-color:#9aa3ad55;text-underline-offset:2px;font:inherit;cursor:pointer}

/* stepper */
.stp{display:flex;align-items:stretch;height:34px;border-radius:8px;background:var(--bg);box-shadow:var(--shadow-border);min-width:0}
.stp button{flex:none;width:32px;border:0;background:transparent;color:var(--muted);font-size:16px;line-height:1;border-radius:8px;padding:0}
.stp button:hover:not(:disabled){color:var(--fg);background:var(--surface-2)}
.stp button:disabled{opacity:.3;cursor:default}
.stp .sv{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.stp .sv small{color:var(--subtle);font-size:.72rem;margin-left:3px}

/* commercial list */
.crow{display:grid;grid-template-columns:minmax(0,1fr) 108px 26px;gap:6px;align-items:center;margin-bottom:6px}
.crow select{height:34px;font-size:.82rem}
.crow .x{height:26px;width:26px;border:0;border-radius:6px;background:transparent;color:var(--subtle);font-size:15px}
.crow .x:hover{color:var(--fault);background:#ef6b5b1a}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));box-shadow:inset 0 -1px 0 var(--border);flex:none}
.kpi{padding:9px 12px 10px;min-width:0;box-shadow:inset -1px 0 0 var(--border)}
.kpi:last-child{box-shadow:none}
.kpi .k{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v{display:block;margin-top:4px;font-family:var(--font-display);font-weight:500;font-size:23px;line-height:1;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}
.kpi .v small{font-size:13px;color:var(--muted);letter-spacing:.06em;margin-left:3px}
.kpi .s{display:block;margin-top:4px;font-size:11px;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi.st-pass .v{color:var(--pass)}.kpi.st-warn .v{color:var(--warn)}.kpi.st-fail .v{color:var(--fault)}

/* status pills */
.pill{display:inline-block;padding:1px 6px;border-radius:5px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pill.pass{background:#76c89322;color:var(--pass)}.pill.warn{background:#f0b25a26;color:var(--warn)}.pill.fail{background:#ef6b5b26;color:var(--fault)}.pill.na{background:#9aa3ad22;color:var(--steel)}
.t-pass{color:var(--pass)}.t-warn{color:var(--warn)}.t-fail{color:var(--fault)}

/* diagram */
.fig{margin:0;min-width:0;min-height:0;display:flex;flex-direction:column;padding:8px 14px 4px;flex:1}
.fig-cap{display:flex;align-items:baseline;gap:12px;flex:none;margin-bottom:4px}
.fig-cap h2{font-size:16px;white-space:nowrap;flex:none}
.fig-note{font-size:9.5px;letter-spacing:.12em;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none;flex:1;min-width:0}
.legend{display:flex;align-items:center;gap:5px;font-size:9px;letter-spacing:.12em;color:var(--subtle);flex:none}
.legend .lg{display:inline-block;width:14px;height:3px;border-radius:2px;margin-left:6px}
.lg.s-pass{background:var(--pass)}.lg.s-warn{background:var(--warn)}.lg.s-fail{background:var(--fault)}
.svgwrap{flex:1;min-height:0;position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
#diagram{position:absolute;left:0;top:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-select:none}
.dg text{font-family:var(--font-mono);fill:var(--muted)}
.dg .wire{fill:none;stroke-width:3;stroke-linecap:round}
.dg .drop{fill:none;stroke-width:2;stroke-linecap:round}
.dg .s-pass{stroke:var(--pass)}.dg .s-warn{stroke:var(--warn)}.dg .s-fail{stroke:var(--fault)}.dg .s-na{stroke:var(--steel)}
.dg .hit{fill:none;stroke:transparent;stroke-width:18;cursor:pointer;pointer-events:stroke}
.dg .hit:hover+.vis,.dg g.el:hover .wire,.dg g.el:hover .drop{stroke-width:4}
.dg .sel .wire,.dg .sel .drop{stroke-dasharray:7 4;stroke-width:4}
.dg .pole{stroke:#8a8c90;stroke-width:5;stroke-linecap:round}
.dg .xarm{stroke:#8a8c90;stroke-width:3}
.dg .tx{fill:#1c1c20;stroke:var(--fg);stroke-width:1.6}
.dg .tx.s-warn{stroke:var(--warn)}.dg .tx.s-fail{stroke:var(--fault)}.dg .tx.s-pass{stroke:var(--pass)}
.dg .txt{fill:var(--fg);font-size:12px;font-weight:500}
.dg .lbl{font-size:11px;fill:var(--steel)}
.dg .lbl2{font-size:10px;fill:var(--subtle)}
.dg .house{cursor:pointer}
.dg .house path{fill:#121214;stroke-width:1.6}
.dg .house:hover path{fill:#1c1c20}
.dg .house.sel path{fill:#26262b;stroke-dasharray:4 3}
.dg .house .hn{fill:var(--fg);font-size:10.5px}
.dg .hv{font-size:11px;fill:var(--fg)}
.dg .hf{font-size:10px}
.dg .worst{fill:none;stroke:var(--fault);stroke-width:1.4;stroke-dasharray:3 3}
.dg .wtag{font-size:9px;fill:var(--fault);letter-spacing:.12em}
.dg .ground{stroke:#ffffff14;stroke-width:1}
.dg .na-note{font-size:13px;fill:var(--steel)}
.dg .spare{stroke-dasharray:3 4;opacity:.6}
.dg .halo{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}

/* span bar (add up to 2 spans each side of the transformer pole) */
.spanbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 4px;min-width:0}
.spanbar .sb-side{display:flex;align-items:center;gap:6px;flex:none}
.spanbar .sb-n{font-size:9.5px;letter-spacing:.12em;color:var(--subtle);min-width:2.2em;text-align:center}
.spanbar .sb-mid{flex:1;min-width:0;text-align:center;font-size:9.5px;letter-spacing:.14em;color:var(--subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spanbar .sb-add{color:var(--fg)}
.spanbar .sb-rm{width:28px;padding:0;justify-content:center;font-size:14px}
.crow.crow-ph{grid-template-columns:minmax(0,1fr) 108px 26px;grid-template-areas:"t t x" "p k ."}
.crow.crow-ph>select:first-child{grid-area:t}.crow.crow-ph .cph{grid-area:p}.crow.crow-ph .stp{grid-area:k}.crow.crow-ph .x{grid-area:x}
.crow .cph{font-size:.78rem}
#mode button:disabled{opacity:.35;cursor:not-allowed}

/* editor strip */
.ed{flex:none;display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:8px 14px 10px;box-shadow:inset 0 1px 0 var(--border);min-height:52px}
.ed .et{font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.ed .et small{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;color:var(--subtle);margin-left:6px}
.ed .ef{display:flex;align-items:center;gap:6px;min-width:0}
.ed .ef .label{margin:0}
.ed select{height:30px;width:auto;max-width:200px;font-size:.82rem}
.ed .stp{height:30px;width:122px}
.ed .chips{margin:0}
.ed .chips button{height:26px;padding:0 7px;font-size:10px}
.ed .grow{flex:1}
.btn{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:0;border-radius:7px;background:var(--bg);color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;box-shadow:var(--shadow-border)}
.btn:hover:not(:disabled){color:var(--fg);background:var(--surface-2)}
.btn:disabled{opacity:.35;cursor:default}
.btn.rm:hover:not(:disabled){color:var(--fault)}
.ed .hint{margin:0;font-size:.8rem}
.ed .adds{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}

/* tables */
.pane table select{height:26px;width:auto;padding:0 22px 0 8px;font-size:12px;background-position:calc(100% - 13px) 11px,calc(100% - 8px) 11px}
tr.worst td{background:#ef6b5b12}
tr.selrow td{box-shadow:inset 0 -1px 0 var(--steel)}
.pane .note,.gro p{margin:.5rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}
.gro .big{font-family:var(--font-display);font-size:22px;letter-spacing:.06em;color:var(--fg)}
.gro .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.gro .card{padding:10px 12px;border-radius:10px;background:var(--bg);box-shadow:var(--shadow-border)}
.gro .card .k{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle)}
.alist{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:.4rem 0 .6rem}
.alist .ai{display:grid;grid-template-columns:5.2rem minmax(0,13rem) minmax(0,1fr);gap:10px;padding:5px 0;border-bottom:1px solid var(--border);font-size:.84rem;line-height:1.45}
.alist .ai b{font-weight:600;color:var(--fg)}
.alist .ai .av{font-family:var(--font-mono);font-size:11.5px;color:var(--fg);text-transform:none}
.method ol{margin:.4rem 0;padding-left:1.2rem}.method ol li{margin:.3rem 0}

/* print report hidden on screen */
.report{display:none}

/* ---------- mid widths ---------- */
@media (max-width:1280px){.kpi .v{font-size:20px}.kpi{padding:8px 10px 9px}table{font-size:12px} th,td{padding:5px 6px}}
@media (max-width:1180px) and (min-width:760px){.tb-nav{display:none}.chip-long{display:none}.chip-short{display:inline}}
@media (max-width:1100px) and (min-width:760px){.legend{display:none}}
@media (max-width:999px) and (min-width:760px){
  .tb-title{font-size:19px;letter-spacing:.12em}
  .tb-btn-long{display:none}
  .tb-right .tb-btn{width:32px;padding:0}
  .app{grid-template-columns:252px minmax(0,1fr);grid-template-rows:minmax(0,1.25fr) minmax(0,.75fr) auto}
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpi:nth-child(3){box-shadow:none}.kpi:nth-child(-n+3){border-bottom:1px solid var(--border)}
  .kpi .s{display:none}
  .disclaimer{white-space:normal;font-size:11px}
  .fig-note{display:none}
  .row2{grid-template-columns:1fr}
  .p-inputs .seg-wide button{font-size:9px;letter-spacing:.02em;padding:0 2px}
}
@media (max-height:760px) and (min-width:760px){
  .kpi .s{display:none}.kpi{padding:7px 10px}.kpi .v{font-size:19px}
  .ed{min-height:44px;padding:6px 14px}
}

/* ---------- phones: stacked, scrolling inside the app area ---------- */
@media (max-width:759px){
  :root{--gap:8px}
  .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;column-gap:8px;row-gap:4px;padding:0 8px 0 12px}
  .tb-left{grid-column:1;grid-row:1}
  .tb-nav{display:none}
  .tb-title{font-size:17px;letter-spacing:.12em}
  .chip{grid-column:1;grid-row:2;justify-self:start;height:auto;padding:0;margin:0;background:none;box-shadow:none;font-size:9px;letter-spacing:.1em;gap:5px;max-width:100%}
  .chip:hover{background:none}
  .chip svg{width:10px;height:10px}
  .chip-long{display:inline}.chip-xl,.chip-short{display:none}
  .tb-right{grid-column:2;grid-row:1 / 3}
  .tb-btn-long{display:none}
  .tb-right .tb-btn{width:32px;padding:0}
  .app{display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--gap) + env(safe-area-inset-bottom))}
  .panel{flex:none;overflow:visible}
  .p-draw{order:1}.p-inputs{order:2}.p-results{order:3}.foot{order:4}
  .p-body{overflow:visible}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi{padding:9px 12px;box-shadow:inset -1px -1px 0 var(--border)}
  .kpi:nth-child(2n){box-shadow:inset 0 -1px 0 var(--border)}
  .kpi:last-child{grid-column:1 / -1;box-shadow:none}
  .kpi .v{font-size:21px}
  .fig{flex:none;padding:8px 8px 4px}
  .fig-note{display:none}
  .svgwrap{flex:none;height:300px}
  .spanbar{gap:4px}.spanbar .sb-side{gap:4px}.spanbar .sb-mid{display:none}.spanbar .btn{padding:0 7px;letter-spacing:.04em}.spanbar .sb-rm{width:26px;padding:0}.spanbar .sb-n{min-width:0}
  .legend{margin-left:auto}
  .ed{padding:8px 10px 10px}
  .ed .adds{margin-left:0}
  .ed .ef{flex-wrap:wrap}
  .pane{padding:8px 10px 12px}
  .tbl-wrap{margin:0 -10px;padding:0 10px}
  .foot{flex-direction:column;align-items:flex-start;gap:6px;padding:4px 4px 8px}
  .disclaimer{white-space:normal}
  select{font-size:16px;height:38px}
  .stp{height:38px}
  .alist .ai{grid-template-columns:minmax(0,1fr);gap:2px}
  .gro .grid2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:360px){.tb-title{font-size:15px;letter-spacing:.08em}}

/* ---------- embed (?embed=1) ---------- */
.embed .tb-nav,.embed .tb-back{display:none}
.embed .tb-title{font-size:18px}
@media (max-width:759px){.embed .tb-title{font-size:15px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- print / Save as PDF: one Letter page work-order report ---------- */
@media print{
  @page{size:letter;margin:9mm 10mm}
  :root{--bg:#fff;--fg:#111;--muted:#444;--subtle:#666;--steel:#335;--surface:#fff;--border:#0000002a;--warn:#b35c00;--fault:#b00020;--pass:#1d7a3e}
  html,body{height:auto;overflow:visible;background:#fff;color:#111}
  .shell{height:auto;overflow:visible;background:#fff}
  .topbar,.app{display:none!important}
  .report{display:block;font-family:var(--font-sans);font-size:8pt;line-height:1.3;color:#111}
  .report *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1.5px solid #111;padding-bottom:4px}
  .rp-head .crumb{font-family:var(--font-mono);font-size:7pt;letter-spacing:.2em;text-transform:uppercase;color:#555}
  .rp-head h1{margin:2px 0 0;font-family:var(--font-display);font-weight:600;font-size:17pt;letter-spacing:.1em;text-transform:uppercase;line-height:1}
  .rp-head .meta{font-family:var(--font-mono);font-size:7pt;color:#444;text-align:right;text-transform:uppercase;letter-spacing:.08em}
  .rp-wo{display:grid;grid-template-columns:1.1fr 1.6fr 1fr 1fr;gap:12px;margin:6px 0 4px;font-family:var(--font-mono);font-size:7pt;text-transform:uppercase;letter-spacing:.08em;color:#444}
  .rp-wo span{display:block;border-bottom:1px solid #999;padding-top:9px}
  .rp h2{margin:6px 0 2px;font-family:var(--font-display);font-weight:600;font-size:10pt;letter-spacing:.12em;text-transform:uppercase}
  .rp-top{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .rp table{width:100%;border-collapse:collapse;font-size:7.2pt}
  .rp td.t-pass{color:#1d7a3e}.rp td.t-warn{color:#b35c00}.rp td.t-fail{color:#b00020}
  .rp th,.rp td{padding:1.2px 3px;border-bottom:1px solid #0000001f;text-align:right;white-space:nowrap}
  .rp th:first-child,.rp td:first-child{text-align:left}
  .rp thead th{font-family:var(--font-mono);font-weight:400;font-size:6.4pt;letter-spacing:.06em;text-transform:uppercase;color:#555;position:static;background:none}
  .rp .kv td{text-align:left;white-space:normal}
  .rp .kv td:first-child{color:#555;width:38%}
  .rp-svg{margin:4px 0 2px;border:1px solid #0000002a;border-radius:4px}
  .rp-svg svg{display:block;width:100%;height:2.0in}
  .rp-2{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;align-items:start}
  .rp .pill{font-size:6.4pt;padding:0 3px;background:none!important;box-shadow:inset 0 0 0 .7px currentColor}
  .rp .pill.pass{color:#1d7a3e}.rp .pill.warn{color:#b35c00}.rp .pill.fail{color:#b00020}.rp .pill.na{color:#335}
  .rp tr.worst td{background:#fbe3e3}
  .rp .flags{margin:2px 0 0;padding-left:11px;font-size:7pt}.rp .flags li{margin:0}
  .rp .alist2{font-size:6.8pt;line-height:1.3;margin:0;padding:0;list-style:none}
  .rp .alist2 li{break-inside:avoid;margin:0 0 1px}
  .rp .src{font-size:6.5pt;line-height:1.28;color:#333;margin:0}
  .rp .disc{margin:5px 0 0;padding-top:3px;border-top:1px solid #0000002a;font-size:6.8pt;color:#333}
  .rp .dg text{fill:#333}.rp .dg .txt,.rp .dg .hn,.rp .dg .hv{fill:#111}
  .rp .dg .pole,.rp .dg .xarm{stroke:#666}
  .rp .dg .tx{fill:#f2f2f2;stroke:#111}
  .rp .dg .house path{fill:#fff}
  .rp .dg .s-pass{stroke:#1d7a3e}.rp .dg .s-warn{stroke:#b35c00}.rp .dg .s-fail{stroke:#b00020}
  .rp .dg .t-pass{fill:#1d7a3e}.rp .dg .t-warn{fill:#b35c00}.rp .dg .t-fail{fill:#b00020}
  .rp .dg .ground{stroke:#0000001a}
  .rp .dg .halo{stroke:#fff}
}
.dg .t-pass{fill:var(--pass)}.dg .t-warn{fill:var(--warn)}.dg .t-fail{fill:var(--fault)}.dg .t-na{fill:var(--steel)}
.chips{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 .3rem}
.chips button{height:28px;padding:0 9px;border:0;border-radius:7px;background:var(--bg);color:var(--muted);font-size:10.5px;letter-spacing:.06em;box-shadow:var(--shadow-border);font-variant-numeric:tabular-nums}
.chips button:hover{color:var(--fg)}
.chips button[aria-pressed=true]{background:var(--fg);color:var(--accent-fg)}
#evChips button{flex:1}
.p-inputs .seg-wide button{letter-spacing:.06em;white-space:nowrap}
.spec+.label,.spec+.fld,.spec+.seg,.spec+div{margin-top:.7rem}
@media (max-width:759px){.label{white-space:normal}}
