/* Warm ivory and sand echo the botanical photo; olive remains the main accent. */
:root {
  --paper: #f4ecdf;
  --cream: #e8ddcc;
  --line: #d6c7b1;
  --muted: #52604f;
  --warm-surface: #fbf6ec;
  --warm-sand: #d4c3ad;
  --warm-panel: #e5d6bf;
}

.prototype-bar { background: #e7dcc9; }
.hero-art { background: var(--warm-sand); }
.art-note { background: #eee1cc; border-color: var(--line); }
.button.light { background: var(--warm-surface); }
.button.outline { background: #fbf6ec66; }
.button.outline:hover { background: var(--cream); }

.care-card,
.spotlight-card,
.team-person,
.today-person,
.today-empty { background: var(--warm-surface); }
.care-card:nth-child(2),
.care-card:nth-child(6) { background: var(--cream); }
.care-card:hover,
.care-card:nth-child(2):hover,
.care-card:nth-child(6):hover { background: var(--warm-panel); }
.spotlight-season,
.person-start { background: #fbf1dfee; }

.today-section { background: var(--warm-panel); border-color: var(--line); }
.today-date-box { border-color: var(--line); }
.today-person,
.today-empty { border-color: var(--line); }
.today-person:hover { background: #f5ead8; }

.choice-preview { background: var(--warm-surface); }
.choice-preview > button { background: #f2e7d6; border-color: var(--line); }
.choice-preview > button:hover { background: var(--cream); }
.team-section,
.team-help-section,
.rates-help { background: var(--cream); }
.contact-card { background: var(--warm-panel); }

.profile-portrait-frame,
.person-photo { background: var(--cream); }
.profile-discipline,
.person-role,
.person-days,
.spotlight-category { color: var(--muted); }

.rates-side-note,
.rates-note,
.rates-other { background: var(--cream); }
.rates-side-note { color: var(--muted); }
.rates-table thead { background: var(--warm-panel); }
.rates-table tbody { background: var(--warm-surface); }
.rates-price,
.rates-price:nth-child(2) { background: var(--warm-surface); border-color: var(--line); }

.leave-calendar-box { background: var(--warm-surface); border-color: var(--line); }
.leave-calendar-toolbar { background: var(--cream); border-color: var(--line); }
.leave-view,
.leave-filters select { background: var(--warm-surface); border-color: var(--line); }
.leave-option,
.leave-option:nth-child(2) { background: var(--cream); border-color: var(--line); }
.leave-event:not(.is-special) { background: var(--warm-surface); }

.wizard-dialog,
.info-dialog { background: var(--warm-surface); }
.wizard-option:not(.danger-option):not(.warning-option) { background: var(--paper); }
.wizard-option:not(.danger-option):not(.warning-option):hover { background: var(--cream); }
.reg-field input,
.reg-field select { background: var(--warm-surface); }

/* Full care descriptions remain readable inside the existing information dialog. */
.care-detail { font-size: 14px; line-height: 1.8; }
.care-detail li { margin-bottom: 5px; }
.care-detail strong { color: var(--ink); font-weight: 600; }

.care-fever-warning { font-size: 14px; line-height: 1.8; }
.care-fever-warning p { margin: 7px 0 0; }

/* Email remains usable when a browser cannot open its mail application. */
.email-fallback { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 18px; color: var(--muted); font-size: 12px; }
.email-fallback p { margin: 0 0 12px; }
.email-fallback label { display: block; font-size: 11px; }
.email-fallback input { display: block; width: 100%; min-width: 0; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--ink); font: inherit; font-size: 13px; }
.email-fallback .button { margin-top: 12px; font-size: 12px; padding: 12px 16px; }
.email-fallback .email-copy-status { min-height: 1.7em; margin: 10px 0 0; }

.phone-fallback { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 16px; color: var(--muted); font-size: 12px; }
.phone-fallback p { margin: 0 0 10px; }
.phone-fallback label { display: block; font-size: 11px; }
.phone-fallback input { display: block; width: 100%; min-width: 0; margin-top: 7px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); color: var(--ink); font: inherit; font-size: 14px; }
.phone-fallback .text-link { margin-top: 8px; min-height: 40px; }
.phone-fallback .phone-copy-status { margin: 7px 0 0; }
.phone-fallback .phone-copy-status:empty { display: none; }
