.planner-shell,.share-shell{display:grid;gap:24px;max-width:1180px;margin:0 auto}.planner-hero,.share-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:30px;background:linear-gradient(135deg,#fffdf8,#eee5dc);border:1px solid #ded5ca;border-radius:22px}.planner-hero h1,.share-hero h1{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:400}.planner-status{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#e7dbea;color:#6c4b72;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.planner-status i{width:8px;height:8px;border-radius:50%;background:#ff6c63}.planner-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:22px}.planner-panel{padding:25px}.planner-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.planner-panel h2,.share-shell h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:400;margin:.25rem 0}.planner-options{display:grid;gap:12px}.planner-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid #e0d8ce;border-radius:14px;background:#fffdf9}.planner-option.recommended{border-color:#ff6c63;box-shadow:0 0 0 2px rgba(255,108,99,.12)}.planner-option-copy strong,.ticket-event strong{display:block}.planner-option-copy small{display:block;color:#766f69;margin-top:4px}.vote-bars{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.vote-bars span{min-width:35px;padding:6px 8px;border-radius:8px;background:#f2eee8;text-align:center;font-size:.76rem;font-weight:800}.vote-bars .positive{background:#dcecdf;color:#346447}.vote-bars .maybe{background:#f5e6b8;color:#765f21}.vote-bars .negative{background:#f2ddda;color:#8b4943}.planner-participant-list,.planner-comment-list{display:grid;gap:10px}.planner-person{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee6db}.planner-person:last-child{border-bottom:0}.planner-person span{font-size:.8rem;color:#766f69}.planner-check{color:#467657;font-weight:800}.planner-empty{padding:25px;border:1px dashed #cfc5ba;border-radius:14px;text-align:center;color:#766f69}.planner-confirm{background:#26232a;color:white;border-color:#26232a}.planner-confirm p,.planner-confirm small{color:#d9d3dc}.planner-confirm .planner-option{color:#29242b}.planner-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.planner-inline-form .field{margin:0}.vote-form{display:grid;gap:22px}.vote-section{display:grid;gap:12px}.vote-card{padding:16px;border:1px solid #ded5ca;border-radius:14px;background:#fffdf8}.vote-card>strong{display:block;margin-bottom:12px}.vote-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.vote-choice label{position:relative}.vote-choice input{position:absolute;opacity:0}.vote-choice span{display:block;min-height:42px;padding:10px 6px;border:1px solid #d7cec3;border-radius:9px;text-align:center;font-size:.75rem;font-weight:700;cursor:pointer}.vote-choice input:checked+span{border-color:#6c4b72;background:#6c4b72;color:white}.vote-choice input:focus-visible+span{outline:3px solid rgba(255,108,99,.38);outline-offset:2px}.participant-plan-modal{max-width:720px}.participant-plan-progress{height:6px;background:#e7dfd6;border-radius:99px;overflow:hidden}.participant-plan-progress i{display:block;height:100%;width:50%;background:#ff6c63}.team-ticket{position:relative;overflow:hidden;max-width:760px;margin:auto;padding:0;border:1px solid #d4c8ba;border-radius:22px;background:#f8f0df;box-shadow:0 24px 70px rgba(52,43,38,.2)}.ticket-top{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;background:#6c4b72;color:#fff}.ticket-top strong{font-family:Georgia,serif;font-size:1.35rem}.ticket-body{display:grid;grid-template-columns:1fr 165px;gap:24px;padding:30px}.ticket-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900;color:#ff6c63}.ticket-title{font-family:Georgia,serif;font-size:clamp(2rem,6vw,3.4rem);line-height:1;margin:10px 0 22px}.ticket-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ticket-details div{padding:13px;border-top:1px solid #cfc3b5}.ticket-details small{display:block;color:#766f69;margin-bottom:4px}.ticket-stub{border-left:2px dashed #c9bbaa;padding-left:25px;text-align:center}.ticket-stub img{width:135px;height:135px;background:white;padding:8px}.ticket-actions{display:flex;gap:9px;flex-wrap:wrap;padding:0 30px 30px}.share-preview{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:22px}.share-image-card{padding:14px}.share-image-card img{display:block;width:100%;border-radius:12px}.share-controls{padding:24px}.share-actions{display:flex;flex-wrap:wrap;gap:9px}.share-privacy{display:flex;gap:12px;padding:15px;border-radius:12px;background:#e9f0e8;color:#355943;font-size:.86rem}.share-list{display:grid;gap:10px}.share-list-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border:1px solid #ded5ca;border-radius:13px}.public-share-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4efe5}.public-share-card{width:min(900px,100%);padding:18px;background:white;border-radius:22px;box-shadow:0 24px 70px rgba(52,43,38,.18);text-align:center}.public-share-card img{width:100%;border-radius:13px}.public-share-card p{font-family:Georgia,serif;font-size:1.35rem}.public-share-card small{display:block;margin:18px;color:#766f69}
@media(max-width:820px){.planner-grid,.share-preview{grid-template-columns:1fr}.planner-hero,.share-hero{flex-direction:column}.ticket-body{grid-template-columns:1fr}.ticket-stub{border-left:0;border-top:2px dashed #c9bbaa;padding:22px 0 0}.ticket-details{grid-template-columns:1fr 1fr}.planner-inline-form{grid-template-columns:1fr}.vote-choice span{font-size:.68rem}.share-actions .button{flex:1 1 45%}}
.planner-setup{align-items:center;min-height:360px}.planner-setup>div{max-width:680px}.planner-setup .button{margin-top:26px}.planner-setup-mark{display:grid;width:108px;height:108px;flex:0 0 auto;place-items:center;border-radius:50%;color:#fff;background:#6c4b72;font-size:2.5rem;box-shadow:0 18px 40px rgba(66,43,69,.2)}.planner-preview-button{width:100%;min-height:50px}.ticket-stub img{display:block;width:165px;height:165px;margin:0 auto;padding:10px;object-fit:contain}.qr-wrap .qr-code{width:180px;height:180px;padding:10px}.large-qr-modal .qr-code{padding:12px}
@media(max-width:820px){.planner-setup-mark{width:78px;height:78px;font-size:1.8rem}.ticket-stub img{width:min(165px,55vw);height:min(165px,55vw)}.qr-wrap .qr-code{width:min(180px,68vw);height:min(180px,68vw)}}
@media(max-width:480px){.planner-panel,.planner-hero,.share-hero,.share-controls{padding:19px}.planner-option{grid-template-columns:1fr}.vote-bars{justify-content:flex-start}.vote-choice{grid-template-columns:1fr}.ticket-details{grid-template-columns:1fr}.ticket-body{padding:22px}.ticket-actions{padding:0 22px 22px}.share-actions .button{flex-basis:100%}}
@media print{body.ticket-printing>*:not(.modal-backdrop){display:none!important}body.ticket-printing .modal-backdrop{position:static;background:none}body.ticket-printing .modal{box-shadow:none;max-width:none}body.ticket-printing .ticket-actions,.ticket-printing .close-button{display:none!important}}
.team-ticket{animation:ticket-settle .48s cubic-bezier(.2,.8,.2,1) both}.ticket-top{gap:14px}.ticket-stamp{padding:5px 9px;border:1px solid rgba(255,255,255,.7);border-radius:5px;transform:rotate(-3deg);font-size:.7rem;font-weight:900;letter-spacing:.12em}.ticket-tagline{margin:22px 0 8px;font-family:Georgia,serif;font-size:1.05rem}@keyframes ticket-settle{from{opacity:0;transform:translateY(18px) rotate(-.6deg)}to{opacity:1;transform:none}}
.planner-best-fit{display:flex;align-items:center;justify-content:space-between;gap:20px;border:2px solid #ff6c63;background:#fff8ee}.planner-best-fit h2{margin:.3rem 0}.planner-best-fit .planner-status{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.team-ticket{animation:none}}
@media(max-width:600px){.planner-best-fit{align-items:flex-start;flex-direction:column}}
.ticket-top{flex-wrap:wrap;row-gap:.45rem}.team-ticket{width:100%;max-width:760px}.ticket-actions{flex-wrap:wrap}.planner-shell,.share-shell,.participant-plan-modal,.planner-shell input,.planner-shell select,.planner-shell textarea,.participant-plan-modal input,.participant-plan-modal select,.participant-plan-modal textarea{min-width:0;max-width:100%}
/* Planner and ticket controls share the application readability baseline. */
.planner-shell,.share-shell,.participant-plan-modal{font-size:var(--text-body)}.planner-shell small,.share-shell small,.participant-plan-modal small{font-size:var(--text-xs);line-height:1.4}.planner-shell label,.participant-plan-modal label{font-size:var(--text-sm)}.planner-shell button,.share-shell button,.participant-plan-modal button{min-height:44px;font-size:var(--text-control)}.planner-shell input,.planner-shell select,.planner-shell textarea,.participant-plan-modal input,.participant-plan-modal select,.participant-plan-modal textarea{min-height:46px;font-size:var(--text-control)}.vote-choice span{min-height:44px;font-size:var(--text-sm)}@media(max-width:760px){.planner-shell input,.planner-shell select,.planner-shell textarea,.participant-plan-modal input,.participant-plan-modal select,.participant-plan-modal textarea{min-height:48px;font-size:var(--text-input)}}

/* Participant voting: intrinsic choice widths wrap without forcing narrow columns. */
.participant-plan-modal .vote-form{gap:16px}
.participant-plan-modal .vote-section{gap:8px}
.participant-plan-modal .vote-section h3{margin:0}
.participant-plan-modal .vote-card{padding:10px 12px}
.participant-plan-modal .vote-card>strong{margin-bottom:6px;overflow-wrap:anywhere}
.participant-plan-modal .vote-card>small{display:block;margin-bottom:6px}
.participant-plan-modal .vote-choice{display:flex;flex-wrap:wrap;gap:6px}
.participant-plan-modal .vote-choice label{flex:1 1 auto;max-width:100%;min-width:0}
.participant-plan-modal .vote-choice span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 10px;overflow-wrap:anywhere}
.participant-plan-modal .vote-choice span::before{content:"";flex:0 0 12px;width:12px;height:12px;border:1px solid currentColor;border-radius:50%}
.participant-plan-modal .vote-choice input:checked+span::before{background:currentColor;box-shadow:inset 0 0 0 3px #6c4b72}
.participant-plan-modal .vote-choice input{min-height:0;width:1px;height:1px;pointer-events:none}
.participant-plan-modal .vote-choice input:focus-visible+span{outline:3px solid var(--plum);outline-offset:2px}

/* Text equivalents for the same sanitized public recap shown in the PNG. */
.public-share-card h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.15;overflow-wrap:anywhere;margin:22px 0 12px}
.public-share-card .public-recap-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin:22px 0}
.public-recap-stats div{min-width:100px;max-width:100%}
.public-recap-stats dt{font-size:14px;line-height:1.4}
.public-recap-stats dd{margin:4px 0 0;font-size:24px;font-weight:700;overflow-wrap:anywhere}
.public-share-card .public-recap-detail{font-family:inherit;font-size:16px;overflow-wrap:anywhere}
@media(max-width:480px){.public-share-page{padding:16px}.public-share-card{padding:14px}.public-share-card small{margin:18px 0;font-size:14px}}

/* Organizer Plan together: calm working layout, scoped away from participant voting. */
.planner-view .planner-shell{display:grid;width:min(100%,1180px);max-width:1180px;margin:0 auto;gap:20px}
.planner-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 28px;padding:2px 0 4px}
.planner-page-head>div:first-child{flex:1 1 420px;min-width:0;max-width:720px}
.planner-page-head .eyebrow{margin:0 0 8px;color:#e95f58}
.planner-page-head h1{max-width:700px;margin:0;font-family:Georgia,serif;font-size:clamp(2.25rem,3.25vw,2.75rem);font-weight:400;line-height:1.05;letter-spacing:-.025em}
.planner-page-head p:not(.eyebrow){max-width:650px;margin:10px 0 0;color:#726b65;font-size:1rem;line-height:1.55}
.planner-head-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;max-width:100%;gap:9px;align-items:center}
.planner-orientation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-top:1px solid #ddd5cb;border-bottom:1px solid #ddd5cb;list-style:none}
.planner-orientation li{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:14px 18px;color:#958d85;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.planner-orientation li+li{border-left:1px solid #e5ddd4}
.planner-orientation span{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;line-height:1;letter-spacing:0}
.planner-orientation li.is-done{color:#427255}
.planner-orientation li.is-current{color:#3a3330;background:rgba(255,108,99,.055)}
.planner-orientation li.is-current::after{content:"";position:absolute;right:16px;bottom:-1px;left:16px;height:3px;border-radius:3px 3px 0 0;background:#ff6c63}
.planner-view .planner-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr);gap:24px;align-items:start}
.planner-main{display:grid;min-width:0;gap:20px}
.planner-view .planner-section{overflow:hidden;padding:0}
.planner-section-head{padding:25px 26px 20px}
.planner-section-head .eyebrow,.planner-add-block>.eyebrow,.planner-summary-section>.eyebrow,.planner-confirmed-plan>.eyebrow{margin:0 0 7px;color:#7a537f}
.planner-section-head h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.65rem,2.2vw,2rem);font-weight:400;line-height:1.1}
.planner-section-head>p:last-child{margin:8px 0 0;color:#777069;line-height:1.5}
.planner-view .planner-options{display:block;border-top:1px solid #e8e0d7}
.planner-view .planner-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px 26px;border:0;border-bottom:1px solid #e8e0d7;border-radius:0;background:transparent;box-shadow:none}
.planner-view .planner-option.recommended{border-color:#e8e0d7;background:linear-gradient(90deg,rgba(255,108,99,.09),rgba(255,108,99,0) 72%);box-shadow:inset 3px 0 #ff6c63}
.planner-option-copy{min-width:0}
.planner-view .planner-option-copy>strong{font-size:1rem;line-height:1.35}
.planner-view .planner-option-copy>span{display:block;margin-top:3px;color:#777069;font-size:.86rem}
.planner-vote-summary{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:9px;color:#5d5651;font-size:.78rem}
.planner-vote-summary span+span::before{content:"·";margin-right:16px;color:#b5aca3}
.planner-view .planner-vote-details-trigger,.planner-view .planner-participation-trigger{border:0;background:transparent;padding:0;min-height:44px;text-align:left;align-items:center;font:inherit;color:inherit;cursor:pointer;border-radius:4px}
.planner-view .planner-vote-details-trigger{font-size:var(--text-xs);color:var(--muted)}
.planner-view .planner-vote-details-trigger:hover,.planner-view .planner-participation-trigger:hover{color:#6c4b72;background:rgba(108,75,114,.06);text-decoration:underline;text-underline-offset:3px}
.planner-view .planner-vote-details-trigger:focus-visible,.planner-view .planner-participation-trigger:focus-visible{outline:2px solid #ff6c63;outline-offset:4px}
.modal.planner-details-shell{width:min(100%,500px);padding:24px;overflow:hidden}
.planner-vote-details{display:flex;flex-direction:column;max-height:calc(min(90dvh,780px) - 48px)}
.planner-vote-details .modal-head,.planner-vote-details .modal-actions{flex-shrink:0}
.planner-vote-details .modal-head h2{font-size:var(--type-h3);font-family:var(--serif);line-height:1.2;overflow-wrap:anywhere}
.planner-vote-details .close-button{width:44px;height:44px;min-height:44px}
.planner-vote-detail-group{margin:0 0 24px}
.planner-vote-detail-group:last-child{margin-bottom:0}
.planner-vote-detail-group ul{list-style:none;margin:8px 0 0;padding:0}
.planner-vote-detail-group li{display:flex;align-items:center;gap:10px;margin:8px 0;overflow-wrap:anywhere}
.planner-vote-avatar{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:#e7dbea;color:#6c4b72;font-size:var(--text-xs);font-weight:700}
.planner-vote-name{min-width:0}
.planner-vote-person-status{margin-left:auto;color:var(--muted);font-size:var(--text-xs);flex-shrink:0}
.planner-vote-detail-empty{color:#766f69}
.planner-vote-details .modal-actions{justify-content:flex-end}
@media(max-width:600px){.modal-backdrop:has(.planner-details-shell){padding:8px;align-items:end}.modal.planner-details-shell{width:100%;padding:20px 16px;border-radius:20px 20px 8px 8px}.planner-vote-details{max-height:calc(90dvh - 40px)}.planner-vote-details .modal-actions{flex-direction:row}.planner-vote-details .modal-actions .button{width:auto;min-height:44px}}
.planner-no-votes{margin:7px 0 0;color:#948c84;font-size:.8rem}
.planner-option-actions{display:flex;gap:6px}
.planner-view .planner-option-actions .mini-icon{display:grid;width:44px;height:44px;min-height:44px;padding:0;place-items:center;border:1px solid transparent;border-radius:50%;background:transparent;color:#716a64}
.planner-view .planner-option-actions .mini-icon:hover{border-color:#ddd4ca;background:#fffdf9;color:#282326}
.planner-view .planner-option-actions .mini-icon:focus-visible{outline:3px solid rgba(255,108,99,.35);outline-offset:2px}
.planner-view .planner-option-actions svg{width:18px;height:18px}
.planner-empty-state{padding:20px 26px;border-bottom:1px solid #e8e0d7;color:#777069}
.planner-empty-state p{margin:0 0 7px}
.planner-empty-state .text-link{min-height:auto;padding:0;color:#6c4b72}
.planner-add-block{padding:20px 26px 24px;background:rgba(240,235,227,.42)}
.planner-add-block>.eyebrow{margin-bottom:12px}
.planner-add-block small{display:block;margin-top:8px;color:#8c847c}
.planner-add-date{display:grid;grid-template-columns:minmax(0,1fr) minmax(132px,.4fr) auto;grid-template-rows:auto minmax(48px,auto) auto;gap:8px 12px;align-items:start}
.planner-add-date>.field{display:grid;grid-row:1/span 3;grid-template-rows:subgrid;row-gap:8px}
.planner-add-date>.button{grid-column:3;grid-row:2;align-self:stretch;min-height:48px;margin:0}
.planner-add-date .native-date-state{margin:0;align-self:start}
.planner-add-date+small{margin-top:12px}
.planner-add-place{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.planner-add-date .field,.planner-add-place .field{margin:0}
.planner-add-date .button,.planner-add-place .button{white-space:nowrap}
.planner-view .planner-summary{position:sticky;top:20px;overflow:hidden;padding:0}
.planner-summary-section{padding:20px 21px}
.planner-summary-section+.planner-summary-section{border-top:1px solid #e6ded5}
.planner-summary-section h2{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:400}
.planner-summary-section>p:not(.eyebrow){margin:7px 0 0;color:#777069;line-height:1.45}
.planner-best-result>strong,.planner-invitation>strong{display:block;line-height:1.35}
.planner-best-result>span{display:block;margin-top:3px;color:#6f6862;font-size:.88rem}
.planner-best-result p{margin:9px 0 0;color:#777069;font-size:.8rem;line-height:1.45}
.planner-best-result .planner-best-attendance{color:#3f684e;font-weight:800}
.planner-best-result .button{width:100%;margin-top:14px}
.planner-ready-confirm form{display:grid;gap:12px}
.planner-ready-confirm .field{margin:0}
.planner-summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.planner-settings-summary>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:.86rem}
.planner-settings-summary span{color:#777069;text-align:right}
.planner-settings-summary .button{width:100%}
.planner-view .planner-comment-list{gap:0}
.planner-view .planner-person{display:block;padding:10px 0}
.planner-view .planner-person p{margin:4px 0 0;color:#777069;font-size:.82rem;line-height:1.4}
.planner-view .planner-setup{display:block;min-height:0;padding:28px;max-width:720px}
.planner-view .planner-setup h2{margin:.2rem 0;font-family:Georgia,serif;font-size:2rem;font-weight:400}
.planner-view .planner-setup>p:not(.eyebrow){max-width:570px;color:#777069;line-height:1.55}
.planner-view .planner-setup .button{margin-top:12px}
.planner-confirmed-view{max-width:900px!important}
.planner-confirmed-plan{padding:30px}
.planner-confirmed-plan h2{margin:7px 0 0;font-family:Georgia,serif;font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:400;line-height:1.1}
.planner-confirmed-plan h2 span{white-space:nowrap;color:#6c4b72}
.planner-confirmed-plan h3{margin:10px 0 0;font-size:1.1rem}
.planner-confirmed-plan>p:not(.eyebrow){color:#777069}
.planner-confirmed-actions{display:flex;gap:9px;margin:20px 0 14px}
.planner-confirmed-plan>.text-link{min-height:auto;padding:0}
.planner-load-state{padding:28px;border:1px solid #ded5ca;border-radius:18px;background:#fffdf8}
.planner-load-state h2{margin:0;font-family:Georgia,serif;font-weight:400}
.planner-load-state p{color:#777069}
.planner-settings-modal{display:grid;gap:20px}
.planner-settings-modal .modal-actions{margin-top:0}
.planner-plan-confirm .confirm-copy{white-space:pre-line}

@media(min-width:768px) and (max-width:1180px){
  .planner-add-date{grid-template-columns:minmax(0,1fr) minmax(120px,.7fr)}
  .planner-add-date .button{grid-column:1/-1;grid-row:4;width:100%}
}
@media(max-width:1023px){
  .planner-view .planner-grid{grid-template-columns:1fr}
  .planner-view .planner-summary{position:static}
}
@media(max-width:767px){
  .planner-page-head{align-items:flex-start;gap:18px}
  .planner-head-actions{width:100%;flex-wrap:wrap}
  .planner-head-actions .button{flex:1 1 180px}
  .planner-orientation{grid-template-columns:1fr 1fr}
  .planner-orientation li:nth-child(3){border-left:0;border-top:1px solid #e5ddd4}
  .planner-orientation li:nth-child(4){border-top:1px solid #e5ddd4}
  .planner-add-date{grid-template-columns:minmax(0,1fr) minmax(110px,.55fr)}
  .planner-add-date .button{grid-column:1/-1;grid-row:4}
  .planner-add-date .button,.planner-add-place .button{width:100%}
}
@media(max-width:520px){
  .planner-page-head h1{font-size:2.15rem}
  .planner-page-head p:not(.eyebrow){font-size:.95rem}
  .planner-orientation li{padding:12px 10px;gap:2px 7px}
  .planner-orientation li.is-current::after{right:10px;left:10px}
  .planner-section-head,.planner-add-block{padding-right:19px;padding-left:19px}
  .planner-view .planner-option{padding-right:14px;padding-left:19px}
  .planner-add-date,.planner-add-place{grid-template-columns:1fr}
  .planner-add-date{grid-template-rows:none;row-gap:14px}
  .planner-add-date>.field{grid-row:auto;grid-template-rows:none}
  .planner-add-date .button{grid-column:auto;grid-row:auto}
  .planner-summary-actions{grid-template-columns:1fr}
  .planner-confirmed-actions{align-items:stretch;flex-direction:column}
  .planner-confirmed-actions .button{width:100%}
  .planner-vote-summary{gap:5px 10px}
  .planner-vote-summary span+span::before{margin-right:10px}
}
/* Vote confirmation only; ticket and other modal footers keep their layouts. */
/* Share Moment workspace only: the preview keeps its intrinsic 1200:630 ratio. */
.share-view .share-shell{container:share / inline-size;display:grid;width:100%;max-width:1240px;gap:28px;margin:0 auto}
.share-page-head{text-align:center;max-width:760px;margin:0 auto}
.share-page-head .eyebrow{margin:0 0 10px;color:var(--coral-action)}
.share-page-head h1{font:500 var(--type-h1)/1.12 var(--serif);margin:0}
.share-page-head>p:last-child{margin:14px auto 0;max-width:62ch;color:var(--muted);font-size:var(--type-body);line-height:1.6}
.share-view .share-preview{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.share-preview-column{display:grid;min-width:0;gap:16px;align-content:start}
.share-view .share-image-card{position:relative;min-width:0;align-self:start;padding:10px;border:1px solid var(--line);border-radius:20px;background:#eae4dc}
.share-view .share-image-card img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;margin:0 auto;border-radius:12px}
.public-share-card img{display:block;height:auto;aspect-ratio:4/5;object-fit:contain}
.share-placeholder{aspect-ratio:1200/630;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;color:var(--muted);border:1px dashed #c8beb2;border-radius:12px}
.share-placeholder>.tt-icon{width:32px;height:32px;color:var(--plum)}
.share-view .share-placeholder h2{font:500 var(--type-h3)/1.25 var(--serif);margin:0;max-width:24ch}
.share-preview-status{position:absolute;top:18px;right:18px;left:auto;max-width:calc(100% - 36px);margin:0;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font-size:13px;box-shadow:var(--shadow)}
.share-view .share-controls{padding:24px;min-width:0;overflow-wrap:anywhere;border-radius:20px}
.share-view .share-controls h2{font:500 26px/1.2 var(--serif);margin:0 0 20px}
#shareCreateForm,#shareCreateForm fieldset{display:grid;gap:16px;min-width:0;margin:0;padding:0;border:0}
#shareCreateForm .field{margin:0;min-width:0}
#shareCreateForm .field>span{font-size:14px;line-height:1.4}
#shareCreateForm input,#shareCreateForm select,#shareCreateForm textarea{min-width:0;max-width:100%;font-size:16px}
#shareCreateForm select{width:100%;min-height:48px}
#shareCreateForm textarea{width:100%;min-height:96px;resize:vertical}
.share-name-option{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;cursor:pointer}
.share-name-option input{flex:0 0 18px;width:18px;min-height:18px;height:18px;margin:2px 0 0;accent-color:var(--coral-action)}
.share-send-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.share-view .share-actions,.share-helper-actions{display:grid;gap:12px}
.share-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.share-controls .button,.share-helper-actions .button{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;min-height:52px;margin:0;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.3;text-align:center;white-space:normal;text-decoration:none}
.share-controls .button .tt-icon,.share-helper-actions .tt-icon{flex:0 0 18px;width:18px;height:18px}
.share-controls .button span,.share-helper-actions .button span{min-width:0;overflow-wrap:anywhere}
.share-controls .button:disabled{opacity:.55;cursor:default;transform:none}
.share-controls :focus-visible,.share-history :focus-visible,.share-helper :focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.share-view .share-privacy{display:flex;align-items:flex-start;gap:9px;margin:0;padding:0 4px;background:transparent;color:var(--muted);border:0;border-radius:0;font-size:13px;line-height:1.5}
.share-privacy>.tt-icon{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--plum)}
.share-privacy p{margin:0;font-size:inherit;line-height:inherit}
.share-version-note{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.share-error{display:flex;flex-wrap:wrap;gap:8px;color:var(--coral-action);font-size:14px;line-height:1.5}
.share-error .text-link{min-height:44px}
.share-view .completed-recap{padding:16px 4px 0;border-top:1px solid var(--line);margin:0;color:var(--muted)}
.share-view .completed-recap .eyebrow{font-size:12px;margin:0}
.share-view .completed-recap h2{font:500 22px/1.2 var(--serif);margin:6px 0;color:var(--ink)}
.share-view .completed-recap p:not(.eyebrow){font-size:13px;line-height:1.5;margin:6px 0}
.share-view .completed-recap .button{font-size:13px;min-height:44px;padding:10px 14px;margin-top:8px}
.share-history{border-top:1px solid var(--line);padding-top:16px;min-width:0}
.share-history>summary{padding:8px 4px;min-height:44px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer}
.share-history .share-list{margin-top:12px}
.share-list-item>.text-link{min-width:0;overflow-wrap:anywhere;text-align:left}
.share-list-item>.text-link[aria-pressed=true]{color:var(--plum)}
.share-list-item>.mini-icon{flex:0 0 44px;min-height:44px}
.modal.share-helper-shell{width:min(480px,100%);padding:24px;max-height:calc(100dvh - 32px)}
.share-helper .modal-head{margin-bottom:20px}
.share-helper .modal-head h2{font:500 var(--type-h2)/1.15 var(--serif);overflow-wrap:anywhere}
.share-helper>p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.share-helper-actions{margin-top:24px;padding-bottom:4px}
.share-shell [hidden],.share-helper [hidden]{display:none!important}
@container share (max-width:960px){.share-view .share-preview{grid-template-columns:minmax(0,1fr)}.share-view .share-controls{width:100%}}
@media(max-width:600px){.share-view .share-shell{gap:24px}.share-view .share-preview{gap:24px}.share-view .share-controls{padding:20px}.share-secondary-actions{grid-template-columns:minmax(0,1fr)}.share-view .share-image-card{padding:6px;border-radius:16px}.share-placeholder{min-height:180px;padding:20px}.share-view{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
.vote-saved-actions { display:grid; grid-template-columns:auto auto; justify-content:start; align-items:stretch; gap:16px; padding:24px 0 8px; }
.vote-saved-actions .button { height:52px; min-height:52px; padding:12px 20px; }
@media(max-width:480px) {
  .vote-saved-actions { grid-template-columns:minmax(0,1fr); justify-content:stretch; padding-bottom:12px; }
  .vote-saved-actions .button { width:100%; }
}
