.auth-page-body{background:var(--background)}.account-page,.portal-page{padding-top:clamp(44px,7vw,84px);padding-bottom:90px}.account-card{width:min(100%,560px);margin:0 auto;padding:clamp(26px,5vw,48px);border:1px solid var(--border);border-radius:28px;background:var(--surface);box-shadow:0 24px 70px rgba(15,23,42,.09)}.account-card h1,.portal-heading h1{margin:12px 0 10px;font-size:clamp(2.1rem,6vw,3.8rem)}.account-card>p,.portal-heading p{margin:0 0 24px;color:var(--text-muted);line-height:1.7}.account-form{display:grid;gap:16px}.account-form label{display:grid;color:var(--text);font-size:.82rem;font-weight:800;gap:7px}.account-form input{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;color:var(--text);background:var(--background);font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.account-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.account-form small{color:var(--text-muted);font-weight:500;line-height:1.5}.account-form .button{width:100%;margin-top:4px}.account-alert{margin:0 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:13px}.account-alert.error{border-color:#fda4af;color:#9f1239;background:#fff1f2}[data-theme=dark] .account-alert.error{color:#fecdd3;background:#3a131d}.account-switch{margin:20px 0 0!important;text-align:center}.account-switch a{color:var(--primary);font-weight:800}.account-success-icon{display:grid;width:64px;height:64px;margin:24px 0 6px;border-radius:50%;color:#fff;background:var(--secondary);place-items:center;font-size:1.45rem}.portal-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:20px}.portal-heading h1{margin-bottom:4px}.portal-heading p{margin:0}.portal-panel{padding:clamp(22px,4vw,36px);border:1px solid var(--border);border-radius:26px;background:var(--surface)}.portal-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:18px}.portal-panel-heading h2{margin:8px 0 0;font-size:clamp(1.45rem,3vw,2rem)}.portal-bookings{display:grid;gap:10px}.portal-booking{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--background);gap:14px}.portal-date{display:grid;width:58px;height:58px;border-radius:13px;color:var(--primary);background:var(--surface-soft);text-align:center;place-content:center}.portal-date strong{font-size:1.3rem}.portal-date small{font-size:.7rem;font-weight:800}.portal-booking h3{margin:0 0 5px;font-size:1rem}.portal-booking p{margin:0;color:var(--text-muted);font-size:.8rem}.portal-status{padding:7px 9px;border-radius:9px;color:#166534;background:#dcfce7;font-size:.7rem;font-weight:800}.portal-status.cancelled,.portal-status.no_show{color:#9f1239;background:#ffe4e6}.portal-status.completed{color:#1e40af;background:#dbeafe}.portal-empty{display:grid;padding:42px 20px;color:var(--text-muted);text-align:center;place-items:center}.portal-empty i{color:var(--primary);font-size:2rem}.portal-empty h3{margin:14px 0 4px;color:var(--text)}.portal-empty p{margin:0}.auth-page-body .site-footer{margin-top:0}@media(max-width:680px){.account-page,.portal-page{padding-top:30px;padding-bottom:120px}.account-card{padding:24px 18px;border-radius:21px}.portal-heading,.portal-panel-heading{align-items:stretch;flex-direction:column}.portal-heading .button,.portal-panel-heading .button{width:100%}.portal-panel{padding:18px 14px;border-radius:20px}.portal-booking{grid-template-columns:auto 1fr}.portal-status{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.account-form input{transition:none}}
