/* ShahrVam v634 — payment-flow UI completion.
   Deliberately keeps the existing visual system: same buttons, radii, typography,
   spacing scale and card language. No global component overrides. */

body[data-page="sales-case-detail"] .so-v634-section-help,
body[data-page="sales-contact-detail"] .so-v634-section-help{
  margin:0 0 10px;
  color:var(--ui-muted,#647789);
  font-size:11px;
  line-height:1.9;
}

.so-v634-parallel-flow>header,
.so-v634-invoice-panel>header,
.so-v634-ledger-panel>header,
.so-v634-lead-payments>header,
.so-v634-subscription-entry>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.so-v634-flow-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.so-v634-flow-grid>article{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid var(--ui-border,#dce5eb);
  border-radius:12px;
  background:var(--ui-surface-alt,#f7fafc);
}
.so-v634-flow-grid>article>span{
  flex:0 0 36px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#edf3f7;
  color:#315f7d;
}
.so-v634-flow-grid>article svg{width:18px;height:18px}
.so-v634-flow-grid>article>div{min-width:0}
.so-v634-flow-grid b{display:block;font-size:12px;color:var(--ui-text,#17344d)}
.so-v634-flow-grid small{display:block;margin-top:2px;font-size:10.5px;color:var(--ui-muted,#687c8e);white-space:normal;overflow-wrap:normal;word-break:normal}
.so-v634-flow-grid>article.is-done{border-color:#bfdfcf;background:#f4fbf7}
.so-v634-flow-grid>article.is-done>span{background:#e5f5ec;color:#25714b}
.so-v634-flow-grid>article.is-active{border-color:#c9d9eb;background:#f5f9fd}
.so-v634-flow-grid>article.is-active>span{background:#e7f0f8;color:#235f88}
.so-v634-flow-grid>article.is-waiting{background:#fbfcfd}
.so-v634-parallel-flow>p{margin:9px 0 0;color:var(--ui-muted,#647789);font-size:10.5px;line-height:1.8}

.so-v634-invoice-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:9px;
}
.so-v634-invoice-facts>div{
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--ui-border,#dce5eb);
  border-radius:10px;
  background:var(--ui-surface-alt,#f8fafc);
}
.so-v634-invoice-facts span{display:block;color:var(--ui-muted,#6b7e8e);font-size:10px}
.so-v634-invoice-facts b{display:block;margin-top:3px;color:var(--ui-text,#17344d);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.so-v634-invoice-state-note{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  margin:0 0 9px;
  border:1px solid var(--ui-border,#dce5eb);
  border-radius:10px;
  background:#fff;
}
.so-v634-invoice-state-note b{flex:0 0 auto;font-size:11px;color:var(--ui-text,#17344d)}
.so-v634-invoice-state-note span{font-size:10.5px;line-height:1.75;color:var(--ui-muted,#6b7e8e)}
.so-v634-inline-alert{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  margin-bottom:9px;
  border-radius:10px;
  border:1px solid #ead7ae;
  background:#fff9ed;
  color:#805d1f;
}
.so-v634-inline-alert b{font-size:10.8px;flex:0 0 auto}
.so-v634-inline-alert span{font-size:10.5px;line-height:1.7}

.so-v634-ledger-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:28px;
  padding:0 9px;
  border:1px solid var(--ui-border,#dce5eb);
  border-radius:9px;
  background:var(--ui-surface-alt,#f7fafc);
  color:var(--ui-text,#17344d);
  font-size:10.5px;
  font-weight:800;
}
.so-v634-payment-ledger{display:grid;gap:8px}
.so-v634-payment-row{
  display:grid;
  grid-template-columns:64px minmax(145px,1.2fr) minmax(125px,1fr) minmax(145px,1fr) minmax(105px,.8fr) minmax(170px,1.2fr) auto;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px 11px;
  border:1px solid var(--ui-border,#dce5eb);
  border-radius:11px;
  background:#fff;
}
.so-v634-payment-row.is-returned{border-color:#e5c7c7;background:#fffafa}
.so-v634-payment-row.is-final{border-color:#c8dfd2;background:#fbfefc}
.so-v634-payment-index{min-width:0;text-align:center}
.so-v634-payment-index>span{
  width:26px;height:26px;margin:0 auto 2px;display:grid;place-items:center;border-radius:8px;
  background:var(--ui-surface-alt,#edf3f7);color:var(--ui-text,#17344d);font-size:11px;font-weight:850
}
.so-v634-payment-index small{display:block;font-size:8.5px;color:var(--ui-muted,#758796);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-v634-payment-main,.so-v634-payment-fact{min-width:0}
.so-v634-payment-main b,.so-v634-payment-fact b{display:block;color:var(--ui-text,#17344d);font-size:10.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.so-v634-payment-main small,.so-v634-payment-fact span{display:block;color:var(--ui-muted,#758796);font-size:9.5px;margin-bottom:2px}
.so-v634-payment-status{min-width:0}
.so-v634-payment-status .so-badge{white-space:normal!important;line-height:1.55!important;text-align:center}
.so-v634-payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:max-content}
.so-v634-payment-actions .btn{margin:0!important}
.so-v634-payment-return{
  grid-column:2/-1;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding-top:7px;
  border-top:1px dashed #ecd6d6;
  color:#8f3f3f;
}
.so-v634-payment-return b{font-size:10px;flex:0 0 auto}
.so-v634-payment-return span{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.so-v634-payment-return small{margin-inline-start:auto;font-size:9px;color:#9a6d6d;white-space:nowrap}
.so-v634-ledger-empty{padding:22px;text-align:center;color:var(--ui-muted,#758796);font-size:11px;border:1px dashed var(--ui-border,#dce5eb);border-radius:10px;background:var(--ui-surface-alt,#f8fafc)}
.so-v634-legacy-payments{margin-top:10px;border-top:1px solid var(--ui-border,#dce5eb);padding-top:9px}
.so-v634-legacy-payments>summary{cursor:pointer;color:var(--ui-muted,#647789);font-size:10.5px;font-weight:750;margin-bottom:8px}

.so-v634-lead-payments .so-v634-payment-row{
  grid-template-columns:64px minmax(150px,1.2fr) minmax(120px,1fr) minmax(140px,1fr) minmax(100px,.8fr) minmax(160px,1.2fr) auto;
}
.so-v634-subscription-entry .so-inline-form{padding:0}

@media (max-width:1150px){
  .so-v634-invoice-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .so-v634-payment-row,.so-v634-lead-payments .so-v634-payment-row{
    grid-template-columns:56px minmax(140px,1.2fr) repeat(2,minmax(115px,1fr));
  }
  .so-v634-payment-status{grid-column:2/4}
  .so-v634-payment-actions{grid-column:4}
  .so-v634-payment-return{grid-column:2/-1}
}

@media (max-width:760px){
  .so-v634-flow-grid{grid-template-columns:1fr}
  .so-v634-invoice-facts{grid-template-columns:1fr 1fr}
  .so-v634-payment-row,.so-v634-lead-payments .so-v634-payment-row{
    grid-template-columns:44px minmax(0,1fr);
    gap:7px 9px;
  }
  .so-v634-payment-index{grid-row:1/4}
  .so-v634-payment-main,.so-v634-payment-fact,.so-v634-payment-status,.so-v634-payment-actions{grid-column:2}
  .so-v634-payment-actions{justify-content:flex-start;min-width:0;flex-wrap:wrap}
  .so-v634-payment-return{grid-column:1/-1;align-items:flex-start;flex-wrap:wrap}
  .so-v634-payment-return small{margin-inline-start:0;width:100%}
  .so-v634-invoice-state-note,.so-v634-inline-alert{align-items:flex-start;flex-direction:column}
}
