/* 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, .guest-mode .inspiration-actions { 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; }
.storage-card { margin: 0 8px 12px; padding: 12px; border: 1px solid #ffffff24; border-radius: 10px; background: #ffffff0a; }
.storage-card-head, .storage-meta { display: flex; justify-content: space-between; gap: 8px; }
.storage-card-head { color: #f6e7e5; font-size: 11px; }
.storage-card-head strong { color: #efc1bc; font: 500 11px "DM Mono"; }
.storage-progress { height: 5px; margin: 9px 0; overflow: hidden; border-radius: 99px; background: #ffffff24; }
.storage-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: #efc1bc; transition: width .3s ease; }
.storage-meta { color: #dabfbd; font-size: 10px; }
.storage-meta b { color: #fff2f0; font-weight: 500; }
.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; }

.upload-progress-panel { position: fixed; z-index: 10000; left: 50%; bottom: max(24px, env(safe-area-inset-bottom)); width: min(420px, calc(100% - 32px)); padding: 15px 17px; border: 1px solid #d8bec2; border-radius: 14px; background: #fffaf8; box-shadow: 0 16px 45px #39121f33; color: #43242b; transform: translateX(-50%); }
.upload-progress-panel[hidden] { display: none; }
.upload-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 13px; }
.upload-progress-head strong { color: #7d1f35; font: 600 13px "DM Mono"; }
.upload-progress-track { height: 7px; margin: 10px 0 7px; overflow: hidden; border-radius: 99px; background: #eadcdf; }
.upload-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7d1f35, #b76778); transition: width .18s ease; }
.upload-progress-panel small { color: #92767b; font-size: 11px; }

.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); }
  .upload-progress-panel { border-color: #63404a; background: #352126; color: #f4e8e7; }
  .upload-progress-track { background: #55323c; }
  .upload-progress-panel small { color: #c5aeb1; }
}
