.v337-finance-page{padding:24px;max-width:1500px;margin:auto}.v337-finance-hero{background:linear-gradient(125deg,#0f4b3d,#527d37);color:#fff;border-radius:28px;padding:28px;display:flex;justify-content:space-between;align-items:end;gap:20px}.v337-finance-hero span{color:#dfff45;font-size:11px;font-weight:900;letter-spacing:.1em}.v337-finance-hero h1{font-size:clamp(30px,5vw,58px);margin:8px 0}.v337-finance-hero p{max-width:730px;margin:0;color:#eef7f2}.v337-finance-hero button,.v337-finance-card button{border:0;border-radius:999px;padding:12px 17px;background:#f04f87;color:#fff;font-weight:850;cursor:pointer}.v337-finance-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.v337-finance-kpis article,.v337-finance-card{background:var(--surface,#fff);border:1px solid var(--line,#e9dde3);border-radius:20px;padding:18px;color:var(--text,#201a20)}.v337-finance-kpis span,.v337-finance-kpis small{display:block;color:var(--muted,#746a70)}.v337-finance-kpis b{display:block;font-size:23px;margin:7px 0}.v337-finance-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:end}.v337-finance-toolbar h2{margin:0 0 4px}.v337-finance-toolbar p{margin:0;color:var(--muted,#746a70)}.v337-finance-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.v337-finance-toolbar select{min-height:42px;border:1px solid var(--line,#dfd2d9);border-radius:12px;padding:0 34px 0 12px;background:var(--surface,#fff);color:var(--text,#201a20)}.v337-finance-breakdown{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.v337-finance-breakdown span{background:#fff3f7;border:1px solid #f0d8e2;border-radius:999px;padding:7px 10px;font-size:10px;color:#5c3f4a;font-weight:800}.v337-finance-rows{display:grid;gap:8px}.v337-payment-row{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(115px,1fr) repeat(3,minmax(90px,.7fr)) auto;gap:10px;align-items:center;border:1px solid var(--line,#eadde4);border-radius:15px;padding:13px}.v337-payment-row b,.v337-payment-row span{display:block}.v337-payment-row small{color:var(--muted,#746a70)}.v337-payment-status{border-radius:999px;padding:6px 9px;text-align:center;font-size:9px;font-weight:900}.v337-payment-status.paid{background:#e5f6ed;color:#165c3a}.v337-payment-status.part_paid{background:#fff1cc;color:#765000}.v337-payment-status.pending{background:#fff0f5;color:#9f2d56}.v337-empty{padding:28px;text-align:center;color:var(--muted,#746a70)}.v337-guest-builder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.v337-guest-builder label{display:grid;gap:4px;font-size:9px;font-weight:850}.v337-guest-builder input{width:100%}.v337-guest-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.v337-guest-tools button{border:1px solid var(--line,#e5d7de);background:var(--surface,#fff);color:var(--text,#201a20);border-radius:10px;padding:8px 10px;font-weight:800}.v337-guest-directory{margin-top:8px;display:grid;gap:6px}.v337-guest-directory>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line,#eadde4);padding:8px 10px;border-radius:10px}.v337-modal{position:fixed;inset:0;background:rgba(15,12,15,.72);z-index:99999;display:none;place-items:center;padding:16px}.v337-modal.show{display:grid}.v337-modal-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--surface,#fff);color:var(--text,#201a20);border-radius:22px;padding:22px}.v337-modal-card form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v337-modal-card label{display:grid;gap:5px;font-size:10px;font-weight:850}.v337-modal-card .full{grid-column:1/-1}.v337-modal-card input,.v337-modal-card select,.v337-modal-card textarea{width:100%;border:1px solid var(--line,#dfd2d9);border-radius:11px;padding:11px;background:var(--surface,#fff);color:var(--text,#201a20)}.v337-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.v337-modal-actions .secondary{background:transparent;color:var(--text,#201a20);border:1px solid var(--line,#dfd2d9)}
@media(max-width:800px){.v337-finance-page{padding:12px}.v337-finance-hero{align-items:start;flex-direction:column}.v337-finance-kpis{grid-template-columns:1fr 1fr}.v337-finance-toolbar{align-items:stretch;flex-direction:column}.v337-finance-toolbar>div:last-child{display:grid}.v337-payment-row{grid-template-columns:1fr 1fr}.v337-payment-row>div:first-child{grid-column:1/-1}.v337-guest-builder{grid-template-columns:1fr}.v337-modal-card form{grid-template-columns:1fr}.v337-modal-card .full{grid-column:auto}}

/* v3.37 payment-modal contrast lock. This component must be readable in both app themes. */
#bookingPaymentModal .v313-payment-modal{background:#fff8f1;color:#201a20;border:1px solid #e7d9df;box-shadow:0 26px 80px rgba(32,26,32,.28)}
#bookingPaymentModal .modal-head,#bookingPaymentModal .modal-body{background:#fff8f1;color:#201a20}
#bookingPaymentModal .modal-head{border-bottom-color:#eadde3}
#bookingPaymentModal :is(h3,label,.v313-payment-fields label,.v313-payment-fields label>span){color:#201a20!important}
#bookingPaymentModal .label{color:#a93462!important}
#bookingPaymentModal .small-muted{color:#756a70!important}
#bookingPaymentModal :is(input,select,textarea){background:#fff!important;color:#201a20!important;border:1px solid #cdbfc6!important;box-shadow:none!important;caret-color:#201a20!important;-webkit-text-fill-color:#201a20!important;opacity:1!important;color-scheme:light!important}
#bookingPaymentModal :is(input,textarea)::placeholder{color:#82757d!important;opacity:1!important;-webkit-text-fill-color:#82757d!important}
#bookingPaymentModal select option{background:#fff!important;color:#201a20!important}
#bookingPaymentModal :is(input,select,textarea):focus{border-color:#f04f87!important;box-shadow:0 0 0 3px rgba(240,79,135,.15)!important;outline:0}
#bookingPaymentModal :is(input,select,textarea):disabled{background:#eee7e9!important;color:#665c62!important;-webkit-text-fill-color:#665c62!important}
#bookingPaymentModal .v313-payment-summary-cell,#bookingPaymentModal .v313-payment-history details{background:#fff;color:#201a20;border-color:#e4d8de}
#bookingPaymentModal .v313-payment-summary-cell span{color:#746970!important}
#bookingPaymentModal .v313-payment-summary-cell b,#bookingPaymentModal .v313-payment-history :is(summary,b,span){color:#201a20!important}
#bookingPaymentModal .v313-payment-history-row small{color:#746970!important}
#bookingPaymentModal .v313-payment-history-meta button{background:#fff;color:#201a20;border:1px solid #d8cbd1;border-radius:999px;padding:6px 10px;font-weight:800}
#bookingPaymentModal .icon-btn{background:#201a20!important;color:#fff!important;border-color:#201a20!important}
#bookingPaymentModal .booking-modal-actions .btn:not(.accent){background:#201a20!important;color:#fff!important;border-color:#201a20!important}

body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-modal,
body[data-coach-theme="dark"] #bookingPaymentModal .modal-head,
body[data-coach-theme="dark"] #bookingPaymentModal .modal-body{background:#211b20;color:#fff}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-modal{border-color:#554650;box-shadow:0 28px 90px rgba(0,0,0,.58)}
body[data-coach-theme="dark"] #bookingPaymentModal .modal-head{border-bottom-color:#4a3d45}
body[data-coach-theme="dark"] #bookingPaymentModal :is(h3,label,.v313-payment-fields label,.v313-payment-fields label>span){color:#fff!important}
body[data-coach-theme="dark"] #bookingPaymentModal .label{color:#ff94b9!important}
body[data-coach-theme="dark"] #bookingPaymentModal .small-muted{color:#d0c3ca!important}
body[data-coach-theme="dark"] #bookingPaymentModal :is(input,select,textarea){background:#30272e!important;color:#fff!important;border-color:#66545f!important;caret-color:#fff!important;-webkit-text-fill-color:#fff!important;color-scheme:dark!important}
body[data-coach-theme="dark"] #bookingPaymentModal :is(input,textarea)::placeholder{color:#c4b5bd!important;-webkit-text-fill-color:#c4b5bd!important}
body[data-coach-theme="dark"] #bookingPaymentModal select option{background:#30272e!important;color:#fff!important}
body[data-coach-theme="dark"] #bookingPaymentModal :is(input,select,textarea):disabled{background:#282127!important;color:#b9abb2!important;-webkit-text-fill-color:#b9abb2!important}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-summary-cell,
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-history details{background:#2a2228;color:#fff;border-color:#54454e}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-summary-cell span{color:#c9bbc3!important}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-summary-cell b,
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-history :is(summary,b,span){color:#fff!important}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-history-row{border-bottom-color:#493c44}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-history-row small{color:#c4b6be!important}
body[data-coach-theme="dark"] #bookingPaymentModal .v313-payment-history-meta button{background:#352b32;color:#fff;border-color:#66545f}
body[data-coach-theme="dark"] #bookingPaymentModal .icon-btn{background:#f04f87!important;color:#fff!important;border-color:#f04f87!important}
body[data-coach-theme="dark"] #bookingPaymentModal .booking-modal-actions .btn:not(.accent){background:#352b32!important;color:#fff!important;border-color:#66545f!important}

@media(max-width:620px){#bookingPaymentModal .v313-payment-fields{grid-template-columns:1fr}#bookingPaymentModal .v313-payment-fields .full{grid-column:auto}#bookingPaymentModal .v313-payment-summary-card{grid-template-columns:1fr 1fr}#bookingPaymentModal .v313-payment-summary-cell:last-child{grid-column:1/-1}}
