/* Deep crimson wedding palette: cool, restrained, and shared by the planner and invitation. */
:root {
  --ink: #42252b;
  --green: #731e32;
  --green-2: #571321;
  --lime: #e7bbb8;
  --cream: #f8f4f3;
  --paper: #fffdfc;
  --line: #eadbd8;
  --muted: #806b70;
  --red: #a4384d;
  --soft: #f3e7e5;
}

.sidebar, .countdown-panel, .budget-summary, .photo-story, footer { background: var(--green); }
.nav-item:hover, .nav-item.active { background: #8d3347; }
.progress { background: #9f4d5c; }
.inspiration-note, .permission-callout { border-left-color: var(--green); background: #f4e7e5; color: #6d3742; }
.inspiration-card:nth-child(3n + 1), .inspiration-card:nth-child(3n + 2), .inspiration-card:nth-child(3n) { background: #fbf6f5; }
.inspiration-card:nth-child(3n + 1) { background: #f3e5e4; }
.inspiration-card:nth-child(3n + 2) { background: #f8efee; }
.budget-row span, .schedule-owner { color: var(--green); background: #f4e7e5; }
.permission.allowed { color: #702839; border-color: #e9cdca; background: #f5e4e2; }
.status-doing { color: #762d3e; background: #f5e3e1; }
.status-todo { color: #933448; background: #f9e8e6; }
.task-group-head { background: #f8efee; }
.task-group-name { color: var(--green); }
.auth-status { color: var(--muted); font-size: 12px; white-space: nowrap; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.guest-mode .task-row, .guest-mode .budget-row, .guest-mode .guest-status, .guest-mode .schedule-actions, .guest-mode .inspiration-add-slot { opacity: .58; cursor: not-allowed; }
.login-hint { font-size: 13px; line-height: 1.7; color: var(--muted); background: var(--soft); padding: 10px 12px; border-radius: 8px; }
.sidebar-bottom { margin-top: auto; }
.sidebar-bottom .sidebar-footer { margin-top: 0; }
.sidebar-account { border-top: 1px solid #ffffff2e; padding: 14px 12px 4px; display: grid; gap: 5px; }
.sidebar-account-label { color: #e7bbb8; font-size: 11px; letter-spacing: .08em; }
.sidebar-account strong { color: #fff7f5; font-size: 13px; font-weight: 500; }
.sidebar-account div { display: flex; gap: 10px; margin-top: 4px; }
.sidebar-account-action { border: 0; padding: 0; background: transparent; color: #f0d9d6; font: 12px "Noto Sans SC"; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.workspace-settings { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 16px 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.workspace-settings b, .workspace-settings small { display: block; }
.workspace-settings small { color: var(--muted); font-size: 12px; margin-top: 5px; }

.hero-shade { background: linear-gradient(180deg, #3f112233 10%, #3f112277 88%); }
.story-photo { background: #7a2639; }
.story-text > p:last-child { color: #f0d9d6; }
.photo-change, footer a { color: #efc1bc; border-color: #efc1bc; }
.green { color: #9b5a65; }
.form-result { color: #762d3e; }

@media (prefers-color-scheme: dark) {
  :root { --ink: #f4e8e7; --cream: #211519; --paper: #2b1b20; --line: #4b3038; --muted: #c5aeb1; }
  body, .main { background: var(--cream); color: var(--ink); }
  .metric-card, .paper-card, .next-panel, .task-group, .budget-row, .guest-table-wrap, .member-card, .gallery-intro, dialog, .field input, .field select, .field textarea { background: var(--paper); color: var(--ink); }
  th { background: #352126; color: var(--muted); }
  .task-group-head { background: #352126; }
  .inspiration-phase-head { background: #352126; }
  .schedule-day-head { background: #352126; }
  .inspiration-card:nth-child(3n + 1), .inspiration-card:nth-child(3n + 2), .inspiration-card:nth-child(3n) { background: #352126; }
  .inspiration-note, .permission-callout { background: #3a2229; color: #eed6d4; }
  .rsvp-section { background: #29191e; }
  input, select, textarea { background: #332126; color: var(--ink); border-color: var(--line); }
}
