/* Tuva eier-app: the Payments screen (SPEC-crm-full P6). Uses the app's own cards, rows, tags and buttons; only the pieces that
   are new live here. Phone first; from 900 px the sections sit in the app's two columns. No inline styles (CSP). */
.payscreen{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
@media (min-width:900px){.payscreen{padding-bottom:32px}}
.payscreen .screenlead{max-width:68ch}
.notice.amber{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}
.notice.amber .nic{color:var(--warn)}
.notice .nic svg{width:22px;height:22px}
.payfirst{color:var(--warn);font-weight:700}
.payh3{font-size:17px;font-weight:700;margin:22px 0 8px}

/* the two provider blocks inside one card */
.paycard{padding:4px 16px 16px}
.payprov{padding-top:14px}
.payprov + .payprov{margin-top:14px;border-top:1px solid var(--line)}
.payprovtop{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.payprovname{font-size:18px;font-weight:800;margin-right:2px}
.paymasks{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:14px;color:var(--muted)}
.paymask code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;color:var(--text);font-variant-numeric:tabular-nums}
.payuse{border:0;padding:16px 0 0;margin:14px 0 0;border-top:1px solid var(--line)}
.paybtns .btn{flex:1 1 auto}

/* list rows: the text takes the room, the buttons stay whole and wrap under it on a phone */
.payrow{flex-wrap:wrap;row-gap:8px}
.payrow .rowmain{flex:1 1 220px;min-width:0}
.payrow .rowtitle{display:flex;flex-wrap:wrap;align-items:center;gap:6px;overflow-wrap:anywhere}
.payrow .rowmeta{overflow-wrap:anywhere}
.payrow .rowic svg{width:22px;height:22px}
.paycta{display:flex;flex-wrap:wrap;gap:8px}
.paycta .btn{min-height:44px}
.payrow > .btn{flex:none}
@media (max-width:599.98px){.paycta{width:100%}.paycta .btn{flex:1 1 auto}.payrow > .btn{width:100%}}

/* the deposit rules */
.paydeps{display:grid;gap:12px}
.paydep{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.paydepname{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.paydepname b{font-weight:700;overflow-wrap:anywhere}
.paydepname .hint{white-space:nowrap;font-variant-numeric:tabular-nums}
.paydepin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,6.5rem) 24px;gap:8px;align-items:center}
.paydepin .input:disabled{opacity:.55}
@media (max-width:520px){.paydepin{grid-template-columns:minmax(0,1fr) 24px}.paydepin .select{grid-column:1 / -1}}
.paydepunit{color:var(--muted);font-weight:700}
.paydep .err{grid-column:1 / -1}
.paydepin .select:only-of-type{grid-column:1 / 2}
.paydepeq{grid-column:1 / -1;font-variant-numeric:tabular-nums}
.paydepeq:empty{display:none}
.paycname{margin:10px 0 2px}
.paynums{display:grid;grid-template-columns:minmax(0,1fr);gap:0 16px}
@media (min-width:600px){.paynums{grid-template-columns:repeat(3,minmax(0,1fr))}}
#pay-rules .swrow{margin-top:14px;padding-left:0;padding-right:0}

/* dialogs */
.paycode{font-size:20px!important;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.paysvcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 12px}
.paycustcard[hidden]{display:none}
/* the status tags are small: their text is pulled toward the body colour so it stays readable (≥4.5:1) in light and dark */
.payscreen .rowtag.okt{color:color-mix(in srgb,var(--ok,#2B8058) 72%,var(--text))}
.payscreen .rowtag.warnt{color:color-mix(in srgb,var(--warn) 72%,var(--text))}
.visitq{flex:1 1 100%;display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line,#e3ddd0)}
.visitrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}
.visitwhen{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}
.visitq .btn{min-height:44px}
.payhelp{font-weight:600;margin:4px 0 8px}
/* the no-show choice for a paid deposit (payments_extras.js) */
.xbchoices{display:grid;gap:8px;margin:12px 0}
.xbchoice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;height:auto;min-height:44px;padding:10px 14px;text-align:left;white-space:normal}
.xbchoice span{font-weight:400;color:var(--muted);font-size:14px}
