/* Settings-page components (POS #169/#171): tab strip, page actions, record cards, feature switches, facts.
   Extracted from POS static/pultrack.css @ origin/main. */
/* Settings pages: a card with an Edit button in its header and a plain one in
   the same row must line up — one header height for every settings card. */
.pt-settings .card-header{ min-height:48px; display:flex; align-items:center; }
.pt-settings-tabs{
  display:flex; gap:1.25rem; overflow-x:auto; max-width:100%;
  margin:0 0 1rem; border-bottom:1px solid var(--app-line);
  scrollbar-width:thin; -webkit-overflow-scrolling:touch;
}
.pt-settings-tab{
  flex:0 0 auto; padding:.55rem .1rem .5rem; border-bottom:2px solid transparent;
  color:var(--muted); font-weight:600; text-decoration:none; white-space:nowrap;
}
.pt-settings-tab:hover{ color:var(--app-ink); }
.pt-settings-tab.active{ color:var(--green); border-bottom-color:var(--green); }
.pt-page__actions{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }

/* ------------------------------------------------- feature switches + facts
   One card, one row per feature, a real switch on the right: the position IS
   the state, and an off feature greys its own line. Replaces five cards that
   each carried an "Off" badge and a "Turn on" button. */
.pt-swrow{
  display:flex; align-items:flex-start; gap:14px; margin:0;
  padding:14px 16px; border-top:1px solid var(--app-line-soft);
}
.pt-switches > .pt-swrow:first-child{ border-top:0; }
.pt-swrow__text{ flex:1 1 auto; min-width:0; }
.pt-swrow__title{ font-weight:600; color:var(--app-ink); }
.pt-swrow__hint{ margin-top:2px; color:var(--muted); font-size:var(--text-sm); }
.pt-swrow__extra{ margin-top:6px; }
.pt-swrow.is-off .pt-swrow__title{ color:var(--muted); font-weight:500; }
.pt-swrow.is-off .pt-swrow__hint{ opacity:.8; }
.pt-switch{
  flex:0 0 auto; position:relative; width:46px; height:26px; padding:0;
  border:0; border-radius:999px; background:var(--line); cursor:pointer;
  transition:background .15s ease;
}
.pt-switch__knob{
  position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(20,30,24,.28); transition:transform .15s ease;
}
.pt-switch[aria-checked="true"]{ background:var(--green); }
.pt-switch[aria-checked="true"] .pt-switch__knob{ transform:translateX(20px); }
.pt-switch:hover{ filter:brightness(.96); }
.pt-switch:focus-visible{ outline:0; box-shadow:0 0 0 .25rem rgba(27,87,57,.25); }
.pt-switch:disabled{ opacity:.55; cursor:default; }
@media (prefers-reduced-motion: reduce){
  .pt-switch, .pt-switch__knob{ transition:none; }
}
/* A record shown as a record: label above value, never a live input. */
.pt-facts{ margin:0; }
.pt-fact{ padding:9px 0; border-top:1px solid var(--app-line-soft); }
.pt-fact:first-child{ border-top:0; padding-top:0; }
.pt-fact dt{ font-size:.83rem; font-weight:500; color:var(--muted); margin-bottom:1px; }
.pt-fact dd{ margin:0; color:var(--app-ink); }
