.appointments{max-width:960px;margin:20px auto;padding:24px;background:#fff;border:1px solid #e9eae4;border-radius:22px;color:#22251e}.appointments h2,.appointments h3,.appointments p{margin:0}.appointments h2{font-size:24px;font-weight:600}.appointments h3{font-size:18px;font-weight:550}.appointment-actions,.appointment-card,.appointment-form footer,.appointments-date,.appointments-heading,.appointments-toolbar{display:flex;align-items:center;gap:12px}.appointments-heading,.appointments-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:20px}.appointments button{min-height:44px;cursor:pointer}.appointments button:disabled{opacity:.45;cursor:default}.appointments button:focus-visible,.appointments input:focus-visible,.appointments textarea:focus-visible{outline:2px solid #858d68;outline-offset:3px}.appointments-toolbar{margin-top:22px}.appointment-actions button,.appointments-date button,.appointments-reminders>button{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;border-radius:12px;padding:8px 12px;color:inherit}.appointments-date{gap:2px;background:#f7f8f3;border-radius:14px}.appointments-tabs{display:flex;background:#f4f5ef;border-radius:14px;padding:4px;gap:4px;margin-bottom:20px}.appointments-tabs button{flex:1;border:0;border-radius:11px;background:transparent;color:#494f3c;font:inherit;padding:10px}.appointments-tabs button[aria-pressed=true]{background:#111;color:#fff}.appointments-list{display:grid;gap:12px;margin-top:16px}.appointment-card{justify-content:space-between;padding:18px;background:#f1f3e8;border-radius:16px}.appointment-info{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}.appointment-info p,.appointment-note{font-size:15px;line-height:1.5;white-space:pre-wrap}.appointment-card small,.appointments-muted{color:#747967;font-size:14px;line-height:1.5}.appointment-actions{flex-shrink:0;gap:2px}.appointment-actions .appointment-check{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;border:1px solid #7c8465;background:transparent}.appointment-check[aria-pressed=true]{background:#545e43;color:white}.appointments-empty{padding:32px 0;color:#747967}.appointment-form{border:1px solid #e9eae4;border-radius:18px;padding:20px;margin-top:20px;display:grid;gap:18px}.appointment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.appointment-form label{display:grid;gap:8px;font-size:14px;min-width:0}.appointment-form input:not([type=checkbox]),.appointment-form textarea{font:inherit;font-size:16px;background:#f8f9f5;color:#333a28;border:1px solid #e9eae4;border-radius:10px;min-height:46px;padding:10px 12px;width:100%;min-width:0;box-sizing:border-box}.appointment-form fieldset{border:0;padding:0;margin:0}.appointment-form legend{font-size:14px;margin-bottom:10px}.appointment-week{display:flex;gap:6px}.appointment-week button{flex:1;padding:6px;border:0;border-radius:10px;background:#f5f6f2;color:#596049}.appointment-week button[aria-pressed=true]{background:#e6ead7;color:#343d26}.appointments .appointments-toggle{display:flex;align-items:center;gap:10px;font-size:14px}.appointments-toggle input{width:20px;height:20px;accent-color:#111;flex-shrink:0}.appointments-reminders{display:grid;gap:14px;margin-top:24px;border-top:1px solid #e9eae4;padding-top:16px}.appointments-reminders>button{justify-content:flex-start}.appointments-reminders small{color:#747967;line-height:1.5}.appointments [role=alert]{color:#9a3329;font-size:14px;margin:12px 0}.appointments>p[role=status]{margin-top:14px}@media (max-width:600px){.appointments{padding:16px;border-radius:18px;margin:12px 0}.appointments h2{font-size:22px}.appointments-heading{gap:14px}.appointment-form{padding:14px}.appointment-fields{gap:12px}.appointment-card{padding:14px}.appointment-actions{flex-direction:column}.appointment-form footer{flex-wrap:wrap}}@media (prefers-reduced-motion:no-preference){.appointments button{transition:background-color .18s,color .18s,transform .18s}.appointments button:active:not(:disabled){transform:scale(.97)}}.nutrition-page .appointments button[data-variant=default]{background:#111!important;color:#fff!important;border:0}.nutrition-page .appointments button[data-variant=default]:hover{background:#292929!important}.appointment-details{display:grid;gap:10px;margin:0}.appointment-details div{display:grid;gap:2px}.appointment-details dt{font-size:13px;color:#747967}.appointment-details dd{margin:0;font-size:15px;line-height:1.5;white-space:pre-wrap}