/* Portal e área reservada: identidade existente, controlos tácteis e navegação única. */
.mp-selection-review{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;margin-bottom:20px}
.mp-selection-review[hidden]{display:none!important}
.mp-selection-review h2{font-size:1.3rem;margin:8px 0}
.mp-selection-review>strong{display:block;font-size:1.5rem;color:var(--primary);margin-top:12px}
.mp-review-actions{display:flex;gap:12px;margin-top:18px}
.mp-review-actions button{min-height:48px}
.mp-scheduler-details>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;cursor:pointer;list-style:none;color:var(--primary);font-weight:700;font-size:.9rem;padding:8px 4px}
.mp-scheduler-details>summary::-webkit-details-marker{display:none}
.mp-scheduler-details[open]>summary{display:none}
.mp-lesson-states{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.mp-lesson-state,.mp-agenda-item .mp-lesson-state{font-size:.7rem;font-weight:700;border-radius:8px;padding:5px 8px;background:#ecfdf5;color:#166534}
.mp-lesson-state.is-pending,.mp-agenda-item .mp-lesson-state.is-pending{background:#fff7ed;color:#92400e}
.mp-lesson-details{margin-top:12px;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted)}
.mp-lesson-details>summary{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:44px;cursor:pointer;list-style:none;color:var(--primary);font-weight:700}
.mp-lesson-details p{margin:8px 0;line-height:1.55}
.mp-checkout-heading{margin-bottom:22px}
.mp-checkout-heading h1{font-size:1.6rem;letter-spacing:-.03em;margin:6px 0}
.mp-checkout-heading>p:last-child{font-size:.9rem;color:var(--text-muted)}
.mp-checkout-breakdown{margin:18px 0;padding:16px;border-radius:14px;background:var(--bg-input);font-size:.85rem}
.mp-checkout-breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.mp-checkout-breakdown dt{color:var(--text-muted)}
.mp-checkout-breakdown dd{margin:0;text-align:right;font-weight:700}
.checkout-page-container #checkout-wallet-charge{padding:12px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-color)}
@media(max-width:560px){
 .mp-lesson-state{font-size:.8125rem}
 .academy-public-page .academy-public-search,.academy-public-page .academy-public-date-filter{box-sizing:border-box;min-width:0;font-size:16px;height:48px}
 .academy-public-page .academy-public-search-wrapper{min-width:0}
 .academy-public-page .academy-public-button{min-height:48px!important;font-size:.85rem!important}
 .mp-selection-review{padding:18px}
 .mp-review-actions{flex-direction:column}
 .mp-checkout-breakdown{font-size:.8rem;padding:12px}
}
.mp-compact-search .dispo-header-section{margin-bottom:24px}
.mp-search-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:20px}
.mp-search-panel fieldset{display:grid;grid-template-columns:1.2fr 1.2fr 1fr 1fr auto;gap:12px;align-items:end;margin:0;padding:0;border:0;min-width:0}
.mp-search-panel label{font-size:.85rem;font-weight:700;display:flex;flex-direction:column;gap:8px;min-width:0}
.mp-search-panel select,.mp-search-panel input{width:100%;box-sizing:border-box;min-width:0;height:50px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;padding:10px;color:var(--text-main);font:inherit;font-size:16px}
.mp-search-panel button{min-height:50px;display:flex;gap:8px;align-items:center;justify-content:center;border-radius:12px}
.mp-search-feedback{color:var(--text-muted);font-size:.8rem;margin:14px 0 0}
.mp-compact-search [hidden]{display:none!important}
.mp-compact-search .results-wrapper{margin-top:24px}
.mp-compact-search .results-summary-header{padding:0;gap:12px;background:none;border:0;box-shadow:none;margin-bottom:16px}
.mp-compact-search .available-courts-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))!important;gap:14px!important}
.mp-compact-search .results-list-grid{gap:20px}
.mp-compact-search .club-group-name{flex-wrap:wrap;font-size:1.1rem!important}
.mp-compact-search .club-group-card{padding:20px}
.mp-client-navigation.mp-portal-navigation{display:none}
body:has(.booking-floating-bar-pill.active) .mp-portal-navigation{display:none!important}
.mp-home-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mp-visible-uid{display:inline-flex;align-items:center;gap:7px;color:var(--primary);background:var(--bg-card);border:1px solid var(--border-color);padding:6px 10px;border-radius:10px;font-size:.85rem;font-weight:750;margin-top:10px;min-height:36px}
.mp-qr-shortcut{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:14px;color:var(--primary);background:var(--bg-card);border:1px solid var(--border-color)}
.mp-preferred-club{margin-top:22px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:22px;padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.035)}
.mp-club-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mp-preferred-club h2{margin:6px 0;font-size:1.35rem;letter-spacing:-.025em;overflow-wrap:anywhere}
.mp-club-condition{background:color-mix(in srgb,var(--primary) 8%,var(--bg-card));color:var(--primary);border-radius:9px;padding:6px 9px;font-size:.75rem;font-weight:750;white-space:nowrap}
.mp-club-location{color:var(--text-muted);font-size:.85rem;overflow-wrap:anywhere}
.mp-club-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.mp-club-quick-actions a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:50px;padding:10px 8px;font-size:.9rem;border-radius:14px}
.mp-change-club{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.8rem;min-height:44px;margin-top:6px}
.mp-secondary-access{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.mp-secondary-access a{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-card);color:var(--text-muted);padding:12px;font-size:.85rem;min-height:44px}
body:has(.mp-front-home) .main-content{max-width:1100px;margin:auto;width:100%;padding:110px 24px 40px}
.mp-front-home .mp-customer-home{min-width:0}
.mp-front-home *, .mp-front-home *::before{box-sizing:border-box}
.mp-portal-navigation a:focus-visible,.mp-visible-uid:focus-visible,.mp-preferred-club a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(max-width:768px){
 .mp-search-panel{padding:16px}
 .mp-search-panel fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mp-search-panel button{grid-column:1/-1}
 .mp-compact-search .club-group-card{padding:14px}
 .mp-compact-search .results-summary-header{flex-direction:column;align-items:flex-start}
 body:has(.mp-portal-navigation) .main-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}
 .mp-client-navigation.mp-portal-navigation{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:0;background:var(--bg-card);border-top:1px solid var(--border-color);padding:8px max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-sizing:border-box}
 .mp-portal-navigation a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:56px;padding:7px 2px;font-size:.7rem;font-weight:700;border-radius:12px;color:var(--text-muted)}
 .mp-portal-navigation a.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg-card))}
 body:has(.mp-front-home) .main-content{padding:calc(90px + env(safe-area-inset-top)) 16px calc(110px + env(safe-area-inset-bottom))}
 body:has(.mp-portal-navigation) .main-navbar{padding-top:env(safe-area-inset-top);height:calc(72px + env(safe-area-inset-top))}
 .mp-preferred-club{padding:18px;border-radius:20px}
 .mp-club-heading{flex-direction:column;gap:6px}
 .mp-club-quick-actions{gap:8px}
 .mp-club-quick-actions a{font-size:.8rem;flex-direction:column;gap:5px;min-height:65px}
 .mp-front-home .mp-home-grid{margin-top:16px!important}
 .mp-front-home .mp-home-heading h1{font-size:1.7rem}
 body:has(.mp-app-shell[data-app-tab="inicio"]) .main-content{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 body.mp-keyboard-open .mp-portal-navigation{display:none}
 .mp-secondary-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .mp-secondary-access a{text-align:center}
}
