/* /manage 전용 연핑크 테마. 고객 페이지의 화이트·아이보리 바탕과 옅은 블러시를 따르고 상태 의미색은 유지한다. */
html:root {
  --ink: #333333;
  --wine: #d98a92;
  --cream: #f8f5f1;
  --paper: #ffffff;
  --line: #e5ddd8;
  --muted: #746b67;
  --pink: #f7eeee;
  --accent: #d98a92;
  --accent-strong: #cf7d86;
  --accent-text: #e2939a;
  --accent-soft: #fbf1f1;
  --accent-line: #ead7d9;
  --beige: #f6f2ee;
  --venue-ink: #333333;
  --venue-paper: #fffdfb;
  --venue-line: #e5ddd8;
}

body {
  background: linear-gradient(145deg, #ffffff 0, #fbf9f7 52%, #f8f4f1 100%);
}

/* 로그인에서도 큰 면적은 고객 페이지처럼 밝게 두고 로즈는 글자와 행동에만 쓴다. */
.login-visual {
  background: linear-gradient(145deg, #fffdfb 0%, #fbf3f2 58%, #f6e8e7 100%);
  color: var(--ink);
}
.login-visual::before,
.login-visual::after { border-color: #d98a9240; }
.login-mark small { color: var(--accent-text); }
.login-panel { background: #ffffff; }
.login-card input { border-bottom-color: #b9aaa5; }
.login-card input:focus { border-bottom-color: var(--wine); box-shadow: 0 2px 0 var(--wine); }
.login-card button,
.save-button {
  background: var(--wine);
  color: #fff;
}
.login-card button:hover,
.save-button:hover { background: var(--accent-strong); }

.admin-header {
  background: #ffffffeb;
  border-bottom-color: var(--line);
  box-shadow: 0 8px 28px #46373208;
}
.side-nav { background: #f8f5f1; }
.side-nav a.active {
  background: #ffffff;
  border-left-color: var(--wine);
  color: var(--ink);
}
.side-nav a:hover { background: #fcf9f7; color: var(--ink); }
.admin-content { background: transparent; }

.panel,
.admin-workspace-tabs,
.schedule-board,
.reservation-month-manager,
.schedule-board-upcoming,
.upcoming-reception-panel,
.reception-team-panel,
.sheet-sync-panel,
.qr-event-form,
.qr-event-card,
.venue-admin-panel,
.venue-admin-card,
.home-content-section,
.gallery-post-form,
.gallery-post-card,
.snap-day-plan,
.snap-upcoming {
  border-color: var(--line);
  background-color: var(--paper);
  box-shadow: 0 12px 34px #46373208;
}

/* 넓은 요약 카드도 진한 로즈 면 대신 옅은 블러시를 사용한다. */
.metric-grid .dark {
  border-color: var(--accent-line);
  background: var(--accent-soft);
  color: var(--ink);
}
.metric-grid .dark span,
.metric-grid .dark small { color: var(--muted); }

.admin-workspace-tabs button { color: var(--muted); }
.admin-workspace-tabs button[aria-selected="true"] {
  background: #fff;
  color: var(--ink);
  box-shadow: inset 0 -3px var(--wine);
}
.admin-workspace-tabs button:hover { background: #fcf8f7; color: var(--ink); }

.panel-label,
.eyebrow,
.prototype-badge { color: var(--wine); }

/* 주요 행동은 접근 가능한 로즈로, 삭제·오류·성공 상태의 고유색은 덮지 않는다. */
.schedule-primary-action,
.new-member-button,
.qr-save-draft,
#sheet-sync-preview,
#sheet-sync-activate:not(:disabled),
#venue-quick-add button,
#gallery-post-submit,
#baby-gallery-post-submit {
  border-color: var(--wine);
  background: var(--wine);
  color: #fff;
}
.schedule-primary-action:hover,
.new-member-button:hover,
.qr-save-draft:hover,
#sheet-sync-preview:hover,
#sheet-sync-activate:not(:disabled):hover,
#venue-quick-add button:hover,
#gallery-post-submit:hover,
#baby-gallery-post-submit:hover { background: var(--accent-strong); }

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  border-color: #d8cfca;
  background-color: #fffdfb;
}
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
  border-color: var(--wine);
  box-shadow: 0 0 0 3px #d98a9226;
  outline: 0;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #d98a92;
  outline-offset: 3px;
}

.schedule-board-modes,
.admin-slot-tabs,
.schedule-board-toolbar,
.calendar-toolbar,
.qr-url-preview,
.qr-defaults,
.venue-candidates,
.reception-team-summary {
  border-color: var(--line);
  background-color: #f8f4f1;
}

.schedule-board-modes button[aria-selected="true"],
.schedule-board-modes button.active,
.admin-slot-tabs button.active,
.calendar-toolbar button.active {
  border-color: var(--wine);
  background: var(--wine);
  color: #fff;
}

.calendar-day.selected,
.schedule-board-day.selected,
.snap-calendar-day.selected,
.venue-admin-card:hover,
.qr-event-card:hover {
  border-color: var(--wine);
  box-shadow: 0 0 0 2px #d98a9226;
}

dialog { border: 1px solid var(--line); background: var(--paper); }
dialog::backdrop { background: #30272580; }

@media (max-width: 850px) {
  .admin-header { background: #fffffffa; }
  .admin-content { padding-top: 24px; }
  .admin-workspace-tabs {
    background: #f8f4f1;
    box-shadow: 0 8px 24px #4637320a;
  }
}
