/* segment-report.css -- the Segment Report (js/segment-report.js), inside
   EDM Tools > Segment Stats. Everything is scoped under .segrep (and the
   print root #segrep-print-root), so nothing here touches the rest of the
   site. On screen it uses the site's colour variables; in print it uses
   fixed ink so the PDF looks the same in light or dark mode. */

.segrep {
  font-family: 'Rubik', sans-serif;
  color: var(--text);
  font-variant-numeric: tabular-nums;
  --segrep-navy: #00205B;
  --segrep-navy-2: #13306B;
  --segrep-orange: #D14520;
  --segrep-rule: var(--border);
  --segrep-rule-2: var(--border);
  --segrep-zebra: var(--surface2);
  --segrep-tint: rgba(209, 69, 32, 0.10);
  --segrep-good: var(--good-text, #137A3F);
  --segrep-bad: var(--bad-text, #B42318);
  --segrep-muted: var(--text3);
}

/* ---------------------------------------------------------------- screen */
.segrep-screen { padding: 0.25rem 0 1.5rem; }
.segrep-screen-head { font-size: 0.8rem; color: var(--text2); margin: 0.1rem 0 0.6rem; }
.segrep-sec + .segrep-sec { margin-top: 1.6rem; }
.segrep-sec-title {
  font: 700 1.05rem 'Rubik', sans-serif; color: var(--text); margin: 0 0 0.5rem;
  padding-bottom: 0.3rem; border-bottom: 2px solid var(--segrep-navy);
}
.segrep-loading, .segrep-empty { color: var(--text3); padding: 2rem 0; text-align: center; font-size: 0.85rem; }
.segrep-err { color: var(--segrep-bad); }
.segrep-flag {
  margin: 0 0 0.5rem; padding: 0.4rem 0.7rem; border-radius: 6px; font-size: 0.78rem;
  background: rgba(209, 69, 32, 0.10); color: var(--text); border: 1px solid rgba(209, 69, 32, 0.35);
}
.segrep-kicker { color: var(--text2); font-size: 0.76rem; margin: 0 0 0.45rem; }
.segrep-fn { color: var(--text3); font-size: 0.72rem; margin-top: 0.4rem; }
.segrep-sub { color: var(--segrep-muted); font-size: 0.88em; }
.segrep-note { display: block; font-size: 0.68em; color: var(--segrep-bad); line-height: 1; margin-top: 1px; }
.segrep-pos { color: var(--segrep-good); }
.segrep-neg { color: var(--segrep-bad); }
.segrep-b { font-weight: 700; }
.segrep-mute { color: var(--text3); font-weight: 400; }
.segrep-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.segrep-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start; }

.segrep-logo { display: inline-block; width: 20px; height: 20px; background-size: contain; background-repeat: no-repeat; background-position: center; vertical-align: middle; }
.segrep-logo-sm { width: 16px; height: 16px; }
.segrep-logo-lg { width: 60px; height: 60px; }

/* tables */
.segrep-table { border-collapse: collapse; width: 100%; font-size: 0.76rem; background: var(--surface); }
.segrep-table th, .segrep-table td { padding: 2px 6px; border-bottom: 1px solid var(--border); text-align: center; white-space: nowrap; line-height: 1.25; }
.segrep-table thead th {
  background: var(--segrep-navy); color: #fff; font-size: 0.66rem; font-weight: 600; letter-spacing: .04em;
  text-transform: uppercase; border-bottom: 0; padding-top: 4px; padding-bottom: 4px;
}
.segrep-table thead tr.segrep-band th { background: var(--segrep-navy-2); font-size: 0.6rem; padding-top: 2px; padding-bottom: 2px; }
.segrep-table tbody th { text-align: left; font-weight: 500; color: var(--text2); }
.segrep-table .segrep-sep { border-left: 1px solid var(--border); }
.segrep-table thead .segrep-sep { border-left-color: rgba(255, 255, 255, .25); }
.segrep-table .segrep-nm { text-align: left; }
.segrep-table td.segrep-nm { font-weight: 500; }
.segrep-table .segrep-jn { color: var(--text3); width: 2.2em; }
.segrep-table thead .segrep-jn { color: #fff; }
.segrep-gm { font-size: 0.85em; font-weight: 400; opacity: .8; text-transform: none; letter-spacing: 0; }
.segrep-tbl-h { font: 700 0.86rem 'Rubik', sans-serif; color: var(--text); margin: 0.7rem 0 0.25rem; }
.segrep-tbl-h:first-child { margin-top: 0; }

/* summary */
.segrep-cover-head { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid var(--segrep-navy); padding-bottom: 6px; margin-bottom: 10px; }
.segrep-cover-kicker { text-transform: uppercase; letter-spacing: .08em; color: var(--segrep-orange); font-size: 0.78rem; font-weight: 700; }
.segrep-cover-title { font: 700 2.3rem 'Rubik', sans-serif; line-height: 1; color: var(--text); text-transform: uppercase; }
.segrep-cover-sub { color: var(--text2); font-size: 0.85rem; margin-top: 2px; }
.segrep-kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-bottom: 10px; }
.segrep-kpi { border: 1px solid var(--border); border-radius: 6px; padding: 6px 9px; background: var(--surface); }
.segrep-kpi-l { font-size: 0.62rem; text-transform: uppercase; letter-spacing: .07em; color: var(--text3); font-weight: 600; }
.segrep-kpi-v { font-size: 1.45rem; font-weight: 700; line-height: 1.1; color: var(--text); }
.segrep-kpi-s { font-size: 0.7rem; color: var(--text2); }
.segrep-cover-grid { display: grid; grid-template-columns: 1.55fr 1fr; gap: 12px; }
.segrep-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.segrep-panel { border: 1px solid var(--border); border-radius: 6px; padding: 7px 9px; background: var(--surface); min-width: 0; }
.segrep-panel-h { font-weight: 700; font-size: 0.8rem; color: var(--text); margin-bottom: 5px; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.segrep-panel-hs { font-weight: 400; font-size: 0.72rem; color: var(--text3); }
.segrep-legend { margin-left: auto; font-weight: 400; font-size: 0.72rem; color: var(--text2); display: flex; align-items: center; gap: 4px; }
.segrep-legend i { display: inline-block; width: 12px; height: 2px; border-radius: 1px; margin-left: 6px; }
.segrep-gametable thead th.segrep-gh { text-transform: none; letter-spacing: 0; }
.segrep-gametable thead th:first-child { background: transparent; }
/* vertical-align: top, not the default baseline: on the baseline, the logo box
   adds the font's descent to the row, which Chrome's print pass rounds
   taller than the screen measured -- 35 Goal Categories rows grew ~0.5px
   each on paper and pushed the Seg row off the sheet (Oct 11). Top-aligned,
   a row is the 16px logo plus padding, the same on screen and paper. */
.segrep-opp { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; vertical-align: top; line-height: 16px; }
.segrep-gametable .segrep-opp { justify-content: center; font-size: 0.8rem; }
.segrep-gametable td .segrep-sub { display: block; font-size: 0.7em; line-height: 1; }
.segrep-gametable .segrep-tot { background: var(--segrep-tint); font-weight: 600; }
.segrep-gametable thead .segrep-tot { background: var(--segrep-navy-2); }
.segrep-res { display: inline-block; font-weight: 700; }
.segrep-res-w { color: var(--segrep-good); }
.segrep-res-l { color: var(--segrep-bad); }
.segrep-cmp td { text-align: right; }
.segrep-cmp thead th { text-align: right; }
.segrep-cmp thead th:first-child { text-align: left; }
.segrep-cmp .segrep-jn { display: inline-block; width: 1.8em; color: var(--text3); }
.segrep-trend { width: 100%; height: auto; display: block; }
.segrep-trend-grid { stroke: var(--border); stroke-width: 1; }
.segrep-trend-ax { font-size: 9px; fill: var(--text3); font-family: 'Rubik', sans-serif; }
.segrep-trend-axc { fill: var(--segrep-orange); font-weight: 600; }
.segrep-trend-dl { font-size: 9.5px; fill: var(--text); font-weight: 600; font-family: 'Rubik', sans-serif; }
.segrep-trend-cur { fill: var(--segrep-tint); }

/* league ranks */
.segrep-lr-head { font-size: 0.86rem; margin-bottom: 6px; }
.segrep-lr-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 8px; }
.segrep-lr-nh { font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text); }
.segrep-lr-notes ul { margin: 2px 0 0; padding-left: 16px; font-size: 0.74rem; line-height: 1.45; }
.segrep-lr-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: start; }
.segrep-lr { margin-bottom: 8px; table-layout: fixed; }
.segrep-lr col.segrep-lr-lab { width: 44%; }
.segrep-lr col.segrep-lr-rk { width: 9%; }
.segrep-lr thead th.segrep-lr-title { text-align: left; text-transform: none; letter-spacing: 0; font-size: 0.74rem; }
/* Long labels wrap rather than truncate: "ES Actual to Expected Against/GP"
   lost its /GP to an ellipsis at the print column width. */
