.payment-choice{border:1px solid #dce4ed;border-radius:12px;padding:16px;margin:16px 0}.price-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.payment-total{padding:16px;background:#f3f7fd;border-radius:12px;margin:12px 0}.payment-total div{display:flex;justify-content:space-between;margin:6px 0}.report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.report-tabs a{padding:10px 14px;border-radius:8px;background:#eef2f7}.report-tabs a.selected{background:#2461e8;color:white}#payment-error{color:#b42318}.range-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.range-form label{display:grid;gap:4px}
#quick-payment{font-size:13px;line-height:1.5;min-width:0}#quick-payment .toolbar label:not(:has(input[type=checkbox])){display:grid;gap:5px;flex:1}#quick-payment input[type=number],.range-form input,.range-form select{border:1px solid #d4dfed;background:#fff;border-radius:8px;padding:10px 12px;font:inherit;min-width:0;max-width:100%}.payment-choice legend{font-weight:700;padding:0 6px}.payment-choice .price-pick{flex:1;min-width:70px}.payment-choice{margin:20px 0}.report-register{padding:20px;margin:20px 0}.report-register .table-wrap{margin:20px -20px}.report-register .data-table small{display:block;color:#74839b}.report-register>.scope-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.range-form.card{padding:16px}.payment-edit-card{padding:24px;max-width:720px}.payment-edit-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-card span{white-space:normal}.main-content{min-width:0}
@media(max-width:650px){.page-head .toolbar{flex-wrap:wrap}.page-head>div{min-width:0}.detail-grid,.client-payments-layout{grid-template-columns:minmax(0,1fr)}.detail-list dd{overflow-wrap:anywhere}.payment-edit-card{padding:16px}.report-register{padding:14px}.report-register .table-wrap{margin:14px -14px}.report-tabs a{font-size:12px;padding:9px}.scope-strip>div{min-width:0;gap:8px}.scope-strip span{white-space:normal}.payment-choice .toolbar{gap:12px}}
@media(max-width:650px){.mobile-bar{margin:0 0 15px;padding:12px 0}}
.price-pick[aria-pressed=true]{border-color:#2461e8;background:#eaf1ff;color:#1749c6}
/* v5.3: comfortable card spacing and compact, accessible dialogs. */
.main-content .card{padding:22px;min-width:0}
.main-content .card h2,.main-content .card h3{margin-top:0}
.tr-plan-card footer{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:14px}
.tr-plan-card footer>.btn.primary{width:100%}
.service-card{margin:18px 0}
.service-rate{display:flex;gap:16px;flex-wrap:wrap;align-items:end;padding:14px 0;border-bottom:1px solid #e2e8f0}
.service-rate label{flex:1 1 160px;min-width:0}
.service-rate .inline-check{display:flex;gap:8px;align-items:center;flex:0 1 auto}
.service-card label,.client-picker label{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}
.service-rate .inline-check input{width:auto}
.wiin-dialog{border:1px solid #dbe3ef;border-radius:18px;padding:24px;width:min(520px,calc(100vw - 32px));max-height:85dvh;overflow:auto;color:#16243b;box-sizing:border-box}
.wiin-dialog::backdrop{background:rgb(15 23 42 / .5)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.dialog-head h2{margin:0;font-size:22px}
.dialog-head button{background:transparent;border:0;font-size:28px;cursor:pointer;min-width:44px;min-height:44px}
.wiin-dialog form+form{margin-top:12px}.wiin-dialog .btn{width:100%;margin-bottom:12px}
.wiin-dialog input,.wiin-dialog select{width:100%;min-width:0;box-sizing:border-box}
.wiin-dialog p{line-height:1.6}.btn.danger{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca}
.client-picker{max-width:100%;min-width:0}.picker-status{font-size:13px;color:#64748b}
.pay-justified{color:#7c3aed}.report-tabs a{white-space:nowrap}
@media(max-width:650px){.main-content .card{padding:18px}.service-rate{display:grid;grid-template-columns:minmax(0,1fr)}.service-rate label{width:100%}.tr-filter{display:flex;flex-wrap:wrap}.tr-filter>input[type=search],.tr-filter>input[name=q]{width:100%;min-width:0}.tr-plan-grid{grid-template-columns:minmax(0,1fr)}.report-tabs{max-width:100%;overflow-x:auto}.selected-payment-record{flex-wrap:wrap;gap:10px}}
.wiin-dialog input:not([type=hidden]),.wiin-dialog select,.service-card input:not([type=checkbox]):not([type=hidden]),.service-card select{min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#17243b;font:inherit;width:100%;box-sizing:border-box}
.wiin-dialog input:focus,.service-card input:focus,.service-card select:focus{outline:2px solid #2563eb;outline-offset:1px}
#exercise-search{min-height:42px;border:1px solid #cbd5e1;border-radius:9px;padding:8px 12px;margin:10px 0;width:min(420px,100%);box-sizing:border-box}
#exercise-list details{margin-bottom:10px}
.tr-plan-card{overflow:hidden}
.family-discount-box{padding:16px;border:1px solid #dbe3ef;border-radius:12px;max-width:100%;margin-bottom:16px}.family-discount-box .client-picker label{display:flex;flex-direction:column;gap:8px}.family-discount-box p{line-height:1.6;font-size:13px}
.service-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.service-heading h2{margin:0!important}.service-card>.add-rate{margin-top:16px}
#services-form{padding-bottom:110px}.services-savebar{position:fixed;bottom:0;left:218px;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border-top:1px solid #dbe3ef;box-shadow:0 -4px 20px #0f172a0d;padding:16px 28px max(16px,env(safe-area-inset-bottom));}.services-savebar button{flex-shrink:0}.services-savebar button:disabled{opacity:.5;cursor:default}#new-service-form>label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
@media(max-width:800px){.services-savebar{left:0;padding:12px 16px max(12px,env(safe-area-inset-bottom))}}
@media(max-width:600px){.services-savebar{flex-direction:column;align-items:stretch;gap:8px}.services-savebar span{font-size:13px}.service-heading .btn{width:100%}#services-form{padding-bottom:150px}}
.family-discount-box>.simple-check{margin-bottom:16px!important}
.service-rate .inline-check{flex-direction:row;justify-content:flex-start;align-items:center}
.service-rate .inline-check input{width:auto!important;margin:0}
@media print{.services-savebar{display:none}#services-form{padding-bottom:0}}
/* v5.3.2: customer workspace */
[hidden]{display:none!important}
.client-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0;position:sticky;top:0;z-index:15;background:#f6f8fb;padding:10px;border-bottom:1px solid #dce4ee}
.client-tabs button,.client-tabs a{padding:12px 16px;border:0;border-radius:8px;background:transparent;color:#425775;font:inherit;cursor:pointer;text-decoration:none}
.client-tabs .selected{background:#2563eb;color:white}
.persistent-save{position:fixed!important;bottom:0;left:218px;right:0;z-index:30;background:white;border-top:1px solid #dce4ee;padding:12px 24px!important;box-shadow:0 -4px 18px #14243a12;display:flex;align-items:center;gap:12px;margin:0!important}
.save-status{flex:1;font-size:13px;color:#425775;overflow-wrap:anywhere}
.editor-card{margin-bottom:120px}.editor-grid>*{min-width:0}
.membership-off .modality-chip span,.membership-off .modality-chip input:checked+span{background:#eef0f3!important;color:#747b85!important;border-color:#d5d9e0!important;box-shadow:none!important}
.membership-off .modality-picker:before{content:'Modalidades inativas · guardadas no histórico';display:block;width:100%;font-size:12px;color:#697586;margin-bottom:6px}
.membership-off select[name=gym_program]{background:#eef0f3;color:#747b85}
.family-combobox{position:relative;width:100%}.family-combobox [role=listbox]{max-height:260px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;background:white;margin-top:4px}
.family-combobox [role=option]{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf0f4;background:white;padding:12px;font:inherit;color:#14243a;cursor:pointer;overflow-wrap:anywhere}
.family-combobox [role=option]:hover,.family-combobox .focused{background:#eff6ff!important}
@media(max-width:800px){.persistent-save{left:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;flex-wrap:wrap}.persistent-save .save-status{flex-basis:100%}.persistent-save .btn{flex:1;text-align:center}.client-tabs button,.client-tabs a{padding:10px;font-size:14px}.editor-card{margin-bottom:165px}.editor-grid.three{grid-template-columns:1fr!important}.editor-grid .span-2,.editor-grid .span-3{grid-column:auto!important}.association-editor-grid{grid-template-columns:1fr!important}}

.main-content:has(.persistent-save){padding-bottom:150px!important}
#quick-payment{padding-bottom:90px}.payment-save #payment-error{flex:1;margin:0}.persistent-save.tr-savebar{border-radius:0}.persistent-save #save-hint{flex:1}
.exercise-library-form:focus-within>button{position:fixed;bottom:16px;right:24px;z-index:30;box-shadow:0 3px 16px #14243a33}
.exercise-library-form{padding-bottom:25px}
.absence-badge{padding:6px 8px;background:#fff0ce;color:#79540b;border-radius:6px;font-size:12px;margin:4px 0}
.save-toast{position:fixed;z-index:100;right:24px;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:10px;background:#166534;color:white;box-shadow:0 4px 22px #14243a30;pointer-events:none}
@media(max-width:800px){.save-toast{left:16px;right:16px;text-align:center}}
.team-invite{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;box-sizing:border-box;margin:12px 0}
.price-buttons .price-pick{height:auto!important;min-height:44px;white-space:normal;line-height:1.35;overflow:visible;padding:10px!important}
@media(max-width:600px){.price-buttons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.price-buttons .price-pick{width:100%!important}}

/* Manual invoice review, with controls that wrap on a phone. */
.manual-billing {padding:20px; margin:18px 0; border:1px solid var(--border,#dbe4ee); border-radius:14px; background:var(--surface,#fff);}
.billing-actions {display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;}
.billing-actions label {display:grid;gap:6px;min-width:0;}
.billing-actions .btn {height:auto;min-height:44px;white-space:normal;}
@media(max-width:600px){.manual-billing{padding:14px}.billing-actions>*{width:100%}.manual-billing .toolbar .btn{width:100%;white-space:normal;}}

.billing-actions input[type=date] {box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #dbe4ee;border-radius:9px;background:#fff;font:inherit;font-size:16px;color:inherit;}
