/* PayGuard (Tool B) — only what Tool B needs on top of the shared app.css (same tokens, no new colours). */
.steps.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ttl{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.label-ind.proto{background:var(--surface-2);color:var(--fg-2);box-shadow:inset 0 0 0 1px var(--line-strong)}
.cur{flex:0 0 120px}
input[type=datetime-local]{font:inherit;font-size:15px;width:100%;height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);
  background:var(--field);color:var(--fg);transition:border-color .15s,box-shadow .15s}
input[type=datetime-local]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-2)}

/* stage rows (step 1) */
.stage-rows{display:grid;gap:8px}
.srow{display:grid;grid-template-columns:28px minmax(0,1fr) 150px 40px;gap:8px;align-items:center}
.srow .sn{font-size:12.5px;font-weight:620;color:var(--muted);text-align:center}
.srow .btn-icon{width:40px;height:40px}
.srow .btn-icon svg{width:16px;height:16px}

/* added chats (step 1) */
.chatrow{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.chatrow .top-line{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chatrow .top-line > svg{width:20px;height:20px;color:var(--muted)}
.chatrow .fn{font-weight:560;min-width:0;overflow-wrap:anywhere;flex:1 1 180px}
.dmq{display:grid;gap:8px;padding:12px;border-radius:var(--r-sm);background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}
.dmq p{color:var(--fg)}
details.how{border:1px solid var(--line);border-radius:var(--r);padding:0 14px;background:var(--surface)}
details.how summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:560;list-style:none}
details.how summary::-webkit-details-marker{display:none}
details.how .chev{width:16px;height:16px;color:var(--muted);transition:transform .2s}
details.how[open] .chev{transform:rotate(180deg)}
details.how[open]{display:grid;gap:8px;padding-bottom:12px}
.fmt dl div{grid-template-columns:200px 1fr}
[dir="rtl"] .fmt dd{text-align:right}

/* result (step 2) */
.totals .offer{gap:6px}
.totals .offer .lab{font-size:13px;color:var(--muted);font-weight:560}
.totals .offer.t-ok .big{color:var(--ok)}
.totals .offer.t-risk .big{color:var(--bad)}
.totals .offer.t-risk{border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.wa-msg{white-space:pre-wrap;font-size:15px;line-height:1.6;padding:14px 16px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere}
.stage-out{grid-template-columns:1fr}
.stage-out li[data-state="done"]{border-inline-start:3px solid var(--ok)}
.stage-out li[data-state="partly"]{border-inline-start:3px solid var(--warn)}
.stage-out li[data-state="no_photo_proof"]{border-inline-start:3px solid var(--bad)}
.stage-out .amt{font-weight:650}
.stage-out .req{font-size:12.5px;color:var(--muted)}
.stage-out .req q{quotes:none;font-style:italic}
.stage-out .ask{font-size:13.5px}
.stage-out .ask b{font-weight:600}
.paid{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:560;color:var(--fg-2);cursor:pointer;min-height:32px}
.paid input{width:18px;height:18px;accent-color:var(--accent)}
.phref img{width:22px;height:22px;object-fit:cover;border-radius:4px;margin-inline-start:-4px}
.ph .chip{white-space:normal}
.ph.reused .ph-img{box-shadow:0 0 0 2px var(--bad);border-color:transparent}
.ph.nocount .ph-img{opacity:.7}
@media (min-width:641px){.ph:has(.reuse){grid-column:span 2}}
.ph-meta b{white-space:normal}
.reuse .tagrow .btn{white-space:normal;height:auto;min-height:32px;padding:4px 10px;text-align:start}
.ph-btn{all:unset;display:block;cursor:pointer;border-radius:10px}
.ph-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.reuse{display:grid;gap:6px;font-size:12.5px}
.reuse .pair{display:flex;gap:6px;align-items:center}
.reuse .pair img{width:44px;height:33px;object-fit:cover;border-radius:5px;border:1px solid var(--line)}
.reuse .tagrow .btn{font-size:12.5px}

@media (max-width:640px){
  .srow{grid-template-columns:22px minmax(0,1fr) 40px;gap:6px;grid-template-areas:"n name x" "n amt x"}
  .srow .sn{grid-area:n}
  .srow [data-stage-name]{grid-area:name}
  .srow [data-stage-amount]{grid-area:amt}
  .srow .btn-icon{grid-area:x}
  .stage-rows{gap:14px}
  .cur{flex:1 1 100%}
  .fmt dl div{grid-template-columns:1fr}
}
@media print{
  #takeaway,#chat-box,#stages-box,#who-box,#ph-panel,.paid,.reuse .tagrow,[data-action="copy-msg"]{display:none!important}
  .print-all #s1{display:none!important}
  .wa-msg{background:#fff}
}
