/* Tables: base table, scrolling wrapper, price table. */
/* tables */
.tbl{overflow-x:auto;border:1px solid var(--hair-strong);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:var(--fs-body-s)}
th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--hair);font-family:var(--mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.05em;font-weight:400}
td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--hair)}
td.num,th.num{text-align:right;font-family:var(--mono)}
tr.us td{background:var(--accent);color:var(--on-accent)}
/* ---------- admin tables ---------- */
.tbl.cards td.act .btn{white-space:nowrap}
@media (max-width:700px){
  .tbl.cards{border:0;background:transparent;overflow:visible}
  .tbl.cards table,.tbl.cards tbody{display:block}
  .tbl.cards thead{display:none}
  .tbl.cards tr{display:block;border:1px solid var(--hair-strong);background:var(--paper);margin-bottom:12px;padding:6px 0}
  .tbl.cards td{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:start;padding:8px 14px;border-bottom:0;text-align:left;overflow-wrap:anywhere}
  .tbl.cards td[data-label]::before{content:attr(data-label);font-family:var(--mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:3px}
  .tbl.cards td.num{text-align:left}
  .tbl.cards td > .cv{min-width:0}
  .tbl.cards td.blank{display:none}
  .tbl.cards td[colspan]{display:block}
  .tbl.cards td.act{display:block;padding-top:10px;border-top:1px solid var(--hair);margin-top:4px}
  .tbl.cards td.act::before{display:none}
  .tbl.cards td.act .row,.tbl.cards td.act .stack{display:grid;grid-template-columns:1fr;gap:8px;flex-wrap:wrap}
  .tbl.cards td.act .btn{width:100%;min-height:44px}
  .tbl.cards td.act .small{display:block;padding:4px 0}
}
@media (min-width:701px) and (max-width:1099px){
  .tbl.adm-cards{border:0;background:transparent;overflow:visible}
  .tbl.adm-cards table,.tbl.adm-cards tbody{display:block}
  .tbl.adm-cards thead{display:none}
  .tbl.adm-cards tr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) 140px 130px;gap:8px 20px;align-items:start;border:1px solid var(--hair-strong);background:var(--paper);margin-bottom:10px;padding:12px 14px}
  .tbl.adm-cards td{display:block;padding:0;border:0;text-align:left;overflow-wrap:anywhere}
  .tbl.adm-cards td[data-label]::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:var(--fs-micro);color:var(--muted);margin-bottom:4px}
  .tbl.adm-cards td.act{grid-column:1/-1;border-top:1px solid var(--hair);padding-top:10px}
  .tbl.adm-cards td.act::before,.tbl.adm-cards td:first-child::before{display:none}
  .tbl.adm-cards td.num{text-align:left}
}
@media (max-width:600px){
  /* ---------- mentor profile: price table becomes one block per format on phones ---------- */
  .price-tbl thead{display:none}
  .price-tbl table,.price-tbl tbody{display:block}
  .price-tbl tr{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 12px;padding:14px 16px;border-bottom:1px solid var(--hair)}
  .price-tbl tr:last-child{border-bottom:0}
  .price-tbl td{display:block;padding:0;border:0;text-align:left}
  .price-tbl td:first-child{grid-column:1/-1}
  .price-tbl td[data-label]::before{content:attr(data-label);display:block;font-family:var(--mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;line-height:1.3}
  .price-tbl td[data-label]{line-height:46px;white-space:nowrap}
  .price-tbl input{max-width:none!important;width:100%;text-align:left!important;height:46px;vertical-align:top}
}
/* ---------- Profile ---------- */
.price-tbl input[aria-invalid="true"]{border-color:var(--bad);outline-color:var(--bad)}
