/* Personal appointment: visible above the home offers, optional until saved. */
.moment-appointment-card{margin:18px 0 0;padding:18px 20px;border:1px solid var(--mm-line);border-radius:18px;background:var(--mm-paper);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}
.moment-appointment-card[hidden]{display:none!important}
.moment-appointment-card-heading{display:flex;align-items:flex-start;gap:12px;min-width:0}
.moment-appointment-card-heading>div{min-width:0}
.moment-appointment-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:11px;background:#f1e7d7;color:#8b632e}
.moment-appointment-icon svg{width:22px;height:22px}
.moment-app .moment-appointment-card h2{margin:0 0 4px;font:600 14px/1.4 var(--mm-sans);color:var(--mm-muted)}
.moment-app .moment-appointment-card p{margin:0;font-size:16px;line-height:1.5;overflow-wrap:break-word}
.moment-app #moment-appointment-card-time{font-weight:600;white-space:nowrap}
.moment-appointment-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}
.moment-appointment-links button{min-height:44px;text-align:left}
.moment-practice-card-with-appointment{flex-wrap:wrap}
.moment-app .moment-appointment-entry{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:12px;flex:0 0 auto;width:100%;min-height:60px;margin:0;padding:0 0 16px;border:0;border-bottom:1px solid var(--mm-line);border-radius:0;background:transparent;color:var(--mm-ink);text-align:left;line-height:1.4}
.moment-appointment-entry-copy{min-width:0}
.moment-appointment-entry-copy strong{display:block;font-size:15px;font-weight:600}
.moment-appointment-entry-copy>span{display:block;margin-top:3px;font-size:14px;color:var(--mm-muted)}
.moment-appointment-entry>svg{color:var(--mm-accent)}
.moment-appointment-dialog>.moment-dialog-header h2{font-size:28px;line-height:1.2}
/* This heading receives programmatic focus for screen readers. Controls retain their focus outlines. */
.moment-appointment-dialog #moment-appointment-title:focus{outline:none}
.moment-app .moment-appointment-date{margin:18px 0 20px;line-height:1.4}
.moment-appointment-date>span{display:block;font-size:18px;font-weight:500}
.moment-appointment-date>strong{display:block;margin-top:4px;font-size:28px;font-weight:600;white-space:nowrap}
.moment-appointment-primary-actions{display:grid;grid-template-columns:1fr;gap:10px}
.moment-appointment-primary-actions>.moment-button{width:100%;min-height:48px}
.moment-appointment-secondary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;margin:8px 0 12px}
.moment-appointment-secondary-actions>button{min-height:44px}
.moment-appointment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:16px 0}
.moment-appointment-dialog input{min-width:0;width:100%;box-sizing:border-box;font:inherit}
.moment-appointment-dialog .moment-reminder-fields{margin-top:16px}
.moment-appointment-dialog [role=status]:empty{display:none}
.moment-app #moment-appointment-status:not(:empty){margin-top:10px}
.moment-appointment-reminder-row{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-top:12px}
.moment-appointment-reminder-row[hidden]{display:none}
.moment-app .moment-appointment-reminder-row #moment-appointment-reminder-note{flex:1 1 210px;min-width:0;margin:0;line-height:1.5}
.moment-appointment-reminder-row>button{flex:0 1 auto;min-height:44px;padding:8px 0;text-align:left}
.moment-appointment-info{margin-top:12px;border-top:1px solid var(--mm-line)}
.moment-appointment-info summary{min-height:44px;padding:12px 0;box-sizing:border-box;font-size:14px;line-height:20px;color:var(--mm-muted);cursor:pointer}
.moment-app .moment-appointment-info p{margin:4px 0 10px}
@media(max-width:420px){.moment-appointment-dialog .moment-reminder-fields{grid-template-columns:1fr}.moment-appointment-card{padding:16px}.moment-appointment-links{width:100%}.moment-appointment-dialog>.moment-dialog-header h2{font-size:25px}}
/* One visible choice, with the time options disclosed on demand. */
.moment-appointment-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}
.moment-appointment-toggle{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;font-size:14px;line-height:1.4;cursor:pointer}
.moment-appointment-dialog .moment-appointment-toggle input{width:21px;height:21px;flex:none;margin:0;accent-color:var(--mm-accent)}
.moment-appointment-choice>button{min-height:44px;flex:none}
#moment-appointment-lead-options label{display:block;font-size:14px;margin:8px 0}
#moment-appointment-lead-options select{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px 10px;border:1px solid var(--mm-line);border-radius:10px;background:var(--mm-surface);color:var(--mm-ink);font:inherit}
.moment-app #moment-appointment-choice-note:not(:empty){margin-top:4px}
#moment-appointment-retry{min-height:44px}
.moment-app #moment-appointment-card-status{margin-top:5px;font-size:13px!important;line-height:1.45;color:var(--mm-muted)}
.moment-appointment-card.is-past{padding:12px 16px;gap:4px 20px}
.moment-app .moment-appointment-card.is-past #moment-appointment-card-date{font-size:14px;color:var(--mm-muted)}
.moment-appointment-card.is-past .moment-appointment-icon{width:30px;height:30px}
.moment-appointment-card.is-past .moment-appointment-icon svg{width:19px;height:19px}
.moment-appointment-help{margin-top:12px;padding:12px 14px;border:1px solid var(--mm-line);border-radius:12px;background:var(--mm-surface)}
.moment-appointment-help>button{min-height:44px}

/* Compact home summary; reminder details are in the appointment dialog. */
.moment-app .moment-appointment-card{padding:10px 14px;gap:0 16px;align-items:center}
.moment-appointment-card-heading{align-items:center;gap:10px}
.moment-appointment-card .moment-appointment-icon{width:30px;height:30px;border-radius:9px}
.moment-appointment-card .moment-appointment-icon svg{width:19px;height:19px}
.moment-app .moment-appointment-card h2{margin:0 0 2px;font-size:13px}
.moment-appointment-card-when{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}
.moment-app .moment-appointment-card-when p{font-size:15px;line-height:1.4}
.moment-app #moment-appointment-card-time::before{content:"·";margin-right:8px;color:var(--mm-muted);font-weight:400}
.moment-appointment-card .moment-appointment-links{width:100%;gap:0 20px}
.moment-appointment-card .moment-appointment-links button{min-height:44px;padding:8px 0;font-size:14px;line-height:1.4}
.moment-app #moment-appointment-card-status[hidden],.moment-app #moment-appointment-card-time[hidden]{display:none!important}
