/* Six-step celebration timeline: cream paper, wine typography, real account data. */
.celebration-planner{align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top) + 18px) 20px 24px;background:#f3ebde;color:#27222c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.celebration-planner:before{content:"";position:fixed;inset:0;background:url('./wething-cream-plaster.webp') center/cover;pointer-events:none}
.celebration-planner:after{display:none}
.planner-wrap{position:relative;z-index:1;width:min(100%,476px);padding-bottom:env(safe-area-inset-bottom)}
.planner-wrap button,.planner-wrap input,.planner-wrap textarea,.planner-wrap select{font-family:inherit}
.planner-wrap [hidden]{display:none!important}
.planner-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}
.planner-topbar .back{color:#850020;background:#fff7f1;border:1px solid #dfcbc3;border-radius:50%;width:44px;height:44px;min-width:44px;margin:0;display:grid;place-items:center}
.planner-topbar::after{content:"";flex:0 0 44px;pointer-events:none}
.planner-brand{display:flex;align-items:center;justify-content:center;min-width:0}
.planner-hero{background:transparent;color:#850020;padding:0;margin-bottom:23px}
.planner-hero .planner-event-title{font:700 clamp(1.375rem,calc(.375rem + 5vw),1.875rem)/1.1 Georgia,serif;letter-spacing:-.025em;margin:0 0 15px;color:#850020;overflow-wrap:anywhere;text-wrap:balance;text-align:center}
.planner-date-row{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.planner-hero .planner-celebration-date,.planner-countdown{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:9px 12px;background:#ead7d8a6;color:#651029;border-radius:999px;font-size:clamp(12px,3.3vw,16px);line-height:1.35;white-space:normal}
.planner-celebration-date{flex:1.35}.planner-countdown{flex:1}.planner-celebration-date svg,.planner-countdown svg{width:21px;height:23px;flex:0 0 21px;color:#990420}
.planner-plan-overview{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}
.planner-heading{font:700 30px/1.15 Georgia,serif;letter-spacing:-.6px;color:#850020;margin:0}
.planner-unified-progress{color:#755a70;margin:0;font-size:14px;text-align:right}
.planner-progress-row{display:flex;align-items:center;gap:12px;margin-bottom:29px}
.planner-track{height:10px;flex:1;border-radius:10px;overflow:hidden;background:#e9d9d6;margin:0;min-width:0}
.planner-track i{display:block;height:100%;background:#990420;border-radius:inherit;transition:width .2s}
.planner-progress-percent{font-size:16px;line-height:1;color:#850020;min-width:38px;text-align:right}
.planner-card{background:#fffaf6;border:1px solid #e7d2c9;border-radius:17px;padding:14px 15px 15px;margin:11px 0;box-shadow:0 2px 0 #68472503}
.planner-timeline{position:relative;padding-top:8px}
.planner-timeline:before{content:"";position:absolute;left:17px;top:-7px;height:25px;width:2px;border-radius:2px;background:#990420}
.planner-unified-task{position:relative;background:transparent;border:0;border-radius:0;padding:0;margin:0 0 24px;box-shadow:none}
.planner-unified-task:before{content:"";position:absolute;z-index:0;left:17px;top:20px;bottom:-45px;width:2px;background:#990420}
.planner-unified-task:last-child:before{display:none}
.planner-task-head{position:relative;display:flex;align-items:center;gap:21px;min-height:44px}
.planner-check,.planner-check-spacer{position:relative;z-index:1;appearance:none;-webkit-appearance:none;flex:0 0 36px;width:36px;height:36px;border:2px solid #990420;border-radius:50%;margin:0;display:grid;place-content:center;background:#fbf6ed;cursor:pointer}
.planner-check-spacer{visibility:hidden;cursor:default}
.planner-check:checked{background:#990420}
.planner-check:checked:after{content:"";width:11px;height:20px;border:solid #fff9ee;border-width:0 2.7px 2.7px 0;transform:translateY(-2px) rotate(38deg)}
.planner-task-expand{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1;min-width:0;min-height:44px;background:none;border:0;color:#151017;text-align:left;padding:4px 3px 4px 0;font:700 clamp(20px,5.6vw,27px)/1.2 Georgia,serif;letter-spacing:-.45px}
.planner-wrap .planner-task-expand{font-family:Georgia,serif}
.planner-task-expand strong{overflow-wrap:anywhere;font-weight:700}
.planner-chevron{width:23px;height:23px;color:#990420;flex-shrink:0;transition:transform .15s}.planner-chevron.is-open{transform:rotate(180deg)}
.planner-pending{display:table;margin:4px 0 0;padding:4px 11px;border-radius:999px;background:#efd5d4;color:#850020;font-size:13px;line-height:1.2;font-weight:650}
.planner-invitation-open{margin:12px 0 4px}
.planner-selected-item{margin:6px -7px 0;min-width:0}
.planner-selected-item .planner-idea-main{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:11px;background:#985166;color:#fff5dd;padding:10px 14px;min-height:44px;text-align:left;font:inherit}
.planner-idea-icon{display:block;flex:0 0 22px;width:22px;color:#fff5dd}.planner-idea-icon svg{display:block;width:22px;height:25px}
.planner-idea-copy{min-width:0;flex:1;overflow-wrap:anywhere;font-size:16px;line-height:1.35}.planner-idea-copy strong{font-weight:400}
.planner-inline-edit{flex:0 0 auto;font-size:12px;font-weight:650;line-height:1.3;text-decoration:underline;text-underline-offset:2px}
.planner-selection-details{margin:10px 7px 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.planner-selection-details p{margin:0;white-space:pre-wrap}.planner-selection-details b{color:#58435a;font-weight:650}.planner-idea-detail,.planner-idea-extra{white-space:pre-wrap;overflow-wrap:anywhere}
.planner-selection-link{display:block;color:#850020;font-size:14px;line-height:1.5;overflow-wrap:anywhere;margin:8px 7px}
.planner-task-panel{margin-left:57px;padding:0 7px}
.planner-selection-tools{display:flex;gap:10px;margin:9px 0 6px}.planner-selected-item .planner-selection-tools{margin-left:7px;margin-right:7px}
.planner-change-selection{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:transparent;border:1px solid #990420;border-radius:7px;color:#990420;padding:7px 12px;font-size:14px;font-weight:650;text-align:left}
.planner-change-selection svg{width:19px;height:19px;flex:0 0 19px}
.planner-field{display:block;margin:12px 0}.planner-field strong{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.planner-field input,.planner-field textarea,.planner-field select{width:100%;border:1px solid #aa8089;border-radius:8px;background:#fffcf8;padding:10px;font-size:16px;line-height:1.4;color:#27222c;caret-color:#850020}
.planner-field textarea{min-height:76px;resize:vertical}
.planner-wrap .primary,.planner-secondary{width:100%;min-height:44px;border-radius:9px;padding:10px 12px;font-weight:600;font-size:14px;box-shadow:none}
.planner-wrap .primary{background:#990420;color:#fffaf0;border:0}
.planner-secondary{background:transparent;color:#850020;border:1px solid #990420}
.planner-form-actions{display:flex;gap:10px;margin-top:12px}.planner-form-actions>*{flex:1;min-width:0;margin:0!important}
.planner-idea-editor{padding:6px 0 0;margin:0 0 15px;border:0;border-radius:0;box-shadow:none;background:transparent}
#plannerTaskNotes{margin-top:8px}#plannerTaskNotes .planner-field{margin:8px 0}#plannerTaskNotes textarea{min-height:58px}
.planner-notes-actions{display:flex;justify-content:flex-end}.planner-notes-actions .primary{width:auto;min-width:100px}
.planner-more-options{margin-top:12px;font-size:13px;color:#755a70}.planner-more-options summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:flex-end;text-decoration:underline}
.planner-more-options summary::after{content:"＋";margin-left:5px}.planner-more-options[open] summary::after{content:"−"}
.planner-inline-tools{display:flex;gap:14px;flex-wrap:wrap;margin:5px 0}.planner-inline-tools button,.planner-remove-selection{border:0;background:none;text-decoration:underline;color:#755a70;padding:8px 0;min-height:44px;font-size:13px;text-align:left;overflow-wrap:anywhere}
.planner-remove-selection{display:block;width:100%}.planner-more-options .planner-secondary{margin-top:10px}
.planner-task-edit{margin:10px 0}.planner-task-search{margin-bottom:5px}
.planner-add-trigger{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:16px;border-radius:18px;font-size:18px;min-height:54px;background:transparent}.planner-add-trigger span{font-size:29px;line-height:1}
.planner-help,.planner-status{font-size:12px;color:#755a70;line-height:1.5}.planner-status{text-align:center;margin:10px 0 0}.planner-status:empty{display:none}.planner-empty{line-height:1.6;color:#755a70}
.planner-detail-link{display:block;width:100%;border:0;background:transparent;color:#755a70;text-decoration:underline;padding:12px;min-height:44px;font-size:12px;margin-top:10px}
.planner-wrap :is(button,input,textarea,select,summary,a):focus-visible{outline:3px solid #a77a35;outline-offset:4px}
.planner-wrap button:disabled{opacity:.55;cursor:default}
.event-detail .reminder-entry{min-height:68px;margin:14px 0;padding:12px 14px;border-radius:16px}.event-detail .reminder-entry-icon{width:32px;height:32px}.event-detail #eventReminderOffsets{font-size:.76rem;margin-top:3px}.prepare-celebration{margin:0 0 20px}
@media(min-width:700px){.celebration-planner{padding-top:calc(env(safe-area-inset-top) + 34px)}}
@media(max-width:380px){.celebration-planner{padding-left:16px;padding-right:16px}.planner-date-row{gap:7px}.planner-hero .planner-celebration-date,.planner-countdown{gap:6px;padding:8px 9px;font-size:12px}.planner-celebration-date svg,.planner-countdown svg{width:18px;flex-basis:18px}.planner-task-head{gap:16px}.planner-task-expand{font-size:20px}.planner-task-panel{margin-left:52px}.planner-selected-item{margin-left:-4px;margin-right:-4px}.planner-selected-item .planner-idea-main{padding:9px 10px;gap:10px}.planner-idea-copy{font-size:15px}.planner-unified-progress{font-size:12px}.planner-selection-details{font-size:13px;margin-left:4px;margin-right:0}.planner-task-panel{padding:0 4px}.planner-selected-item .planner-selection-tools{margin-left:4px;margin-right:0}.planner-form-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.planner-wrap *{transition:none!important}}

/* Commerce controls preserve the existing result cards and ordering. */
.commerce-card-wrap{position:relative;min-width:0}
.commerce-card-wrap>.participant-card{height:100%;box-sizing:border-box;padding-right:45px}
.commerce-add{position:absolute;right:9px;top:9px;width:30px;height:30px;border:1px solid #990420;border-radius:50%;background:#990420;color:#fff7ec;font:24px/1 sans-serif;cursor:pointer;display:grid;place-items:center;padding:0}
.commerce-add:focus-visible{outline:3px solid #751b32;outline-offset:2px}
.commerce-save-dialog[hidden]{display:none!important}
.commerce-save-dialog{position:fixed;inset:0;z-index:15000;background:#24161db3;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}
.commerce-save-panel{width:min(100%,430px);max-height:85dvh;overflow:auto;padding:24px;background:#fff7ec;color:#49212c;border-radius:22px;box-shadow:0 12px 40px #0004}
.commerce-save-panel h2{font-size:24px;margin:0 0 20px}.commerce-save-panel input,.commerce-save-panel select{width:100%;box-sizing:border-box;background:#fffcf7;color:#49212c;border:1px solid #d8bec5;padding:12px;border-radius:10px;font:inherit}.commerce-save-panel p{font-size:14px;line-height:1.5}.commerce-save-panel .planner-field{display:grid;gap:8px;margin:14px 0}

.commerce-add.is-saved{background:#751b32;border-color:#751b32}.commerce-add svg{display:block;pointer-events:none}

/* The first four preparation circles reflect durable content and are read-only. */
.planner-wrap .planner-prepared{cursor:default}.planner-wrap .planner-prepared[aria-checked="true"]{background:#990420;border-color:#990420}.planner-wrap .planner-prepared[aria-checked="true"]:after{content:"";width:11px;height:20px;border:solid #fff9ee;border-width:0 2.7px 2.7px 0;transform:translateY(-2px) rotate(38deg)}.planner-wrap .planner-prepared:focus-visible{outline:3px solid #985166;outline-offset:4px}

/* FE157: compact, device-specific reminder status, matching the approved mock. */
.planner-reminder-readiness{display:flex;align-items:center;gap:12px;width:100%;min-height:70px;margin:16px 0 18px;padding:10px 12px;border:1px solid #990420;border-radius:15px;background:transparent;text-align:left;color:#251c29;cursor:pointer}
.planner-reminder-bell{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:50%;background:#990420;color:#fffaf0}.planner-reminder-bell svg{width:27px;height:27px}
.planner-reminder-copy{flex:1;min-width:0}.planner-reminder-copy strong{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.18;letter-spacing:-.4px}.planner-reminder-copy small{display:block;margin-top:4px;color:#755a70;font-size:12px;line-height:1.25}
.planner-reminder-action{flex:0 0 auto;max-width:42%;font-size:12px;font-weight:600;line-height:1.25;color:#990420}.planner-reminder-readiness[data-state="inactive"] .planner-reminder-action{padding:10px 12px;border-radius:24px;background:#990420;color:#fffaf0}.planner-reminder-readiness[data-state="inactive"] .planner-reminder-action span{display:none}
@media(max-width:380px){.planner-reminder-readiness{gap:8px;padding:10px}.planner-reminder-bell{flex-basis:36px;width:36px;height:36px}.planner-reminder-copy strong{font-size:15px}.planner-reminder-copy small{font-size:11px}.planner-reminder-action{font-size:11px}.planner-reminder-readiness[data-state="inactive"] .planner-reminder-action{padding:10px}}

/* Reservation clarification is shown only with the expanded dinner details. */
.planner-reservation-notice{margin:8px 0}
.planner-unified-progress{max-width:65%;text-wrap:balance}

/* Purpose-specific editors preserve the compact timeline and exact saved records. */
.planner-unified-task[data-open="true"]{padding:8px 0 12px;margin-top:-8px;margin-bottom:16px}
.planner-unified-task[data-open="true"]:after{content:"";position:absolute;inset:0 -10px;border:1px solid #990420;border-radius:15px;pointer-events:none}
.planner-unified-task[data-open="true"] .planner-task-head,.planner-unified-task[data-open="true"] .planner-task-panel{position:relative;z-index:1}
.planner-purpose-editor .planner-field{margin:10px 0}.planner-purpose-editor .planner-field strong{color:#594e63;font-weight:500}
.planner-purpose-editor .planner-field input,.planner-purpose-editor .planner-field textarea{border-color:#d8bcb6;background:#fffaf370;border-radius:9px;box-sizing:border-box}
.planner-purpose-editor .planner-field input[type="time"]{min-width:0;min-height:44px;appearance:none;-webkit-appearance:none}
.planner-purpose-editor .planner-form-actions{justify-content:flex-start}.planner-purpose-editor .planner-form-actions .primary{flex:0 1 140px}
.planner-purpose-editor[data-purpose="food"] .primary,.planner-purpose-editor[data-purpose="message"] .primary{flex:1}
.planner-purpose-editor[data-purpose="message"]{margin:10px -3px 3px;padding:10px 12px 12px;border:1px solid #dec5bd;border-radius:12px;background:#fffaf335}
.planner-purpose-editor[data-purpose="message"] textarea{min-height:128px}.planner-purpose-editor[data-purpose="message"] .planner-field strong{color:#27222c}
.planner-unified-task[data-planner-role="food"] .planner-reservation-notice{text-align:center;margin:0 0 5px}
.planner-legacy-details{font-size:13px;line-height:1.5;overflow-wrap:anywhere;margin:8px 0;padding:9px 10px;background:#f1e7df75;border-radius:8px}.planner-legacy-details p{white-space:pre-wrap;margin:4px 0}.planner-legacy-details a{color:#850020}
.planner-message-choice select{box-sizing:border-box}.planner-review-recap{display:grid;gap:8px;margin-top:10px}
.planner-review-item{display:flex;align-items:flex-start;gap:11px;border:1px solid #dec5bd;border-radius:10px;padding:10px;background:#fffaf335;min-width:0}.planner-review-item>div{min-width:0;flex:1}
.planner-review-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#efdadd;color:#990420}.planner-review-icon svg{width:25px;height:25px}
.planner-review-item h3{font:700 18px/1.2 Georgia,serif;color:#850020;margin:0 0 5px}.planner-review-item p{font-size:14px;line-height:1.4;margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.planner-review-item .planner-recap-legacy{font-size:12px;color:#755a70}
.planner-review-confirm{display:flex;align-items:center;gap:11px;margin:14px 0 2px;font-size:14px;line-height:1.4;color:#27222c;cursor:pointer}.planner-review-confirm input{width:22px;height:22px;flex:0 0 22px;accent-color:#990420}
.planner-invitation-slot:empty{display:none}.planner-invitation-slot #plannerInvitationHost{min-width:0}
@media(max-width:380px){.planner-unified-task[data-open="true"]:after{left:-8px;right:-8px}.planner-purpose-editor[data-purpose="message"]{padding:8px}.planner-review-item{gap:8px;padding:8px}.planner-review-icon{width:30px;height:30px;flex-basis:30px}.planner-review-icon svg{width:22px;height:22px}.planner-review-item h3{font-size:16px}.planner-review-item p{font-size:13px}.planner-review-confirm{font-size:13px}}
.planner-selected-item[data-editing="true"] .planner-selection-details{display:none}
