/* Color-only companion to the owner's final main-page artwork. */
:root {
  --ink: #423c46;
  --muted: #79727b;
  --paper: #fbf7f2;
  --paper-deep: #f3ece7;
  --plum: #80648f;
  --plum-dark: #594465;
  --lavender: #d1bcdf;
  --lavender-soft: #f7f0fb;
  --lilac-action: #d7c4e4;
  --lilac-selected: #e8dbee;
  --gold: #a3768d;
  --line: #e7dce3;
  --green: #547565;
  --red: #a45d72;
  --shadow: 0 10px 28px rgba(99,75,104,.07);
  --rose-soft: #f8e8ed;
  --rose-line: #dfbac8;
  --rose-ink: #8d4e69;
  --blue-soft: #edf4fa;
  --blue-selected: #dbeaf6;
  --blue-line: #b9cfe0;
  --blue-ink: #46657e;
}
body { background: #f4edf3; }
.topbar { background: rgba(251,247,242,.96); border-color: var(--line); }
.brand b, .hero h1 em { color: #a66d86; }
.panel, .request-card, .bank-box, .confirmation-detail, .planner-calendar-wrap,
.planner-day, .insights-chart-card, .marketing-message { background: #fffbf7; border-color: var(--line); }
.summary-card { background: rgba(251,247,242,.97); border-color: var(--lavender); box-shadow: var(--shadow); }
.summary-service strong s { color: var(--muted); }
#summaryCouponRow dd { color: var(--plum-dark); }
.hero::before { color: rgba(183,131,154,.14); }
.hero-note, .notification-setup, .admin-price-settings, .admin-coupon-settings,
.admin-notice-settings, .calendar-setup, .calendar-setup.connected { border-color: var(--line); }
input, select, textarea { background: #fffcf9; border-color: #dccedb; color: var(--ink); caret-color: var(--plum-dark); }
:is(#customerName, #customerContact, #birthInfo, #customerQuestion, #asyncName, #asyncContact, #asyncBirthInfo, #asyncQuestion, #voiceName, #voiceContact, #voiceBirthInfo, #voiceQuestion) { background: #fcf8ff; border-color: #d5c4e0; }
input::placeholder, textarea::placeholder,
:is(#customerName, #customerContact, #birthInfo, #customerQuestion, #asyncName, #asyncContact, #asyncBirthInfo, #asyncQuestion, #voiceName, #voiceContact, #voiceBirthInfo, #voiceQuestion)::placeholder { color: #918794; }
input:focus, select:focus, textarea:focus,
:is(#customerName, #customerContact, #birthInfo, #customerQuestion, #asyncName, #asyncContact, #asyncBirthInfo, #asyncQuestion, #voiceName, #voiceContact, #voiceBirthInfo, #voiceQuestion):focus { border-color: #a58ab7; box-shadow: 0 0 0 3px rgba(165,138,183,.12); }
:is(#bookingForm, #asyncForm, #voiceBookingForm) .field-row > label,
:is(#bookingForm, #asyncForm, #voiceBookingForm) .field-label-line,
:is(#bookingForm, #asyncForm, #voiceBookingForm) .question-field-title,
:is(#bookingForm, #asyncForm, #voiceBookingForm) .check-label { color: var(--plum-dark); }
.ghost-button, .receipt-download-button, .topic-button, .slot-button { background: #fffcf9; border-color: var(--line); }
.primary-button, .cancel-entry-button, .first-consultation-offer a { background: var(--lilac-action); color: var(--plum-dark); box-shadow: none; }
.primary-button:hover, .cancel-entry-button:hover, .first-consultation-offer a:hover { background: #cbb5da; }
.top-actions .active, .top-actions .active:hover,
.service-card.selected, .topic-button.selected, .date-card.selected,
.slot-button.selected, .async-package-button.selected, .admin-type-tabs button.selected,
.day-checks input:checked + span { background: var(--lilac-selected); border-color: #ae94bd; color: var(--plum-dark); }
.service-card { background: #fcf7fb; }
#bookingView .service-card { background: #fcf2f5; border-color: #ead3dc; }
#bookingView .service-card.selected { background: #f2dce5; border-color: #bd8da3; color: var(--rose-ink); }
#bookingView .service-card.selected small, #bookingView .service-card.selected > p { color: var(--rose-ink); }
#bookingView .hero h1 em { color: var(--rose-ink); }
.async-product-card, .async-package-wrap, .async-booking-setting,
.async-availability:not(.closed) { background: var(--blue-soft); border-color: var(--blue-line); }
.async-product-card, .async-product-card > b, .async-product-card small,
.async-availability strong { color: var(--blue-ink); }
.async-package-button { background: #fafdff; border-color: var(--blue-line); }
.async-package-button.selected { background: var(--blue-selected); border-color: #93b2c9; color: var(--blue-ink); }
.async-package-button.selected span, .async-package-button.selected b,
.async-package-button.selected small, .async-package-button.selected i { color: var(--blue-ink); }
.voice-booking-setting { background: #f3eaf9; border-color: var(--lavender); }
.live-booking-setting { background: var(--rose-soft); border-color: var(--rose-line); }
.question-ideas, .reading-method, .privacy-reassurance, .topic-wrap,
.kakao-required-banner, .confirmation-lead.required, .lookup-credentials,
.cancel-entry, .notification-setup, .admin-coupon-settings, .admin-notice-settings { background: var(--lavender-soft); border-color: var(--line); }
.submit-essentials, .overtime-notice, .coupon-wrap, .coupon-wrap.applied,
.kakao-required-guide { background: #f8f3f7; border-color: var(--line); box-shadow: none; }
.kakao-required-guide p { color: var(--muted); }
.site-notice { color: #c6283c; background: #f9edf2; border-color: var(--rose-line); }
.site-notice b { color: #c6283c; background: #efdae4; }
.site-notice p { color: #c6283c; }
.service-card .badge { background: #ecdfea; color: var(--plum-dark); }
.coupon-heading > span, .request-coupon { background: #f0e4f6; color: var(--plum-dark); }
.coupon-channel-button { background: #fffbf7; border-color: var(--lavender); color: var(--plum-dark); }
.brand-promise { background: #f7f0f8; color: var(--plum-dark); border: 1px solid var(--line); }
.brand-promise > span, .brand-promise strong { color: var(--plum-dark); }
.brand-promise p { color: var(--muted); }
.manage-view { background: #f2eaf2; }
.stats-grid button, .insights-summary > div { background: #f4edf8; border-color: #dfcee8; color: var(--plum-dark); }
.stats-grid button:hover { background: #eaddf1; }
.stats-grid span { color: #7b6787; }
.planner-weekdays, .planner-day.other-month { background: #f8f3f6; }
.planner-day.closed-day { background: #eff2ee; }
.planner-day.today { background: #f1e7f7; }
.planner-agenda { background: #eee2f5; color: var(--plum-dark); border: 1px solid var(--lavender); }
.planner-agenda-title, .planner-agenda-item { border-color: #dacbe3; }
.planner-agenda-title span, .planner-agenda-item time,
.planner-agenda-item small, .planner-agenda-empty { color: #7a6d83; }
.planner-agenda-item { color: var(--plum-dark); }
.planner-day-add { background: #fffbf7; color: var(--plum-dark); }
/* Retain consultation-type distinctions and operational status semantics. */
.planner-legend .booking, .planner-chip.booking { background: #9277a4; }
.planner-legend .voice, .planner-chip.voice { background: #ac5b73; }
.planner-legend .async { background: #55adc4; }
.planner-chip.async { background: #b5e2ec; color: #285767; }
.planner-chip.personal { background: #7295b2; }
.planner-chip.content { background: #af788f; }
.planner-chip.break { background: #738a7b; }
.calendar-setup, .calendar-setup.connected { background: #edf3f8; }
.calendar-setup.connected .calendar-setup-heading i { background: #dfede3; color: #426651; }
.calendar-sync-status { background: #edf4ee; color: #426651; }
.calendar-sync-status.error, .voice-booking-closed, .booking-closed-notice,
.async-availability.closed { background: #f9edf0; border-color: #e4c8d2; color: #944f65; }
.voice-booking-closed p, .booking-closed-notice p { color: #98697b; }
.status-chip.pending, .status-chip.awaiting_payment, .status-chip.preparing,
.calendar-setup-heading i, .async-due { background: #faf0d9; color: #80632c; }
.status-chip.confirmed { background: #e3eee5; color: #41674c; }
.status-chip.cancelled { background: #f4e1e7; color: #945b6e; }
.status-chip.completed { background: #eee3f4; color: var(--plum-dark); }
.status-chip.rejected, .status-chip.expired { background: #eee9ec; color: #766d77; }
.insights-bar { background: #cbb5dc; }
.insights-bar.peak { background: #8d6da1; }
.marketing-panel > summary, .marketing-message.user { background: #eee3f5; }
.marketing-chat-log { background: #faf6fb; }
.marketing-prompts button { background: #fffbf7; }
.countdown-box { background: #fcf4e0; border-color: #e9d7aa; color: #80632c; }
/* Quiet neutral guidance and Kakao's signature inquiry yellow stay distinct. */
.top-actions .kakao-inquiry-button { background: #fee500; border-color: #fee500; color: #191919; }
.top-actions .kakao-inquiry-button:hover { background: #f5dc00; border-color: #f5dc00; color: #191919; }

/* Compact customer coupon panel, with quiet low-chroma cream surfaces. */
.coupon-wrap, .coupon-wrap.applied { padding: 12px 14px; background: #faf7f1; border-color: #e5ded3; }
.coupon-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 10px; align-items: center; }
.coupon-heading > span { grid-column: 1; justify-self: start; padding: 0; border-radius: 0; background: transparent; color: #847b70; font-size: 11px; font-weight: 650; }
.coupon-heading > div { grid-column: 1; min-width: 0; }
.coupon-heading strong { color: #65566b; font-size: 14px; line-height: 1.4; }
.coupon-heading small { color: #827b73; font-size: 12px; line-height: 1.45; }
.coupon-channel-button { grid-column: 2; grid-row: 1 / 3; margin: 0; padding: 8px 10px; background: #fffcf7; border-color: #ded5c7; color: #6b6054; font-size: 12px; white-space: normal; text-align: center; box-shadow: none; }
.coupon-channel-button:hover { background: #f2ece2; box-shadow: none; transform: none; }
.coupon-entry { grid-template-columns: minmax(0,1fr) auto; gap: 7px; margin-top: 10px; }
.coupon-entry input { min-width: 0; padding: 10px 11px; min-height: 44px; background: #fffcf8; border-color: #ded5c7; font-size: 16px; }
.coupon-entry .ghost-button { width: auto; min-height: 44px; padding: 8px 12px; background: #f2ece2; border-color: #ded5c7; color: #655b50; font-size: 13px; }
.coupon-entry .text-button { grid-column: 1 / -1; width: auto; justify-self: end; }
.coupon-message:empty { display: none; }
.coupon-message { margin-top: 6px; }
.coupon-caution { margin-top: 7px; color: #847b73; font-size: 11px; line-height: 1.45; }
.coupon-wrap.error { border-color: #cf97a9; }
@media (max-width: 430px) {
  .coupon-heading { grid-template-columns: minmax(0,1fr) 88px; }
  .coupon-channel-button { padding: 7px; }
}

/* Readable counseling prices on both chat and voice selection cards. */
.service-card small { font-size: 20px; line-height: 1.4; font-weight: 700; }
.service-card small s { display: block; font-size: 13px; font-weight: 400; color: var(--muted); }
.service-card small b { display: block; font-size: 20px; color: inherit; }
.summary-service strong { font-size: 24px; line-height: 1.4; }

.async-package-button span { font-size: 20px; font-weight: 700; line-height: 1.4; }
