/* Spec Sheet - the live preview under every page of the builder (2026-10-10, public/specpreview.js).
   The box around it follows the Digital Brand Guideline (screen); the pages inside it reproduce the PRINTED
   sheet - its inches, points, Calibri and the builder's own colours (lib/draw.py tokens) - because on print the
   May 2026 guideline and the approved template win. */

.sgp{border:1px solid var(--sg-line);border-radius:10px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:12px;
  box-shadow:0 1px 2px rgba(10,12,13,.04),0 8px 24px rgba(10,12,13,.06);margin-top:8px;min-width:0}
.sgp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sgp-eyebrow{font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#00648A;margin:0 0 2px}
.sgp-title{font-family:Montserrat,sans-serif;font-size:16px;font-weight:600;margin:0;color:#0A0C0D}
.sgp-hint{font-size:13px;color:#4B565E;margin:4px 0 0;max-width:78ch;line-height:1.45}
.sgp-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sgp-seg{display:inline-flex;border:1px solid var(--sg-line-2,#CFD8DE);border-radius:8px;overflow:hidden}
.sgp-seg button{font:600 13px Montserrat,sans-serif;padding:7px 12px;border:0;background:#fff;color:#4B565E;cursor:pointer;min-height:32px;
  transition:background .15s ease-out,color .15s ease-out}
.sgp-seg button + button{border-left:1px solid var(--sg-line-2,#CFD8DE)}
.sgp-seg button.on{background:#0A0C0D;color:#fff}
.sgp-seg button:focus-visible,.sgp .sg-btn:focus-visible{outline:2px solid #00AAE7;outline-offset:2px}
.sgp-stage{--s:.5;min-width:0;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;background:#EFF2F4;border-radius:8px;padding:16px;min-height:80px}
.sgp-stage[hidden]{display:none}
.sgp-none{font-size:13px;color:#4B565E;margin:auto}
.sgp-slot{width:calc(8.5in * var(--s));height:calc(11in * var(--s));overflow:hidden;flex:none;
  box-shadow:0 1px 2px rgba(10,12,13,.08),0 6px 18px rgba(10,12,13,.10);background:#fff}
.sgp-slot[hidden]{display:none}
@media (prefers-reduced-motion:no-preference){.sgp-slot{transition:width .15s ease-out,height .15s ease-out}}

/* ---------------------------------------------------------------- the printed page */
.sgp-page{--blue:#00B0F0;--ink:#15181B;--grey:#3D4247;--muted:#74797E;--rule:#C9CDD0;--tile:#D9DCDE;
  width:8.5in;height:11in;position:relative;transform:scale(var(--s));transform-origin:0 0;background:#fff;
  font-family:Calibri,Carlito,"Segoe UI",sans-serif;color:var(--grey);font-size:8.5pt;line-height:1.25;overflow:hidden}
.sgp-page *{box-sizing:border-box}
.sgp-page table{min-width:0;width:auto}      /* not the builder's own .sg table rule (min-width 520px, 12px) */
.sgp-page .pv-tbl{width:100%;font-size:7.5pt}
.sgp-page .pv-zone{font-size:7pt}
.sgp-page img{display:block}
.pv-title{position:absolute;left:1.075in;top:.70in;font-size:16pt;line-height:1.2;color:var(--ink);font-weight:400;white-space:nowrap}
.pv-title small{font-size:10pt;color:var(--muted)}
.pv-tacc{position:absolute;left:1.075in;top:1.02in;width:.38in;height:.0139in;background:var(--blue)}
.pv-body{position:absolute;left:1.075in;top:1.30in;width:6.35in;height:8.80in;overflow:hidden}
.pv-footer{position:absolute;left:1.075in;top:10.26in;width:6.35in;height:.6in}
.pv-frule{height:0;border-top:.5pt solid var(--rule)}
.pv-footer p{position:absolute;left:0;top:.25in;width:4.45in;margin:0;font-size:7pt;color:var(--muted);line-height:1.2}
.pv-footer img{position:absolute;left:5.115in;top:.14in;width:.76in;height:.33in;object-fit:contain;padding:.07in .04in}
.pv-pno{position:absolute;left:6.0in;top:.22in;font-size:12.5pt;color:var(--ink);line-height:1;white-space:nowrap}
.pv-pno small{font-size:6pt;color:var(--muted)}
.pv-miss{color:#A3A9AE;font-style:italic;font-weight:400}

/* cover (lib/blocks.py render_cover) */
.sgp-page.cover .pv-body{left:0;top:0;width:8.5in;height:10.2in}
.pv-cleft{position:absolute;left:1.075in;top:0;width:3.45in;height:4.5in}
.pv-cleft > *, .pv-pills > *, .pv-badges > *{position:absolute}
.pv-pills,.pv-badges{position:static}
.pv-cat{font-size:11pt;font-weight:700;color:var(--blue);display:flex;align-items:center;white-space:nowrap}
.pv-name{font-size:26pt;font-weight:700;color:var(--ink);display:flex;flex-direction:column;justify-content:center;line-height:1.05;letter-spacing:-.005em}
.pv-accent{background:var(--blue)}
.pv-desc{font-size:12pt;color:var(--grey);display:flex;align-items:center;line-height:1.22}
.pv-pill{border-radius:.12in;background:var(--blue);color:#fff;font-size:9pt;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;padding:0 .08in;white-space:nowrap}
.pv-badges{--bh:.52in}
.pv-badge img{height:100%;width:100%;object-fit:contain}
.pv-badge.own{border:.5pt dashed var(--rule);display:grid;place-items:center;font-size:5pt;color:var(--muted);text-align:center;overflow:hidden}
.pv-badge i{position:absolute;left:-.1in;right:-.1in;top:calc(var(--bh) + .005in);text-align:center;font-size:6.5pt;font-style:normal;color:var(--grey);white-space:nowrap}
.pv-proj{position:absolute;left:4.6in;top:.34in;width:2.825in}
.pv-proj h4{margin:0 0 .04in;font-size:10pt;color:var(--blue);font-weight:700}
.pv-prow{height:.21in;border-bottom:.5pt solid var(--rule);font-size:7.5pt;color:var(--muted);display:flex;align-items:flex-end;padding-bottom:.02in}
.pv-prow span{margin-left:auto;width:1.1in}
.pv-hero{position:absolute;left:4.6in;top:1.55in;width:2.825in;height:2.85in;display:grid;place-items:center}
.pv-heroimg{max-width:100%;max-height:100%;object-fit:contain}
.pv-divider{position:absolute;left:1.075in;top:4.55in;width:6.35in;border-top:1pt solid var(--blue)}
.pv-ktitle{position:absolute;left:1.075in;top:4.85in;height:.35in;line-height:.35in;font-size:17pt;color:var(--ink)}
.pv-kcol{position:absolute;top:5.29in;width:3.0in;overflow:hidden}
.pv-kspec{position:absolute;left:0;top:0;width:8.5in;height:10.2in}
.pv-kcont{left:0!important;top:0!important;width:8.5in!important;height:10.2in!important}
.pv-kspec > span{position:absolute}
.pv-kg{width:2.5in;height:.16in;display:flex;align-items:center;font-size:11pt;font-weight:700;color:var(--blue);white-space:nowrap}
.pv-kl{width:1.35in;height:.17in;display:flex;align-items:center;font-size:10pt;color:var(--grey);white-space:nowrap}
.pv-kv{width:3.0in;height:.17in;line-height:.17in;display:block;text-align:right;font-size:10pt;font-weight:700;color:var(--ink);white-space:nowrap}
.pv-kr{width:3.0in;height:0;border-top:.5pt dotted var(--rule)}
.pv-kmore{position:absolute;left:4.425in;top:8.28in;width:3.0in;text-align:right;font-size:8pt;color:var(--grey)}
.pv-kgroup h4{margin:0;font-size:9.5pt;color:var(--blue);font-weight:700;height:.2575in;line-height:.2575in}
.pv-krow{display:flex;justify-content:space-between;gap:.1in;min-height:.2575in;align-items:center;border-bottom:.5pt dotted var(--rule);font-size:8.5pt}
.pv-krow span{color:var(--grey)}
.pv-krow b{color:var(--ink);text-align:right}
.pv-kflow{columns:2;column-gap:.35in}
.pv-kflow .pv-kgroup{break-inside:avoid;margin-bottom:.1in}
.pv-brule{position:absolute;left:1.075in;top:8.58in;width:6.35in;border-top:1pt solid var(--blue)}
.pv-bh{position:absolute;height:.30in;display:flex;align-items:center;font-size:11pt;font-weight:700;color:var(--blue);white-space:nowrap}
.pv-bv{position:absolute;height:.30in;display:flex;align-items:center;font-size:10pt;font-weight:700;color:var(--ink);white-space:nowrap}
.pv-bp{position:absolute;top:9.36in;margin:0;font-size:8pt;line-height:1.2;color:var(--grey)}
.pv-locked{position:absolute;left:1.075in;top:3in;width:6.35in;text-align:center;font-size:11pt;color:var(--grey)}

/* content pages */
.pv-section{padding-top:.16in}
.pv-srule{border-top:.5pt solid var(--rule);margin-bottom:.14in}
.pv-section h2{margin:0 0 .12in;font-size:14pt;color:var(--ink);font-weight:400}
.pv-section h2 small{font-size:9pt;color:var(--muted)}
.pv-h{margin:.06in 0 .1in;font-size:11pt;font-weight:700;color:var(--blue)}
.pv-sub{margin:.04in 0 .06in;font-size:8.5pt;font-weight:700;color:var(--ink)}
.pv-note{margin:0 0 .1in;font-size:8pt;color:var(--grey);white-space:pre-line}
.pv-empty{margin-top:3in;text-align:center;font-size:11pt;color:#A3A9AE;font-style:italic}
.pv-tbl{width:100%;border-collapse:collapse;margin:0 0 .14in;font-size:7.5pt}
.pv-tbl th{font-size:6.5pt;font-weight:400;color:var(--muted);text-align:left;padding:.04in .06in .04in 0;border-bottom:.5pt solid var(--rule);letter-spacing:.02em}
.pv-tbl td{padding:.045in .06in .045in 0;border-bottom:.5pt dotted var(--rule);color:var(--ink)}
.pv-tbl td:not(:first-child){font-weight:700}
.pv-copied{color:var(--muted)!important;font-style:italic;font-weight:400!important}
.pv-rows{margin:0 0 .14in;max-width:4.2in}
.pv-two{display:grid;grid-template-columns:1fr 1fr;gap:.25in;margin-bottom:.12in}
.pv-two.top{align-items:start}
.pv-draw{margin:0 0 .16in}
.pv-dcap{font-size:8pt;color:var(--blue);margin-bottom:.06in}
.pv-dcap b{font-weight:700;margin-right:.08in}
.pv-dimg{width:100%;height:2.3in;object-fit:contain}
.pv-two .pv-dimg{height:1.9in}
.pv-draw figcaption{display:flex;flex-wrap:wrap;gap:.04in .16in;font-size:7pt;color:var(--grey);margin-top:.04in}
.pv-draw figcaption b{color:var(--ink)}
.pv-pic{margin:0 0 .14in}
.pv-pimg{max-width:100%;object-fit:contain;object-position:left}
.pv-pic.small .pv-pimg{height:1.2in}.pv-pic.medium .pv-pimg{height:2.2in}.pv-pic.large .pv-pimg{height:3.4in}
.pv-pic figcaption,.pv-render figcaption{font-size:7pt;color:var(--muted);margin-top:.04in}
.pv-render{margin:0 0 .12in}
.pv-rimg{height:1.0in;max-width:2.6in;object-fit:contain;object-position:left}
/* accessory cards (lib/form.py _blocks_plain + lib/blocks.py b_figures, 2026-10-13): three across, 0.25in apart */
.pv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.25in .25in;margin:0 0 .14in}
.pv-card{margin:0;min-width:0}
.pv-cimg{width:100%;height:1.0in;object-fit:contain}
.pv-card figcaption{border-top:.5pt solid var(--rule);margin-top:.12in;padding-top:.07in;font-size:7pt;color:var(--muted);line-height:1.1}
.pv-card figcaption b{display:block}
.pv-ccode{font-size:8pt;color:var(--blue);margin-bottom:.04in}
.pv-chead{color:var(--grey);margin-bottom:.03in}
.sgp-ph{display:grid!important;place-items:center;background:repeating-linear-gradient(45deg,#F6F7F8 0 6px,#EEF0F2 6px 12px);
  border:.5pt dashed var(--rule);color:var(--muted);font-size:7pt;text-align:center;padding:.05in;width:100%;min-height:.4in}
.pv-heroimg.sgp-ph{width:2.4in;height:2.2in}
.pv-tpic.sgp-ph{width:.5in;height:.5in;font-size:4pt;min-height:0}
.pv-dims{display:grid;grid-template-columns:1fr 1fr;gap:.25in}

/* ordering guide (lib/blocks.py OG_*, b_catalog, b_steps, _tile - one design for every sheet; every position below
   was measured on ALPS E3 REV 12 pages 02-03, 2026-10-10) */
.sgp-page.og .pv-body{top:1.10in;height:9.00in}
.pv-catalog{height:1.0in;position:relative}
.pv-clab{display:flex;justify-content:space-between;align-items:center;height:.12in;font-size:7.5pt;color:var(--muted)}
.pv-clab b{color:var(--blue);font-size:6.5pt;width:.55in;text-align:center}
.pv-cbox{position:absolute;left:0;right:0;top:.24in;height:.42in;border:.75pt solid var(--ink);padding:0 .11in;display:flex;align-items:center;
  font-size:12.5pt;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden}
.pv-cbox span{color:var(--blue)}
.pv-ccopy{position:absolute;left:0;top:.70in;font-size:7pt;color:var(--muted)}
.pv-acch{margin:0;height:.27in;font-size:11pt}
.pv-step{position:relative}
.pv-step > *{position:absolute}
.pv-snum{left:0;top:0;width:.22in;height:.22in;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:7.5pt;display:grid;place-items:center}
.pv-slab{left:.32in;top:.035in;width:1.05in;font-size:8.5pt;font-weight:700;color:var(--blue);line-height:1.15}
.pv-srule2{left:0;width:6.35in;height:0;border-top:.5pt solid var(--rule)}
.pv-tile{border:.75pt solid var(--tile);border-radius:.04in;background:#fff}
.pv-tile > *{position:absolute}
.pv-tile.on{border:1.25pt solid var(--blue)}
.pv-tcode{display:flex;align-items:center;justify-content:center;font-size:13pt;font-weight:700;color:var(--ink);white-space:nowrap}
.pv-tcode.sm{font-size:7pt;align-items:flex-start}
.pv-tile.on .pv-tcode{color:var(--blue)}
.pv-tcap{font-size:5pt;color:var(--grey);line-height:1.22;text-align:center;overflow:hidden}
.pv-ta{display:grid;place-items:center}
.pv-tpic{max-width:100%;max-height:100%;object-fit:contain}
.pv-tpic.sgp-ph{width:100%;height:100%;min-height:0;font-size:4pt;padding:0}
.pv-tsw{border:.5pt solid var(--tile)}
.pv-tpanel{left:.04in;top:.04in;right:.04in;bottom:.04in;background:#F5F7F8;border:.5pt solid #C9CCCE;border-radius:.04in}
.pv-tbig{display:flex;align-items:flex-end;justify-content:center;font-size:13pt;font-weight:700;color:var(--ink);white-space:nowrap}
.pv-tunit{text-align:center;font-size:7pt;color:var(--muted)}
.pv-cone path{fill:#CDEBF9;stroke:var(--blue);stroke-width:.8}
.pv-sright{display:flex;flex-direction:column;gap:.02in}
.pv-sright b{font-size:9.5pt;color:var(--ink);line-height:1.22}
.pv-sright i{font-style:normal;font-size:7pt;color:var(--grey);line-height:1.22}
.pv-foot{padding-top:.16in}
.pv-foot p{margin:0 0 .04in;font-size:7pt;color:var(--grey)}

/* photometric data: four fixed slots a page */
.pv-factors{display:flex;flex-wrap:wrap;gap:.04in .4in;margin-bottom:.22in;font-size:8.5pt}
.pv-factors span{display:flex;gap:.3in;min-width:1.6in;justify-content:space-between;border-bottom:.5pt dotted var(--rule);padding-bottom:.03in}
.pv-factors b{color:var(--ink)}
.pv-fhead{height:.95in;overflow:hidden}
.pv-photo{height:1.96in;border-bottom:.5pt solid var(--rule);padding:.06in 0;overflow:hidden}
.pv-photo:first-child{margin-top:.05in}
.pv-pn{font-size:7pt;font-weight:700;color:var(--ink)}
.pv-plabel{font-size:10pt;font-weight:700;color:var(--blue);margin:.02in 0 .06in}
.pv-pgrid{display:flex;gap:.12in;align-items:flex-start}
.pv-pgrid > *{flex:none}
.pv-pleft{width:1.3in}
.pv-pgrid .pv-zone{width:1.35in}
.pv-pgrid .pv-zone + .pv-polar + .pv-zone{width:2.3in}
.pv-pleft .pv-krow{font-size:7.5pt;min-height:.2in}
.pv-zone{border-collapse:collapse;font-size:7pt;table-layout:fixed}
.pv-zone th{font-size:5.5pt;font-weight:400;color:var(--muted);text-align:left;padding:0 .03in .03in 0}
.pv-zone td{padding:.012in .03in .012in 0;color:var(--ink)}
.pv-zone td.c{color:#A3A9AE;text-align:right}
.pv-polar{width:.9in;height:.6in;margin-top:.12in}
.pv-polar path{fill:none;stroke:#BFE6F7;stroke-width:.8}
.pv-pfrom{font-size:6pt;color:#A3A9AE;font-style:italic;margin-top:.04in}
