/* ---------------------------------------------------------------------------
   /prices/ pages only. Added 11 Sep 2026.

   A SEPARATE SHEET, for the reason docs.css and bondlive.css are separate:
   learn.css is fetched by 147 pages that cannot use a rule below. Palette and
   type come from learn.css (which carries the homepage's tokens), so the price
   table here reads as the homepage's table: mono numerals, blue uppercase
   headers, amber yields, green/red change, amber/red as-at flags.
   --------------------------------------------------------------------------- */

/* The price table needs more than the 760px reading column. */
main.pwrap{ max-width:1240px }

/* status line: static (the file's own words), live, error */
.pl-status{
  font-family:var(--mono); font-size:12.5px; color:var(--text-mid);
  margin:14px 0 10px; padding:8px 12px; border-left:3px solid var(--border);
  background:var(--bg2); border-radius:0 6px 6px 0;
}
.pl-status[data-state="live"]{ border-left-color:var(--green); color:var(--text) }
.pl-status[data-state="error"]{ border-left-color:var(--red); color:var(--text) }

/* summary cards, as the homepage strip */
.pl-summary{ display:flex; flex-wrap:wrap; gap:12px; margin:0 0 14px }
.pl-summary .card{
  background:var(--bg3); border:1px solid var(--border); border-radius:4px;
  padding:9px 14px; min-width:120px; display:block;
}
.pl-summary .card .k{
  font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-dim); margin:0 0 3px;
}
.pl-summary .card .v{ font-family:var(--mono); font-size:17px; font-weight:600; color:#fff }
.pl-summary .card .v.g{ color:var(--green) } .pl-summary .card .v.a{ color:var(--amber) } .pl-summary .card .v.b{ color:var(--accent) }

/* the table */
.tblwrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--border); border-radius:6px }
table.pt{
  width:100%; min-width:1080px; border-collapse:collapse;
  font-family:var(--mono); font-size:12.5px; font-variant-numeric:tabular-nums;
}
table.pt thead tr{ background:var(--bg3) }
table.pt th{
  color:var(--accent); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:10px 8px; text-align:right; white-space:nowrap; border-bottom:1px solid var(--border);
}
table.pt th.l, table.pt td.l{ text-align:left }
/* the bond name may wrap; every other cell stays on one line */
table.pt td.l{ white-space:normal; min-width:170px }
table.pt td{ padding:9px 8px; text-align:right; white-space:nowrap; border-bottom:1px solid var(--border); color:var(--text) }
table.pt tbody tr:last-child td{ border-bottom:0 }
table.pt tbody tr:hover{ background:rgba(88,166,255,.04) }
table.pt td.l .bname{ color:#fff; font-weight:500 }
table.pt td.l .bname a{ color:#fff; text-decoration:none; border-bottom:1px dotted var(--text-dim) }
table.pt td.l .bname a:hover{ color:var(--accent); border-bottom-color:var(--accent) }
table.pt td.l .isin{ display:block; font-size:11px; color:var(--text-dim); margin-top:2px }
table.pt .ccy{
  display:inline-block; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600;
  letter-spacing:.04em; color:#fff; background:var(--text-mid);
}
table.pt .ccy.usd{ background:var(--accent2) }
table.pt .ccy.eur{ background:var(--purple); color:#1a1024 }
/* price cells: empty in the file, filled by pricelive.js */
table.pt td.pl{ color:var(--text-dim) }
table.pt td.pl.n{ color:var(--text); font-weight:500 }
table.pt td.pl.y{ color:var(--amber) }
table.pt td.pl.pos{ color:var(--green) } table.pt td.pl.neg{ color:var(--red) } table.pt td.pl.flat{ color:var(--text-dim) }
/* the as-at cell may wrap to date / time, as on the homepage, so the table fits a laptop */
table.pt td.pl.t{ color:var(--text-mid); font-size:11.5px; white-space:normal; line-height:1.35; min-width:92px }
table.pt td.pl.t.stale{ color:var(--amber); background:rgba(227,179,65,.12); cursor:help }
table.pt td.pl.t.rejected{ color:#e5534b; background:rgba(229,83,75,.14); cursor:help }

/* /prices/ index */
.pl-countries{ list-style:none; margin:14px 0 18px; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:6px 18px }
.pl-countries li{ display:flex; justify-content:space-between; align-items:baseline; padding:8px 0; border-bottom:1px solid var(--border); font-size:15px }
.pl-countries .n{ font-family:var(--mono); font-size:12px; color:var(--text-dim) }

@media (max-width:640px){
  .pl-summary .card{ min-width:calc(50% - 6px) }
  table.pt{ font-size:12px }
  table.pt th, table.pt td{ padding:8px 9px }
}

/* ---------------------------------------------------------------------------
   Phase two (14 Sep 2026): the last close, in the file, dated.
   td.cl  close bid / ask on the first line; the close date and a source tag
          (dealer, DMO or model) beneath. The only price figure the file
          carries; the nightly build rewrites it each trading day. Styled to
          read as a record (dimmer than the live cells), not as a quote.
   --------------------------------------------------------------------------- */
table.pt th.cl{ border-left:1px solid var(--border) }
table.pt th .sub{ display:block; font-weight:400; letter-spacing:.04em; color:var(--text-dim); text-transform:none; font-size:9.5px; margin-top:2px }
table.pt td.cl{ color:var(--text-mid); border-left:1px solid var(--border); line-height:1.35; white-space:normal; min-width:150px }
table.pt td.cl .cp{ display:block; color:var(--text); white-space:nowrap }
table.pt td.cl .cd{ display:block; font-size:11px; color:var(--text-dim); white-space:nowrap }
table.pt .src{
  display:inline-block; margin-left:4px; padding:0 4px; border-radius:3px; font-size:9px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--text-dim); border:1px solid var(--border); vertical-align:1px;
}
table.pt .src-email_close, table.pt .src-manual{ color:var(--green); border-color:rgba(63,185,80,.4) }
table.pt .src-dmo{ color:var(--accent); border-color:rgba(88,166,255,.4) }
table.pt .src-model{ color:var(--amber); border-color:rgba(227,179,65,.4) }
.pl-close-note{ font-size:13.5px; color:var(--text-mid); margin:0 0 10px }
.pl-close-note strong{ color:var(--text) }
