.oasp-finance-section{margin:28px 0;scroll-margin-top:30px}.oasp-finance-card,.oasp-payment-center{--finance-accent:#108a60;background:#fff;border:1px solid #e1eae5;border-radius:18px;padding:24px;box-shadow:0 8px 28px rgba(22,58,37,.05);color:#1c3828;margin:18px 0}.oasp-finance-card h3,.oasp-payment-center h3{font-size:22px;line-height:1.3;margin:7px 0 8px;color:#173c29}.oasp-finance-card p,.oasp-payment-center p{font-size:14px;color:#64776a;line-height:1.65}.oasp-finance-eyebrow{font-size:11px;font-weight:800;color:#108a60;letter-spacing:.09em}.oasp-finance-card form{display:grid;gap:15px;margin-top:18px}.oasp-finance-card label,.oasp-payment-center label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#355642}.oasp-finance-card input,.oasp-finance-card textarea,.oasp-finance-card select,.oasp-payment-center input,.oasp-payment-center select{box-sizing:border-box;width:100%;max-width:100%;padding:12px 14px;border:1px solid #dce9df;border-radius:10px;background:#fff;color:#173c29;font:inherit;font-size:14px}.oasp-finance-card button,.oasp-payment-center button{background:var(--finance-accent,#108a60);border:0;border-radius:10px;color:#fff;padding:13px 20px;font-size:14px;font-weight:750;cursor:pointer}.oasp-finance-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.oasp-invoice-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.oasp-invoice-head h4{font-size:18px;margin:5px 0}.oasp-invoice-amount{display:block;font-size:26px;margin:12px 0;color:#183e29}.oasp-invoice-status{border-radius:99px;padding:6px 12px;background:#fff1d6;color:#99621d;font-size:12px;font-weight:750}.oasp-invoice-status.status-paid{background:#e2f7e9;color:#087446}.oasp-invoice-status.status-submitted{background:#e4f1ff;color:#276bb4}.oasp-pay-details{margin-top:15px;border-top:1px solid #e6eee8;padding-top:15px}.oasp-pay-details summary{color:#087e50;font-weight:750;cursor:pointer}.oasp-payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0}.oasp-payment-methods>div{border:1px solid #e1eae5;border-radius:12px;padding:13px;display:grid;gap:8px;overflow-wrap:anywhere}.oasp-payment-methods strong{color:#164a30}.oasp-payment-qr{display:block;width:100%;max-width:210px;height:auto}.oasp-finance-success{padding:12px;border-radius:9px;background:#e7f8ed;color:#086c41!important}.oasp-finance-wait{padding:12px;background:#e9f2fc;border-radius:9px}.oasp-payment-floating{position:fixed;bottom:20px;left:20px;z-index:9998;background:#fff;border:1px solid #cde9d8;border-radius:99px;box-shadow:0 8px 25px #0002;padding:12px 16px;font:700 13px/1.4 system-ui}.oasp-payment-floating a{color:#08764b;text-decoration:none}.oasp-card-expand{margin-top:12px;border-top:1px solid #e7efe8;padding-top:12px}.oasp-card-expand summary{font-size:13px;font-weight:750;color:#0d7f54;cursor:pointer}.oasp-card-expand-body{padding:12px 0;line-height:1.7;font-size:14px;overflow-wrap:anywhere}.oasp-custom-cta .oasp-finance-card{background:#f3faf5}.oasp-finance-admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.oasp-finance-admin-fields label{display:grid;gap:6px;font-weight:650}.oasp-finance-admin-fields input{width:100%}@media(max-width:650px){.oasp-finance-card,.oasp-payment-center{padding:18px}.oasp-finance-row,.oasp-finance-admin-fields{grid-template-columns:1fr}.oasp-payment-floating{left:10px;right:10px;text-align:center}}

/* v29: strict form layout to override Elementor/theme/global input rules */
.oasp .oasp-finance-card,.oasp .oasp-payment-center,.oasp-finance-card,.oasp-payment-center{box-sizing:border-box;width:100%;max-width:100%;padding:clamp(20px,3vw,36px);border-radius:20px;background:#fff;box-shadow:0 16px 46px rgba(18,59,35,.07)}
.oasp .oasp-custom-order form,.oasp-custom-order form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:20px!important;margin:25px 0 0!important;align-items:start!important}
.oasp .oasp-custom-order form>label,.oasp-custom-order form>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;min-width:0!important;width:100%!important;margin:0!important;font-size:13px!important;font-weight:700!important;color:#294c38!important}
.oasp .oasp-custom-order form>label:nth-of-type(3),.oasp-custom-order form>label:nth-of-type(3),.oasp .oasp-custom-order form>.oasp-finance-row,.oasp-custom-order form>.oasp-finance-row,.oasp .oasp-custom-order form>label:nth-of-type(4),.oasp-custom-order form>label:nth-of-type(4){grid-column:1/-1!important}
.oasp .oasp-custom-order form>.oasp-finance-row,.oasp-custom-order form>.oasp-finance-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
.oasp .oasp-custom-order form>.oasp-finance-row>label,.oasp-custom-order form>.oasp-finance-row>label{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important;font-size:13px!important;font-weight:700!important}
.oasp .oasp-custom-order form :is(input,select,textarea),.oasp-custom-order form :is(input,select,textarea){display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:13px 15px!important;min-height:49px!important;border:1px solid #d9e6dd!important;border-radius:11px!important;background:#fff!important;color:#193e2b!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important;box-shadow:none!important}
.oasp .oasp-custom-order form textarea,.oasp-custom-order form textarea{min-height:155px!important;resize:vertical!important}
.oasp .oasp-custom-order form :is(input,select,textarea):focus,.oasp-custom-order form :is(input,select,textarea):focus{outline:0!important;border-color:#108a60!important;box-shadow:0 0 0 3px rgba(16,138,96,.12)!important}
.oasp .oasp-custom-order form>button,.oasp-custom-order form>button{grid-column:1/-1!important;justify-self:start!important;width:auto!important;min-height:47px!important;padding:13px 24px!important;background:#108a60!important;border-radius:10px!important;color:white!important;font-weight:750!important}
.oasp .oasp-custom-order .oasp-finance-eyebrow,.oasp-custom-order .oasp-finance-eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#108a60}
.oasp .oasp-custom-order h3,.oasp-custom-order h3{font-size:clamp(23px,2.8vw,29px);font-weight:800;letter-spacing:-.035em;margin:9px 0}
.oasp .oasp-payment-center h3,.oasp-payment-center h3{font-size:clamp(22px,2.5vw,27px);font-weight:800;letter-spacing:-.035em}
.oasp .oasp-payment-center>p,.oasp-payment-center>p{margin-bottom:24px}
@media(max-width:680px){.oasp .oasp-custom-order form,.oasp-custom-order form,.oasp .oasp-custom-order form>.oasp-finance-row,.oasp-custom-order form>.oasp-finance-row{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.oasp .oasp-custom-order form>label,.oasp-custom-order form>label{grid-column:1/-1!important}}

/* v30 — payment and invoice visual refresh */
.oasp-payment-center{background:linear-gradient(145deg,#fff,#f9fcfa)!important;border:1px solid #dcece2!important;border-radius:24px!important;padding:clamp(22px,3vw,38px)!important}
.oasp-payment-center>.oasp-finance-eyebrow{display:inline-block;background:#e6f7ed;border-radius:99px;padding:7px 12px;margin-bottom:7px}
.oasp-payment-center>h3{font-size:clamp(25px,3vw,32px)!important;letter-spacing:-.04em;margin:10px 0!important}
.oasp-payment-center>.oasp-finance-card{box-shadow:none!important;background:#fff!important;border:1px solid #dbece1!important;margin:20px 0 0!important;padding:clamp(18px,2.5vw,27px)!important}
.oasp-payment-center .oasp-invoice-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap}
.oasp-payment-center .oasp-invoice-head h4{font-size:20px!important;font-weight:800!important;line-height:1.35!important;overflow-wrap:anywhere}
.oasp-payment-center .oasp-invoice-amount{font-size:30px!important;font-weight:800!important;letter-spacing:-.04em}
.oasp-payment-center .oasp-pay-details{border:1px solid #cfe9d9;border-radius:14px;padding:0!important;margin-top:22px;background:#f9fdfa;overflow:hidden}
.oasp-payment-center .oasp-pay-details>summary{display:flex!important;align-items:center;justify-content:space-between;padding:17px 20px!important;list-style:none;background:#eaf8f0;color:#087449!important;font-size:14px;font-weight:800;cursor:pointer}
.oasp-payment-center .oasp-pay-details>summary::-webkit-details-marker{display:none}
.oasp-payment-center .oasp-pay-details[open]>summary{border-bottom:1px solid #d9ecdf}
.oasp-payment-center .oasp-pay-details>.oasp-payment-methods,.oasp-payment-center .oasp-pay-details>p,.oasp-payment-center .oasp-pay-details>form{margin-left:20px!important;margin-right:20px!important}
.oasp-payment-center .oasp-payment-methods{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px}
.oasp-payment-center .oasp-payment-methods>div{background:#fff;padding:17px;border-radius:12px}
.oasp-payment-center .oasp-pay-details form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px!important;padding-bottom:22px;align-items:start}
.oasp-payment-center .oasp-pay-details form>label{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;margin:0!important}
.oasp-payment-center .oasp-pay-details form>label:first-of-type{grid-column:1/-1}
.oasp-payment-center .oasp-pay-details form :is(input,select){box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-height:48px!important;margin:0!important;border:1px solid #d2e5d9!important;border-radius:10px!important;padding:11px 13px!important;background:#fff!important}
.oasp-payment-center .oasp-pay-details form>button{grid-column:1/-1;justify-self:start;min-height:48px;padding:13px 22px!important;background:#108a60!important;color:#fff!important}
@media(max-width:650px){.oasp-payment-center .oasp-pay-details form{grid-template-columns:1fr!important}.oasp-payment-center .oasp-pay-details form>label:first-of-type{grid-column:1}.oasp-payment-center .oasp-pay-details>.oasp-payment-methods,.oasp-payment-center .oasp-pay-details>p,.oasp-payment-center .oasp-pay-details>form{margin-left:12px!important;margin-right:12px!important}}
/* v31 invoice balance + one-click payment panel */
.oasp-payment-center .oasp-invoice-figures{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:18px 0 20px!important}
.oasp-payment-center .oasp-invoice-figures>div{display:flex;flex-direction:column;gap:7px;padding:15px;background:#f4faf6;border:1px solid #e3efe7;border-radius:12px;min-width:0}
.oasp-payment-center .oasp-invoice-figures small{color:#698172;font-size:11px;font-weight:700}
.oasp-payment-center .oasp-invoice-figures strong{color:#184832;font-size:clamp(14px,2vw,20px);overflow-wrap:anywhere}
.oasp-payment-center .oasp-pay-details{border:1px solid #d8e9dd;border-radius:14px;margin-top:20px;overflow:hidden;background:#fff}
.oasp-payment-center .oasp-pay-details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;background:#108a60;color:#fff;cursor:pointer;padding:15px 20px;font-weight:750;font-size:14px}
.oasp-payment-center .oasp-pay-details summary::-webkit-details-marker{display:none}
.oasp-payment-center .oasp-pay-details summary:focus-visible{outline:3px solid #a5e3bf;outline-offset:-3px}
.oasp-payment-center .oasp-pay-inner{padding:22px}
.oasp-payment-center .oasp-finance-helper{color:#587465;line-height:1.7}
.oasp-payment-center .oasp-pay-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin:20px 0 0!important}
.oasp-payment-center .oasp-pay-form>label{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;width:100%!important;margin:0!important;color:#274c36;font-size:13px;font-weight:700}
.oasp-payment-center .oasp-pay-form :is(input,select){display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;min-height:48px!important;margin:0!important;padding:11px 13px!important;background:#fff!important;border:1px solid #d5e5da!important;border-radius:10px!important;font-size:14px!important;color:#1e402b!important;box-shadow:none!important}
.oasp-payment-center .oasp-pay-form>button{grid-column:1/-1!important;justify-self:start!important;background:#108a60!important;color:#fff!important;padding:13px 22px!important;border:0!important;border-radius:10px!important;cursor:pointer;font-weight:750!important}
.oasp-payment-center .oasp-invoice-status.status-partial{background:#e9f1ff;color:#2556a0}
@media(max-width:650px){.oasp-payment-center .oasp-invoice-figures,.oasp-payment-center .oasp-pay-form{grid-template-columns:minmax(0,1fr)!important}}

/* v32 premium client payment experience */
.oasp-payment-center .oasp-invoice{border:1px solid #e2ece5!important;border-radius:19px!important;padding:clamp(20px,3vw,30px)!important;box-shadow:0 10px 35px rgba(24,72,44,.055)!important}.oasp-payment-center .oasp-invoice-head{padding-bottom:18px;border-bottom:1px solid #ecf2ee}.oasp-payment-center .oasp-invoice-head h4{font-size:clamp(18px,2vw,23px)!important;margin:7px 0!important}.oasp-payment-center .oasp-invoice-status{font-size:12px!important;font-weight:800!important;border-radius:999px!important;padding:7px 12px!important}.oasp-payment-center .oasp-pay-details{margin-top:25px!important;border:1px solid #cde6d7!important;border-radius:14px!important;box-shadow:none!important}.oasp-payment-center .oasp-pay-details>summary{background:linear-gradient(100deg,#108a60,#08764e)!important;color:white!important;border:0!important;padding:17px 22px!important;font-size:15px!important}.oasp-payment-center .oasp-pay-inner{background:#fafffb!important;padding:clamp(16px,3vw,27px)!important}.oasp-payment-center .oasp-payment-methods{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:12px!important;margin:18px 0!important}.oasp-payment-center .oasp-payment-methods>.oasp-method-card{display:flex!important;flex-direction:column!important;gap:10px!important;padding:18px!important;background:#fff!important;border:1px solid #dcebe1!important;border-radius:13px!important;min-width:0!important;overflow-wrap:anywhere!important}.oasp-payment-center .oasp-method-card strong{color:#176744!important;font-size:14px!important}.oasp-payment-center .oasp-method-card span{font-size:14px!important;font-weight:700!important;letter-spacing:.01em}.oasp-payment-center .oasp-pay-form{padding:22px!important;background:#fff!important;border:1px solid #e1ebe5!important;border-radius:15px!important;gap:20px!important}.oasp-payment-center .oasp-pay-form>label{color:#284b36!important;font-weight:750!important;gap:9px!important}.oasp-payment-center .oasp-pay-form :is(input,select){border-radius:10px!important;border:1px solid #d7e5db!important;min-height:50px!important}.oasp-payment-center .oasp-pay-form :is(input,select):focus{outline:none!important;border-color:var(--finance-accent,#108a60)!important;box-shadow:0 0 0 3px rgba(16,138,96,.12)!important}.oasp-payment-center .oasp-pay-form>button{background:var(--finance-accent,#108a60)!important;border-radius:10px!important;min-height:48px!important;font-size:14px!important}.oasp-payment-center .oasp-pay-form>button:hover{filter:brightness(.92)}@media(max-width:650px){.oasp-payment-center .oasp-pay-form{padding:15px!important}}
/* v33 client finance overview: second row below order statistics */
.oasp-finance-overview{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:16px 0 22px}
.oasp-finance-stat{display:flex;flex-direction:column;gap:9px;min-width:0;background:linear-gradient(145deg,#fff,#f8fcf9);border:1px solid #e1ede5;border-radius:16px;padding:20px;box-shadow:0 8px 25px rgba(22,61,38,.04)}
.oasp-finance-stat span{font-size:12px;font-weight:750;color:#668273}.oasp-finance-stat strong{font-size:clamp(20px,2.3vw,29px);font-weight:850;letter-spacing:-.04em;color:#173c2b;overflow-wrap:anywhere}.oasp-finance-stat small{font-size:11px;color:#7b8e80}.oasp-finance-stat-due{background:#fffaf5;border-color:#f2e4d2}
.oasp-finance-attention{display:flex;align-items:center;gap:15px;padding:18px 21px;margin:12px 0 23px;border:1px solid #f1d9ad;border-radius:16px;background:#fffaf1;color:#624316}.oasp-finance-attention-icon{font-size:23px}.oasp-finance-attention>div:nth-child(2){flex:1;min-width:0}.oasp-finance-attention strong{font-size:14px}.oasp-finance-attention p{margin:4px 0 0!important;font-size:12px;color:#86673c}.oasp-finance-attention a{white-space:nowrap;padding:11px 15px;border-radius:9px;background:#fff;border:1px solid #e9d3ae;color:#72501b;font-weight:750;text-decoration:none}
.oasp-payment-center .oasp-pay-open{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;margin-top:15px;padding:13px 21px;border:0;border-radius:11px;background:var(--finance-accent,#108a60);color:#fff;font-weight:800;font-size:14px;cursor:pointer}.oasp-payment-center .oasp-pay-open:hover{filter:brightness(.9)}
/* Appended to document.body to escape narrow dashboard containers and stacking contexts */
body.oasp-modal-active{overflow:hidden!important}
.oasp-pay-modal[hidden]{display:none!important}.oasp-pay-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important;font-family:inherit}
.oasp-pay-backdrop{position:absolute;inset:0;background:rgba(9,29,19,.66);backdrop-filter:blur(5px)}
.oasp-pay-dialog{position:relative;z-index:1;width:min(680px,100%);max-height:min(92vh,900px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e2eee6;border-radius:22px;box-shadow:0 35px 90px rgba(0,0,0,.24);color:#193c2a}
.oasp-pay-modal-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:26px 29px 22px;border-bottom:1px solid #e7eee9;background:linear-gradient(115deg,#f3fbf5,#fff)}
.oasp-pay-modal-header span{font-size:10px;letter-spacing:.14em;font-weight:850;color:#128558}.oasp-pay-modal-header h3{font-size:24px!important;font-weight:850!important;line-height:1.2!important;margin:8px 0!important;color:#193c2a!important}.oasp-pay-modal-header p{margin:0!important;color:#617b6a;font-size:13px}
.oasp-pay-close{border:1px solid #e0ebe3;background:#fff;border-radius:10px;cursor:pointer;color:#365845;font-size:26px;line-height:1;width:40px;height:40px;flex-shrink:0}
.oasp-pay-modal .oasp-pay-inner{padding:26px 29px 30px}.oasp-pay-modal .oasp-finance-helper{margin:0 0 20px;color:#637c6a;font-size:13px;line-height:1.7}
.oasp-pay-modal .oasp-payment-methods{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:16px 0!important}
.oasp-pay-modal .oasp-method-card{display:flex;flex-direction:column;gap:9px;min-width:0;border:1px solid #dfece3;background:#fbfefc;padding:15px;border-radius:12px}
.oasp-pay-modal .oasp-method-card strong{font-size:14px;color:#125e40}.oasp-pay-modal .oasp-method-number{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0}.oasp-pay-modal .oasp-method-number span{font-size:13px;font-weight:700;overflow-wrap:anywhere}
.oasp-pay-modal .oasp-copy-number{border:1px solid #cce4d5;border-radius:8px;padding:7px 10px;background:#ecf8f0;color:#0e7549;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}
.oasp-pay-modal .oasp-payment-qr{max-width:135px;height:auto;border-radius:8px}
.oasp-pay-modal .oasp-pay-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:17px!important;margin:20px 0 0!important;padding:22px!important;border:1px solid #e1ebe4;border-radius:14px;background:#fff}
.oasp-pay-modal .oasp-pay-form>label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;min-width:0!important;width:100%!important;margin:0!important;font-size:13px!important;font-weight:750!important;color:#294c37!important}
.oasp-pay-modal .oasp-pay-form :is(input,select){box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:11px 13px!important;border:1px solid #d8e6dc!important;border-radius:10px!important;background:#fff!important;color:#163f2a!important;font-size:14px!important;box-shadow:none!important}
.oasp-pay-modal .oasp-pay-form :is(input,select):focus{outline:0!important;border-color:#108a60!important;box-shadow:0 0 0 3px #108a601f!important}
.oasp-pay-modal .oasp-pay-form>button{grid-column:1/-1!important;min-height:48px!important;padding:12px 18px!important;border:0!important;border-radius:10px!important;background:#108a60!important;color:#fff!important;font-weight:800!important;cursor:pointer}
.oasp-payment-floating{position:fixed!important;bottom:22px!important;right:22px!important;z-index:999990!important;max-width:min(330px,calc(100vw - 30px))!important;border-radius:16px!important;background:#fff!important;box-shadow:0 16px 45px rgba(16,44,25,.22)!important;border:1px solid #d9eadf!important;overflow:hidden!important}
.oasp-payment-floating a{display:flex!important;align-items:center!important;gap:10px!important;padding:16px 19px!important;color:#15482f!important;text-decoration:none!important}.oasp-payment-floating strong{font-size:13px!important}.oasp-payment-floating small{font-size:11px!important;color:#738779!important}
@media(max-width:720px){.oasp-finance-overview{grid-template-columns:1fr!important}.oasp-finance-attention{flex-wrap:wrap}.oasp-finance-attention a{width:100%;text-align:center}.oasp-pay-modal .oasp-payment-methods,.oasp-pay-modal .oasp-pay-form{grid-template-columns:1fr!important}.oasp-pay-modal-header,.oasp-pay-modal .oasp-pay-inner{padding:20px!important}.oasp-pay-modal .oasp-pay-form{padding:16px!important}.oasp-payment-floating{bottom:10px!important;right:10px!important}}

/* v37: Visual refresh only. Restores the v35 one-step payment interaction. */
.oasp-pay-modal .oasp-pay-dialog{width:min(690px,calc(100vw - 28px));border:1px solid #e3eee7;border-radius:26px;box-shadow:0 34px 110px rgba(10,42,27,.28);overflow-x:hidden;background:#fff}
.oasp-pay-modal .oasp-pay-modal-header{background:linear-gradient(135deg,#eaf9f0 0%,#f9fdfa 55%,#fff 100%);border-bottom:1px solid #e3eee7;padding:29px 32px 24px}
.oasp-pay-modal .oasp-pay-modal-header h3{font-size:clamp(22px,3vw,28px)!important;letter-spacing:-.04em!important;line-height:1.25!important}
.oasp-pay-modal .oasp-pay-modal-header span{display:inline-block;background:#e0f4e9;color:#0e7950;border-radius:999px;padding:6px 11px;letter-spacing:.1em}
.oasp-pay-modal .oasp-pay-inner{padding:26px 32px 32px!important}
.oasp-pay-modal .oasp-finance-helper{color:#5c7164!important;line-height:1.75!important}
.oasp-pay-modal .oasp-method-card{background:linear-gradient(180deg,#fff,#f8fcf9);border:1px solid #dceae1;border-radius:16px;padding:18px;gap:12px;box-shadow:0 5px 18px rgba(14,72,39,.035)}
.oasp-pay-modal .oasp-method-card strong{font-size:15px;color:#154b31}
.oasp-pay-modal .oasp-method-number{background:#f1f8f3;border:1px solid #e2eee6;border-radius:10px;padding:7px 8px 7px 12px;gap:8px}
.oasp-pay-modal .oasp-method-number span{font-size:14px;letter-spacing:.015em;color:#183c29}
.oasp-pay-modal .oasp-copy-number{background:#fff!important;color:#0b754a!important;border:1px solid #c8e3d2!important;border-radius:8px!important;padding:9px 12px!important;transition:background .15s,transform .15s}
.oasp-pay-modal .oasp-copy-number:hover{background:#e8f6ed!important;transform:translateY(-1px)}
.oasp-pay-modal .oasp-pay-form{background:#f9fcfa!important;border:1px solid #e1ede5!important;border-radius:18px!important;padding:24px!important;gap:20px!important}
.oasp-pay-modal .oasp-pay-form>label{font-size:13px!important;color:#244d36!important;gap:9px!important}
.oasp-pay-modal .oasp-pay-form :is(input,select){min-height:52px!important;background:#fff!important;border:1px solid #d4e4d9!important;border-radius:12px!important;padding:12px 15px!important;transition:border-color .15s,box-shadow .15s}
.oasp-pay-modal .oasp-pay-form>button{min-height:53px!important;border-radius:12px!important;background:linear-gradient(110deg,#108a60,#0a704c)!important;font-size:15px!important;box-shadow:0 8px 22px rgba(16,138,96,.17)!important;transition:filter .15s,transform .15s}
.oasp-pay-modal .oasp-pay-form>button:hover{filter:brightness(1.05);transform:translateY(-1px)}
.oasp-pay-modal .oasp-pay-close{border-radius:10px!important}
.oasp-pay-modal :is(button,input,select):focus-visible{outline:3px solid rgba(16,138,96,.28)!important;outline-offset:2px!important}
@media(max-width:720px){.oasp-pay-modal .oasp-pay-modal-header{padding:22px!important}.oasp-pay-modal .oasp-pay-inner{padding:18px!important}.oasp-pay-modal .oasp-pay-form{padding:18px!important}.oasp-pay-modal .oasp-method-card{padding:15px!important}}

/* v38: only the selected payment account is visible */
.oasp-pay-modal .oasp-method-card[hidden]{display:none!important}
.oasp-pay-modal .oasp-payment-methods{display:block!important}
.oasp-pay-modal .oasp-method-card:not([hidden]){width:100%;box-sizing:border-box}

/* v45 method-specific payment instructions and premium single-step layout */
.oasp-pay-modal .oasp-method-card[hidden],.oasp-pay-modal .oasp-method-instruction[hidden]{display:none!important}
.oasp-pay-modal .oasp-payment-methods{display:block!important;margin:12px 0 14px!important}
.oasp-pay-modal .oasp-method-card{padding:18px 20px!important;border-radius:16px!important;background:#f7fcf9!important;border:1px solid #d6e9dd!important;box-shadow:none!important}
.oasp-pay-modal .oasp-method-card>strong{font-size:16px!important;letter-spacing:-.015em}
.oasp-pay-modal .oasp-method-number{background:#fff!important;border:1px solid #e1ebe5!important;padding:11px 12px!important;border-radius:11px!important}
.oasp-pay-modal .oasp-method-number span{font-size:17px!important;font-weight:800!important;letter-spacing:.02em!important;color:#173b29!important}
.oasp-pay-modal .oasp-pay-instructions{background:#f5faf7!important;border:1px solid #e0eee5!important;border-radius:14px!important;padding:17px 19px!important;margin:16px 0 19px!important}
.oasp-pay-modal .oasp-instruction-label{display:block;font-size:11px!important;font-weight:800!important;letter-spacing:.07em!important;text-transform:uppercase;color:#108a60!important;margin-bottom:8px!important}
.oasp-pay-modal .oasp-method-instruction p{margin:0!important;font-size:13px!important;line-height:1.8!important;color:#385a44!important;white-space:pre-line!important;overflow-wrap:break-word!important}
.oasp-pay-modal .oasp-pay-form{margin-top:12px!important;background:#fbfdfb!important;gap:17px!important}
.oasp-pay-modal .oasp-pay-form label{font-size:12px!important;letter-spacing:.005em!important}
.oasp-pay-modal .oasp-pay-form input:focus,.oasp-pay-modal .oasp-pay-form select:focus{box-shadow:0 0 0 3px #108a601a!important}
.oasp-payment-studio .oasp-ps-field textarea{resize:vertical}
@media(max-width:650px){.oasp-pay-modal .oasp-pay-instructions{padding:14px!important}.oasp-pay-modal .oasp-method-card{padding:15px!important}}

/* v46 invoice collections: distinct outstanding invoices and permanent paid history */
.oasp-payment-center .oasp-invoice-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 30px}
.oasp-payment-center .oasp-invoice-summary-strip>div{padding:20px;border:1px solid #dcebe2;border-radius:16px;background:#f8fbf9;display:flex;flex-direction:column;gap:6px}
.oasp-payment-center .oasp-invoice-summary-strip strong{font-size:27px;color:#106e4d;line-height:1.2}
.oasp-payment-center .oasp-invoice-summary-strip span{font-size:12px;color:#5c7164}
.oasp-payment-center .oasp-invoice-collections{display:grid;gap:34px;margin-top:20px}
.oasp-payment-center .oasp-invoice-collection{min-width:0;display:grid;gap:16px}
.oasp-payment-center .oasp-invoice-collection-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e0ebe4;padding:0 0 17px}
.oasp-payment-center .oasp-invoice-collection-heading h4{font-size:23px;margin:6px 0;color:#183e2b}
.oasp-payment-center .oasp-invoice-collection-heading p{margin:0;font-size:13px;color:#6b7c70}
.oasp-payment-center .oasp-invoice-count{background:#e7f4ec;color:#087a4f;border-radius:30px;padding:8px 15px;font-weight:800}
.oasp-payment-center .oasp-invoice-collection>.oasp-invoice{margin:0!important;width:100%;box-sizing:border-box}
.oasp-payment-center .oasp-invoice-empty{border:1px dashed #c8ddd0;border-radius:16px;padding:24px;color:#637668;background:#fafdfa}
.oasp-payment-center .oasp-invoice-ledger{margin-top:20px;border-top:1px solid #e2ede5;padding-top:16px}
.oasp-payment-center .oasp-invoice-ledger summary{cursor:pointer;font-weight:750;color:#155e42;display:flex;justify-content:space-between;gap:12px}
.oasp-payment-center .oasp-invoice-ledger summary span{font-size:12px;font-weight:500;color:#6c7e72}
.oasp-payment-center .oasp-invoice-ledger-list{margin-top:13px;display:grid;gap:8px}
.oasp-payment-center .oasp-invoice-ledger-row{padding:12px 14px;border:1px solid #e3ece5;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.oasp-payment-center .oasp-invoice-ledger-row>div{display:grid;gap:5px}
.oasp-payment-center .oasp-invoice-ledger-row small{color:#6b7e70}
.oasp-payment-center .oasp-invoice-ledger-status{font-size:12px;border-radius:20px;padding:6px 10px;background:#fff5e3;color:#946018;font-weight:750}
.oasp-payment-center .oasp-invoice-ledger-status.is-approved{background:#e4f7eb;color:#087c4b}
.oasp-payment-center .oasp-invoice-ledger-status.is-rejected{background:#fce9e9;color:#b03d3d}
@media(max-width:620px){.oasp-payment-center .oasp-invoice-summary-strip{grid-template-columns:1fr 1fr}.oasp-payment-center .oasp-invoice-summary-strip>div{padding:14px}.oasp-payment-center .oasp-invoice-collection-heading h4{font-size:19px}}

/* v47 compact payment history: open completed invoices in an accessible dialog */
.oasp-payment-center .oasp-history-launch{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #dbeae0;background:linear-gradient(115deg,#f3fbf6,#fff);border-radius:18px;padding:20px 24px;margin-top:22px}
.oasp-payment-center .oasp-history-launch>div{display:grid;gap:6px;min-width:0}
.oasp-payment-center .oasp-history-launch strong{font-size:20px;color:#164a31}
.oasp-payment-center .oasp-history-launch p{margin:0;color:#687b6d;font-size:13px;line-height:1.5}
.oasp-payment-center .oasp-history-open{border:0;border-radius:11px;background:#108a60;color:#fff;padding:14px 18px;font-weight:750;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
.oasp-payment-center .oasp-history-open:hover{background:#096f4c}
.oasp-payment-center .oasp-history-pill{border-radius:100px;background:#ffffff30;padding:3px 9px;font-size:12px}
.oasp-history-modal .oasp-history-dialog{width:min(860px,calc(100vw - 30px))!important;max-width:860px!important;max-height:min(88vh,900px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.oasp-history-modal .oasp-history-content{padding:22px;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:16px;min-height:0}
.oasp-history-modal .oasp-history-content>.oasp-invoice{margin:0!important;width:100%!important;max-width:none!important;box-sizing:border-box}
.oasp-history-modal .oasp-invoice-figures{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:620px){.oasp-payment-center .oasp-history-launch{flex-direction:column;align-items:stretch;padding:18px}.oasp-payment-center .oasp-history-open{justify-content:center}.oasp-history-modal .oasp-history-content{padding:14px}.oasp-history-modal .oasp-invoice-figures{grid-template-columns:1fr}}
