/* V4.22.64 — approved → paid → active billing reconciliation */
.billing-warning{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid #ead9a7;background:#fffaf0;border-radius:16px;margin:14px 0 18px}.billing-warning strong{color:#76550d;white-space:nowrap}.billing-warning span{color:#66552e;font-size:13px;line-height:1.5}.billing-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:20px;margin:14px 0}.billing-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.billing-head h2{margin:0 0 5px;color:var(--navy)}.billing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.billing-grid>div{padding:11px;border:1px solid var(--line);border-radius:13px;background:#fbfdfd}.billing-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.billing-grid strong{font-size:13px}.payment-progress{height:8px;background:#e9f0f2;border-radius:99px;overflow:hidden;margin-top:7px}.payment-progress i{display:block;height:100%;background:var(--teal);border-radius:99px}.reconcile-box{padding:14px;border:1px solid var(--line);border-radius:16px;background:#f9fcfc}.reconcile-box p{margin:0 0 12px;font-size:13px;color:var(--muted)}.reconcile-form{display:grid;grid-template-columns:1fr 180px auto;gap:10px;align-items:end}.reconcile-form label span{display:block;font-size:11px;color:var(--muted);margin:0 0 4px}.reconcile-form input{width:100%;padding:11px;border:1px solid var(--line);font:inherit}.record-payment{background:var(--navy);color:#fff;white-space:nowrap}.billing-status{display:inline-flex;padding:6px 9px;border-radius:99px;font-size:12px;font-weight:800;background:#eef5f6}.billing-status.awaiting{background:#fff4d9;color:#7b5900}.billing-status.active{background:#e8f8f0;color:#147447}.billing-foot{font-size:11px;color:var(--muted);margin-top:8px}@media(max-width:850px){.billing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reconcile-form{grid-template-columns:1fr 160px}.record-payment{grid-column:1/-1}}@media(max-width:560px){.billing-grid,.reconcile-form{grid-template-columns:1fr}.billing-warning{display:block}.billing-warning strong{display:block;margin-bottom:4px}}
.payment-progress i.q0{width:0}.payment-progress i.q1{width:25%}.payment-progress i.q2{width:50%}.payment-progress i.q3{width:75%}.payment-progress i.q4{width:100%}
/* V4.22.78 — payment-provider readiness */
.payment-config{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:20px;margin:18px 0}.payment-config-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.payment-config-head h2{margin:3px 0 6px;color:var(--navy)}.payment-config-head p{margin:0;color:var(--muted);font-size:13px;max-width:760px;line-height:1.5}.config-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--teal)}.gateway-state{display:inline-flex;padding:7px 10px;border-radius:99px;background:#eef5f6;color:var(--navy);font-size:12px;font-weight:800;white-space:nowrap}.gateway-state.ready{background:#e8f8f0;color:#147447}.gateway-state.manual{background:#fff4d9;color:#7b5900}.payment-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.payment-config-grid label{font-size:12px;font-weight:700;color:var(--navy)}.payment-config-grid label.wide{grid-column:1/-1}.payment-config-grid input,.payment-config-grid select{width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.payment-config-grid input:disabled{background:#f5f7f7;color:var(--muted)}.live-toggle{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:#f9fcfc}.live-toggle input{margin-top:3px}.live-toggle span{display:flex;flex-direction:column;gap:3px}.live-toggle small{font-weight:400;color:var(--muted);line-height:1.45}.payment-config-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.payment-config-actions .secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.payment-config-note{margin-top:14px;padding:11px 13px;border-radius:12px;background:#f3f8f8;color:#52666d;font-size:12px}.payment-config-note strong{color:var(--navy)}@media(max-width:650px){.payment-config-head{display:block}.gateway-state{margin-top:10px}.payment-config-grid{grid-template-columns:1fr}.payment-config-grid label.wide{grid-column:auto}}
.payment-event-health{margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;color:var(--muted);font-size:12px}
/* V4.22.78 — recurring billing queue */
.billing-cycle-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:20px;margin:18px 0}.billing-cycle-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.billing-cycle-head h2{margin:3px 0 6px;color:var(--navy)}.billing-cycle-head p{margin:0;color:var(--muted);font-size:13px;max-width:760px;line-height:1.5}.billing-cycle-actions{display:flex;gap:8px;flex-wrap:wrap}.billing-cycle-actions .secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.cycle-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.cycle-metrics>div{padding:12px;border:1px solid var(--line);border-radius:14px;background:#fbfdfd}.cycle-metrics span{display:block;color:var(--muted);font-size:11px}.cycle-metrics b{font-size:22px;color:var(--navy)}.cycle-safety,.billing-cron-note{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border-radius:12px;background:#f3f8f8;color:#52666d;font-size:12px;margin:12px 0}.cycle-safety strong,.billing-cron-note strong{color:var(--navy);white-space:nowrap}.billing-cron-note code{word-break:break-all}.billing-cycle-rows{display:grid;gap:9px}.cycle-row{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(5,minmax(90px,.65fr)) minmax(125px,.8fr);gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.cycle-row>div>span:not(.cycle-status){display:block;font-size:10px;color:var(--muted);margin-bottom:2px}.cycle-row>div>strong{font-size:12px;color:var(--navy)}.cycle-main span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.cycle-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.cycle-status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;background:#eef5f6}.cycle-status.paid{background:#e8f8f0;color:#147447}.cycle-status.due,.cycle-status.retry_due{background:#fff4d9;color:#7b5900}.cycle-status.failed{background:#fdeaea;color:#a22}.cycle-status.processing{background:#eaf2ff;color:#315a9a}.cycle-status.payment_method_required{background:#f4eefb;color:#6b3f8d}.cycle-state small{font-size:9px;color:var(--muted)}.cycle-retry{font-size:10px;padding:5px 8px;background:#fff;color:var(--navy);border:1px solid var(--line)}.cycle-error{grid-column:1/-1;padding:7px 9px;border-radius:9px;background:#fff5f5;color:#8a3333;font-size:11px}@media(max-width:1100px){.cycle-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cycle-main{grid-column:1/-1}.cycle-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.billing-cycle-head{display:block}.billing-cycle-actions{margin-top:12px}.cycle-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-row{grid-template-columns:1fr 1fr}.cycle-main,.cycle-error{grid-column:1/-1}.cycle-safety,.billing-cron-note{display:block}.cycle-safety strong,.billing-cron-note strong{display:block;margin-bottom:4px}}

/* V4.24.16: unconfirmed provider delivery requires human reconciliation, not retry. */
.cycle-status.review_required{background:#fff0df;color:#8b4c0d;border:1px solid #f4d7a8}

/* V4.24.20 — distinct successful provider references on an already-paid cycle. */
.additional-charge-review{margin-top:14px;padding:14px;border:1px solid #e8c18b;border-radius:13px;background:#fff9f0;color:#74490e;font-size:12px}
.additional-charge-review[hidden]{display:none}.additional-charge-review>strong{font-size:13px}.additional-charge-review p{margin:6px 0 12px;line-height:1.5}.additional-charge-item{padding:9px 0;border-top:1px solid #e8d9c3;overflow-wrap:anywhere}.additional-charge-item div{margin-top:4px}.additional-charge-item small{display:block;margin-top:3px;color:#755e46}
