.consent-check{display:flex!important;align-items:flex-start;gap:10px;margin-top:5px;font-size:.82rem;line-height:1.45;color:#49655f}.consent-check input{width:17px!important;height:17px;min-width:17px;margin:2px 0 0}.consent-check a{color:#176257;font-weight:700;text-underline-offset:3px}.footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.footer-links a{color:inherit;font-weight:700;text-underline-offset:4px}

/* Campos compactos: largura segue o conteúdo e a leitura permanece confortável. */
.form-intro{color:var(--muted);font-size:.88rem;line-height:1.5;margin:-.1rem 0 1rem;max-width:58ch}.booking-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem}.booking-data-grid label{margin:0!important;min-width:0}.booking-data-grid .field-span-2{grid-column:1/-1}.booking-data-grid .field-cep{max-width:180px}.booking-data-grid .field-state{max-width:96px}.booking-data-grid .field-help{align-self:end;color:var(--muted);font-size:.74rem;line-height:1.35;margin:0 0 .15rem}.patient-access-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;margin-top:.1rem}.patient-access-actions .text-link{font-size:.82rem}.recovery-channel{border:0;margin:0;padding:0}.recovery-channel legend{font-size:.84rem;font-weight:700;margin-bottom:.35rem}.patient-login .choice{padding:.72rem .8rem}.patient-login .form-actions{margin-top:.15rem}.patient-login .form-actions .button{min-width:0}.patient-dialog input{max-width:100%}@media(max-width:560px){.booking-data-grid{grid-template-columns:1fr;gap:.75rem}.booking-data-grid .field-span-2{grid-column:auto}.booking-data-grid .field-cep,.booking-data-grid .field-state{max-width:none}.booking-data-grid .field-help{margin-top:-.35rem}.patient-access-actions{align-items:flex-start;flex-direction:column;gap:.45rem}.patient-login .form-actions{align-items:stretch;flex-direction:column}.patient-login .form-actions .button{width:100%}}

.patient-tool-action{background:#fff;border:1px solid #d5e3de;border-radius:14px;color:var(--ink);cursor:pointer;display:grid;font:inherit;gap:5px;padding:16px;text-align:left;transition:border-color .18s ease,transform .18s ease}.patient-tool-action:disabled{cursor:not-allowed;opacity:.55}.patient-tool-action:not(:disabled):hover{border-color:var(--pink);transform:translateY(-2px)}.patient-tool-action span{color:var(--muted);font-size:.78rem}.patient-tool-action strong{font-size:.94rem}.patient-reschedule-dialog{background:#fff;border:0;border-radius:20px;box-shadow:0 28px 70px rgba(10,48,42,.28);color:var(--ink);padding:0;width:min(620px,calc(100vw - 28px));max-height:calc(100dvh - 30px);overflow:auto}.patient-reschedule-dialog::backdrop{background:rgba(7,40,35,.58);backdrop-filter:blur(3px)}.patient-reschedule-dialog .dialog-header,.patient-reschedule-dialog>.reschedule-policy,.patient-reschedule-dialog>.reschedule-date-list,.patient-reschedule-dialog>.reschedule-slot-list,.patient-reschedule-dialog>.reschedule-reason,.patient-reschedule-dialog>.form-message,.patient-reschedule-dialog>.form-actions{margin-left:clamp(18px,4vw,28px);margin-right:clamp(18px,4vw,28px)}.reschedule-policy{color:var(--muted);font-size:.88rem;line-height:1.5;margin-top:0}.reschedule-date-list,.reschedule-slot-list{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.reschedule-date,.reschedule-slot{background:#f8fbfa;border:1px solid #cfe0da;border-radius:11px;color:var(--ink);cursor:pointer;font:700 .82rem/1.2 'DM Sans',sans-serif;min-height:52px;padding:8px}.reschedule-date small{display:block;color:var(--muted);font-size:.68rem;font-weight:500;margin-top:4px}.reschedule-date[aria-pressed="true"],.reschedule-slot[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}.reschedule-date[aria-pressed="true"] small{color:#d8eee8}.reschedule-reason{display:grid;font-size:.82rem;font-weight:700;gap:6px;margin-top:16px}.reschedule-reason span{color:var(--muted);font-weight:400}.reschedule-reason textarea{border:1px solid #cfe0da;border-radius:10px;font:inherit;min-height:62px;padding:9px;resize:vertical}.patient-reschedule-dialog .form-actions{margin-top:14px;margin-bottom:22px}@media(max-width:520px){.reschedule-date-list,.reschedule-slot-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reschedule-date,.reschedule-slot{font-size:.76rem;min-height:48px}}