.segrep-lr tbody th { white-space: normal; line-height: 1.15; }
.segrep-rk { font-weight: 700; color: var(--text2); }
.segrep-rk-good { color: #1d4d8f !important; background: #dce6f3; }
.segrep-rk-bad { color: #8f0e0e !important; background: #f3dcdc; }
.segrep-mv { font-size: 0.85em; }

/* players */
.segrep-ptable tbody tr:nth-child(even) td { background: var(--segrep-zebra); }

/* lines & pairs */
.segrep-units { margin-bottom: 10px; table-layout: fixed; }
.segrep-units col.segrep-u-chips { width: 44%; }
.segrep-units col.segrep-u-n { width: 4.5%; }
.segrep-units col.segrep-u-t { width: 6.5%; }
.segrep-units col.segrep-u-p { width: 7.5%; }
.segrep-units col.segrep-u-x { width: 5.5%; }
.segrep-units thead tr.segrep-band th.segrep-nm { font-size: 0.72rem; text-transform: uppercase; letter-spacing: .05em; }
.segrep-units tr.segrep-ugrp th { background: var(--surface2); color: var(--text); text-align: left; font-size: 0.68rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; padding: 3px 6px; }
.segrep-units td.segrep-chips { text-align: left; white-space: normal; line-height: 1.6; padding: 3px 4px; }
.segrep-units td.segrep-gf { color: var(--segrep-good); font-weight: 700; }
.segrep-units td.segrep-ga { color: var(--segrep-bad); font-weight: 700; }
.segrep-chip { display: inline-flex; align-items: center; gap: 3px; border-radius: 3px; padding: 1px 5px 1px 3px; margin-right: 3px; font-size: 0.68rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
.segrep-chip-num { background: rgba(255, 255, 255, .18); border-radius: 2px; padding: 0 3px; font-weight: 500; }
.segrep-pill { display: inline-block; min-width: 3.6em; padding: 1px 0; border-radius: 3px; color: #fff; font-weight: 700; font-size: 0.72rem; }
.segrep-pill-na { background: var(--surface2); color: var(--text3); }

/* faceoffs */
.segrep-rink { position: relative; width: 100%; max-width: 1100px; aspect-ratio: 1920 / 823; background: url(../img/rink-blank.webp) center / 100% 100% no-repeat; margin: 0 auto 8px; }
.segrep-zone { position: absolute; top: 50%; transform: translate(-50%, -50%); font-size: 1.6rem; font-weight: 700; color: #B7BDC7; letter-spacing: .06em; }
.segrep-zl { left: 16%; }
.segrep-zr { left: 83.9%; }
.segrep-dir { position: absolute; left: 50%; bottom: 3%; transform: translateX(-50%); font-size: 0.6rem; color: #7C8697; letter-spacing: .06em; text-transform: uppercase; background: rgba(255,255,255,.85); padding: 1px 6px; border-radius: 3px; }
.segrep-board { position: absolute; transform: translate(-50%, -50%); background: rgba(255,255,255,.96); border: 1px solid #C9D0DA; border-radius: 5px; padding: 2px 4px; box-shadow: 0 1px 3px rgba(16,24,40,.12); color: #141C2B; }
.segrep-board table { border-collapse: collapse; }
.segrep-board td { font-size: 0.66rem; padding: 0 2px; line-height: 1.35; }
.segrep-bp { width: 3.2em; text-align: right; font-weight: 600; }
.segrep-bw { min-width: 3em; text-align: right; color: #495466; white-space: nowrap; }
.segrep-fochip { display: inline-block; min-width: 1.7em; padding: 0 3px; border-radius: 3px; text-align: center; font-weight: 700; font-size: 0.68rem; line-height: 1.35; }
.segrep-fochip-plain { background: var(--surface2); color: var(--text2); }
.segrep-fotable tfoot tr.segrep-totrow td { font-weight: 700; border-top: 2px solid var(--segrep-navy); }

/* scoring chances (the EDM Stats page's own tables, gc-rank-table) */
.segrep-ch-label { font-size: 0.76rem; color: var(--text2); margin-bottom: 0.4rem; }
.segrep-ch-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.75rem; margin-top: 0.8rem; align-items: start; }
.segrep .edmch-clickcell { cursor: default !important; text-decoration: none !important; }

/* situations */
.segrep-sitline { font-size: 0.86rem; margin-bottom: 6px; }
.segrep-sit col.segrep-sit-lab { width: 46%; }
.segrep-sit tr.segrep-grp th { background: var(--surface2); color: var(--text); font-weight: 700; font-size: 0.68rem; text-transform: uppercase; letter-spacing: .05em; padding: 3px 6px; }
.segrep-sit tr.segrep-mute-row th, .segrep-sit tr.segrep-mute-row td { color: var(--text3); }
.segrep-sit td.segrep-gp { color: var(--text3); }

/* goal categories */
.segrep-gc { font-size: 0.72rem; }
.segrep-gc th, .segrep-gc td { padding: 1px 4px; }
.segrep-gc thead th { white-space: normal; text-transform: none; letter-spacing: 0; line-height: 1.1; }
.segrep-gc .segrep-gsep { border-left: 2px solid var(--segrep-navy); }
.segrep-gc thead th.segrep-gsep { border-left-color: rgba(255,255,255,.55); }
.segrep-gc td.segrep-z { color: var(--text3); }
.segrep-gc td.segrep-gp { color: var(--text3); }
.segrep-gc tbody tr:nth-child(even) td, .segrep-gc tbody tr:nth-child(even) th { background: var(--segrep-zebra); }
.segrep-gc tr.segrep-edm th, .segrep-gc tr.segrep-edm td { background: rgba(209, 69, 32, 0.16) !important; font-weight: 700; color: var(--text); }
.segrep-gc tfoot th { text-align: left; font-weight: 600; color: var(--text2); }
.segrep-gc tfoot tr.segrep-avg th, .segrep-gc tfoot tr.segrep-avg td { border-top: 2px solid var(--segrep-navy); }
.segrep-gc tfoot tr.segrep-rankrow td { font-weight: 600; }
.segrep-gc tfoot tr.segrep-segrow th, .segrep-gc tfoot tr.segrep-segrow td { background: var(--segrep-tint); }

/* season by segment */
.segrep-stats td.segrep-cur { background: var(--segrep-tint); font-weight: 600; }
.segrep-stats thead th.segrep-cur { background: var(--segrep-orange); }
.segrep-stats td.segrep-season { background: var(--surface2); font-weight: 600; }
.segrep-stats thead th.segrep-season { background: var(--segrep-navy-2); }

/* ---------------------------------------------------------- print dialog */
.segrep-dialog-overlay { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, .35); display: flex; align-items: center; justify-content: center; }
.segrep-dialog { background: var(--surface); color: var(--text); border-radius: 10px; box-shadow: 0 10px 40px rgba(0,0,0,.3); padding: 16px 18px; width: min(420px, 92vw); font-family: 'Rubik', sans-serif; }
.segrep-dialog-h { font-weight: 700; font-size: 1rem; margin-bottom: 8px; }
.segrep-dialog-tools { display: flex; gap: 8px; margin-bottom: 6px; }
.segrep-dialog-tools button { background: none; border: 0; color: var(--accent); cursor: pointer; font: 500 0.78rem 'Rubik', sans-serif; padding: 0; }
.segrep-dialog-list { display: grid; gap: 4px; font-size: 0.86rem; margin-bottom: 10px; }
.segrep-dialog-list label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.segrep-dialog-note { font-size: 0.74rem; color: var(--text2); margin-bottom: 8px; }
.segrep-dialog-status { font-size: 0.78rem; color: var(--text2); min-height: 1.1em; margin-bottom: 8px; }
.segrep-dialog-btns { display: flex; justify-content: flex-end; gap: 8px; }
.segrep-btn { border-radius: 7px; padding: 7px 14px; font: 600 0.84rem 'Rubik', sans-serif; cursor: pointer; border: 1px solid var(--border); background: var(--surface2); color: var(--text); }
.segrep-btn-primary { background: var(--oilers-orange, #D14520); border-color: transparent; color: #fff; }
.segrep-btn:disabled { opacity: .55; cursor: wait; }

/* ------------------------------------------------------------------ print
   #segrep-print-root is built by printPages(): one .segrep-page per sheet,
   each scaled (zoom) to fit 970 x 710 CSS px -- the landscape printable area
   at 10mm margins on the smaller of Letter and A4. Off screen while it is
   measured; the only thing on the page while body.segrep-printing is set. */
#segrep-print-root {
  position: absolute; left: -100000px; top: 0; width: 970px;
  --segrep-rule: #DDE2E9; --segrep-zebra: #F6F8FA; --segrep-tint: #FDF1EC;
  --segrep-good: #137A3F; --segrep-bad: #B42318; --segrep-muted: #7C8697;
  --text: #141C2B; --text2: #495466; --text3: #7C8697; --border: #E3E7ED; --surface: #fff; --surface2: #EEF1F5;
  color: #141C2B; background: #fff;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
#segrep-print-root .segrep-page { width: 970px; height: 708px; display: flex; flex-direction: column; overflow: hidden; background: #fff; }
#segrep-print-root .segrep-ph { display: flex; justify-content: space-between; align-items: center; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: #00205B; border-bottom: 2px solid #00205B; padding-bottom: 4px; }
#segrep-print-root .segrep-ph-l { display: flex; align-items: center; gap: 6px; }
#segrep-print-root .segrep-ph-l i { width: 3px; height: 3px; border-radius: 50%; background: #D14520; display: inline-block; }
#segrep-print-root .segrep-ph > span:last-child { color: #7C8697; }
#segrep-print-root .segrep-pt { font: 700 20px 'Rubik', sans-serif; text-transform: uppercase; color: #00205B; margin: 6px 0 5px; letter-spacing: .02em; }
#segrep-print-root .segrep-pbody { flex: 1; min-height: 0; overflow: hidden; }
#segrep-print-root .segrep-fit { width: 970px; transform-origin: top left; }
#segrep-print-root .segrep-pf { display: flex; justify-content: space-between; font-size: 8px; color: #7C8697; border-top: 1px solid #DDE2E9; padding-top: 3px; margin-top: 4px; }
#segrep-print-root .segrep-table { font-size: 11px; }
#segrep-print-root .segrep-ch-grid { grid-template-columns: 1fr 1fr 1fr; }
/* The EDM Stats chance tables (gc-rank-table) are sized for the screen; on
   the sheet they run at print density so the page isn't scaled to half. */
#segrep-print-root .gc-rank-table th, #segrep-print-root .gc-rank-table td { padding: 2px 6px !important; font-size: 11px !important; line-height: 1.2 !important; }
#segrep-print-root .segrep-chances [class*="team-logo-"] { width: 40px !important; height: 40px !important; }
#segrep-print-root .segrep-ch-grid { margin-top: 8px; gap: 10px; }

@media print {
  body.segrep-printing > *:not(#segrep-print-root) { display: none !important; }
  body.segrep-printing { background: #fff !important; }
  body.segrep-printing #segrep-print-root { position: static; left: auto; width: auto; }
  body.segrep-printing #segrep-print-root .segrep-page { break-after: page; page-break-after: always; }
  body.segrep-printing #segrep-print-root .segrep-page:last-child { break-after: auto; page-break-after: auto; }
}

/* focus areas */
.segrep-fa-h { font: 700 1.05rem 'Rubik', sans-serif; color: var(--segrep-orange); text-transform: uppercase; letter-spacing: .03em; margin: 0 0 4px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.segrep-fa-hs { font: 400 0.74rem 'Rubik', sans-serif; color: var(--text3); text-transform: none; letter-spacing: 0; }
.segrep-fa-ctl { font-size: 0.78rem; color: var(--text2); margin: 0 0 8px; display: flex; align-items: center; gap: 6px; }
.segrep-fa-ctl select { font: inherit; padding: 2px 4px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 4px; }
.segrep-fa-oz { font-size: 0.95rem; margin-bottom: 12px; }
.segrep-fa-oz th, .segrep-fa-oz td { padding: 6px 10px; }
.segrep-fa-oz tbody th { font-weight: 700; color: var(--text); font-size: 0.9rem; }
.segrep-fa-oz thead th { font-size: 0.7rem; }
.segrep-fa-oz td.segrep-fa-v { font-weight: 700; font-size: 1.05rem; }
.segrep-fa-st { font-weight: 400; font-size: 0.7rem; color: var(--text3); }
.segrep-fa-team { white-space: nowrap; }
.segrep-fa-r { font-weight: 500; font-size: 0.82em; }
.segrep-fa-good { color: #1d4d8f; }
.segrep-fa-bad { color: var(--segrep-bad); }
.segrep-fa-mvc { width: 3em; padding-left: 0 !important; text-align: left !important; }
.segrep-fa-mv { font-size: 0.78rem; font-weight: 600; }
.segrep-fa-lists { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: start; }
.segrep-fa-list { min-width: 0; }
.segrep-fa-kick { font-size: 0.68rem; color: var(--text3); margin: 0 0 3px; }
.segrep-fa-lt { table-layout: fixed; }
.segrep-fa-lt col.segrep-fa-lab { width: 40%; }
.segrep-fa-lt tbody th { white-space: normal; line-height: 1.15; }
.segrep-fa-lt td.segrep-fa-v { white-space: normal; line-height: 1.15; }
.segrep-fa-cat { font-size: 0.66rem; color: var(--text3); font-weight: 400; }
.segrep-fa-none { text-align: left !important; padding: 6px !important; }
#segrep-print-root .segrep-fa-oz { font-size: 13px; }
#segrep-print-root .segrep-fa-bad { color: #B42318; }
.segrep-fa-ctl-gap { flex: 1; }
.segrep-fa-link { background: none; border: 0; color: var(--accent); cursor: pointer; font: 500 0.78rem 'Rubik', sans-serif; padding: 0 4px; }
.segrep-fa-x {
  float: right; margin: -1px -2px 0 6px; width: 18px; height: 18px; line-height: 16px; padding: 0; border-radius: 50%;
  border: 1px solid var(--border); background: var(--surface); color: var(--text3); font: 600 13px/16px 'Rubik', sans-serif;
  cursor: pointer; opacity: 0; transition: opacity .12s;
}
.segrep-fa tr:hover .segrep-fa-x, .segrep-fa-x:focus-visible { opacity: 1; }
.segrep-fa-x:hover { color: var(--segrep-bad); border-color: var(--segrep-bad); }
@media (hover: none) { .segrep-fa-x { opacity: 1; } }
#segrep-print-root .segrep-fa-x { display: none; }
.segrep-fa-pick { width: min(620px, 94vw); max-height: min(80vh, 760px); display: flex; flex-direction: column; }
.segrep-fa-q { font: inherit; font-size: 0.86rem; padding: 6px 8px; margin-bottom: 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface2); color: var(--text); }
.segrep-fa-pbody { overflow-y: auto; min-height: 0; flex: 1; margin-bottom: 10px; }
.segrep-fa-pg { margin-bottom: 8px; }
.segrep-fa-ph { font-weight: 700; font-size: 0.74rem; text-transform: uppercase; letter-spacing: .05em; color: var(--text); margin: 6px 0 3px; }
.segrep-fa-ph .segrep-sub { text-transform: none; letter-spacing: 0; font-weight: 400; }
.segrep-fa-pi {
  display: flex; justify-content: space-between; align-items: baseline; gap: 10px; width: 100%; text-align: left;
  background: none; border: 0; border-bottom: 1px solid var(--border); padding: 5px 6px; cursor: pointer; color: var(--text); font: 0.8rem 'Rubik', sans-serif;
}
.segrep-fa-pi:hover:not([disabled]) { background: var(--surface2); }
.segrep-fa-pi[disabled] { cursor: default; opacity: .5; }
.segrep-fa-pi[hidden], .segrep-fa-pg[hidden] { display: none; }
.segrep-fa-pi-r { font-size: 0.72rem; color: var(--text2); white-space: nowrap; }
.segrep-fa-pi-r b { color: var(--segrep-bad); font-weight: 600; }
.segrep-fa-pnone { padding: 4px 6px; font-size: 0.78rem; }
.segrep-fa-ctl .segrep-btn { padding: 3px 10px; font-size: 0.78rem; }
/* Narrow windows: lists two across, then one (screen only -- the print root
   isn't .segrep-screen, so the sheet keeps three columns). */
@media (max-width: 1250px) { .segrep-screen .segrep-fa-lists { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 860px) { .segrep-screen .segrep-fa-lists { grid-template-columns: 1fr; } }
