.credit-balance-card{background:#173f3c;color:#fff;border-radius:20px;padding:1.6rem;margin:1.5rem 0}.credit-balance-number{font-size:3.5rem;font-weight:700;line-height:1.2;margin:.4rem 0}.credit-packages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.credit-package{border:1px solid #c8d8d4;border-radius:16px;padding:1.2rem;background:#fff}.credit-package h3{margin:0 0 .8rem}.credit-package strong{display:block;font-size:1.5rem;margin-bottom:1rem}.credit-statement-wrap{overflow-x:auto}.credit-statement{width:100%;border-collapse:collapse;min-width:650px}.credit-statement th,.credit-statement td{text-align:left;padding:.8rem;border-bottom:1px solid #d6e2df}.credit-dialog{max-width:620px;width:calc(100% - 2rem);border:0;border-radius:18px;padding:1.6rem;max-height:90vh;overflow:auto}.credit-dialog::backdrop{background:#102c2b99}.credit-dialog label{display:block;margin:.8rem 0}.credit-dialog input,.credit-dialog select{width:100%}.credit-dialog input[type=checkbox]{width:auto}.credit-code{font-size:1.5rem;overflow-wrap:anywhere;letter-spacing:.12em;padding:1rem;background:#edf4f1;border-radius:10px}.credit-payment-options{padding:1.2rem;border:1px solid #c8d8d4;border-radius:14px;margin:1rem 0}.credit-payment-options label{display:flex;align-items:center;gap:.6rem;margin:.8rem 0}.credit-payment-options input{width:auto}.credit-payment-options legend{font-weight:700}.credit-disclosure{font-size:.9rem;line-height:1.6}.credit-error{color:#9c2727}.credit-balance-card .button.secondary{background:#fff;color:#173f3c}.credit-location-balances{padding-left:1.2rem}@media(max-width:800px){.credit-packages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.credit-packages{grid-template-columns:1fr}.credit-dialog{padding:1rem}.credit-balance-number{font-size:2.8rem}}
.credit-dialog,.credit-dialog *{box-sizing:border-box}.credit-dialog{max-height:calc(100dvh - 2rem);color:#173f3c}.credit-dialog .button,[data-portal-view=credits] .button,[data-portal-view=credits] select{min-height:44px}.credit-dialog input:not([type=checkbox]),.credit-dialog select{min-height:44px;font-size:1rem}.credit-dialog input[type=checkbox],[data-portal-view=credits] input[type=checkbox]{min-width:20px;min-height:20px;vertical-align:middle;margin-right:.45rem}.credit-dialog label:has(input[type=checkbox]),[data-portal-view=credits] label:has(input[type=checkbox]){min-height:44px;padding:.5rem 0}.credit-dialog :focus-visible,[data-portal-view=credits] :focus-visible{outline:3px solid #b27e35;outline-offset:3px}.credit-dialog .credit-error{padding:.8rem;border:1px solid #d9a7a7;background:#fff4f2;border-radius:10px}.credit-dialog .credit-error:empty{display:none}[data-portal-view=credits]>.action-row{flex-wrap:wrap}[data-portal-view=credits] .credit-package{overflow-wrap:anywhere;margin-bottom:1rem}.credit-statement td{overflow-wrap:anywhere}.credit-code{user-select:text}.credit-statement-wrap[aria-busy=true]{opacity:.65}
@media(max-width:600px){.credit-statement{min-width:0}.credit-statement thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.credit-statement tbody,.credit-statement tr,.credit-statement td{display:block}.credit-statement tr{border:1px solid #c8d8d4;border-radius:12px;padding:.6rem;margin-bottom:.8rem}.credit-statement td{border:0;padding:.25rem;display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.5rem}.credit-statement td::before{content:attr(data-label);font-weight:600}.credit-statement td[colspan]{display:block}.credit-statement td[colspan]::before{content:none}.credit-dialog .button{width:100%;margin-top:.5rem}}
.appointment-recovery-note{font-size:.94rem;line-height:1.6;max-width:54ch;padding:.65rem .85rem;border-left:3px solid #9d773b;background:#f8f3e8;color:#173f3c;border-radius:0 8px 8px 0}.credit-dialog{overflow-wrap:anywhere}
[data-portal-view=credits]{overflow-wrap:anywhere}.credit-dialog .button,[data-portal-view=credits] .button{white-space:normal}@media(max-width:460px){[data-portal-view=credits] .credit-balance-number{font-size:clamp(1.5rem,12vw,2.8rem)}}
[data-portal-view=credits] .credit-balance-card h2,[data-portal-view=credits] .credit-balance-card .credit-balance-number{color:#fff}
.care-plan-option{display:flex;flex-direction:column;gap:.35rem;cursor:pointer;position:relative;min-width:0}
.care-plan-option input[type=radio]{width:22px;height:22px;margin:0 0 .5rem;accent-color:#173f3c}
.care-plan-option.selected{border:2px solid #173f3c;box-shadow:0 0 0 2px #dbe8e3;padding:calc(1.2rem - 1px)}
.care-plan-name{font-weight:700;font-size:1.15rem}.care-plan-option p{margin:.25rem 0;line-height:1.5}.care-plan-option strong{margin-top:auto;margin-bottom:0}.care-plan-option del{color:#596963;font-size:.95rem}
.care-plan-purchase{padding:clamp(1rem,3vw,1.6rem);border:1px solid #c8d8d4;border-radius:16px;margin:1.5rem 0;max-width:48rem;box-sizing:border-box}
.care-plan-purchase>strong{display:block;font-size:1.35rem;margin:1rem 0}.care-plan-purchase>.button{margin:.5rem 0 1.25rem}.care-plan-purchase iframe{max-width:100%;margin-top:1rem}
.care-plan-gift-promotion{padding:1.5rem;background:#eef4f0;border-radius:16px;margin:2rem 0}.care-plan-gift-promotion h2{margin-top:0}
#credit-clinic-help{margin:1rem 0 1.4rem;max-width:65ch;line-height:1.6}
.care-plan-terms-content{line-height:1.65}.care-plan-terms-content h3{margin-top:1.4rem}.care-plan-total del{font-weight:400;color:#596963;margin-right:.5rem}

.credit-pagination{margin-block:1.5rem 2rem;gap:.75rem}.care-plan-total{display:block;font-size:1.15rem;margin:1rem 0}.care-plan-purchase>.button.primary{background:#104b3f;color:#fff}

.gift-action-row {display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.gift-action-row button{margin:0;min-height:44px}.care-plan-success{color:#173e35}.gift-history td{overflow-wrap:anywhere}.appointment-credit-option{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.appointment-credit-option label{flex:0 1 auto;max-width:100%;min-width:0}.buy-more-credits{font-size:.85rem!important;padding:4px 10px!important;min-height:36px!important;flex:0 0 auto}

[data-portal-view="appointments"]{scroll-margin-top:100px}

.credit-dialog .gift-action-row .button{width:auto;max-width:100%;flex:0 1 auto;margin:0;padding-inline:12px!important}

.care-plan-receipt{background:#edf5ee;border:1px solid #8da99a;border-radius:18px;padding:clamp(1.2rem,3vw,2rem);margin:1.25rem 0;max-width:44rem}.care-plan-receipt .button{margin-top:1rem}.care-plan-card-setup{margin-top:1rem;padding:1rem;border:1px solid #d4ddd4;border-radius:12px}
