body.invitee-body{height:auto;overflow:visible;background:var(--invitee-bg, #fbf6f0)}.invitee-page{--invitee-bg: #fbf6f0;--invitee-surface: #ffffff;--invitee-ink: #3b322c;--invitee-muted: #8a7c70;--invitee-accent: #b08150;--invitee-line: #ece2d6;--invitee-radius: 16px;min-height:100dvh;padding:2rem 1rem 3rem;background:radial-gradient(1200px 400px at 50% -120px,#f6e9da 0%,transparent 70%),var(--invitee-bg);color:var(--invitee-ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.invitee-loading{margin:auto;color:var(--invitee-muted);font-size:1.1rem}.invitee-hero{text-align:center;max-width:34rem;padding:1.5rem 1rem .5rem}.invitee-hero-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:var(--invitee-muted);margin-bottom:.75rem}.invitee-script{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:clamp(2.4rem,11vw,3.6rem);line-height:1.1;color:var(--invitee-ink)}.invitee-hero-name{margin-top:1.25rem;font-size:1.25rem;font-weight:600}.invitee-hero:after{content:"";display:block;width:3rem;height:1px;margin:1.25rem auto 0;background:var(--invitee-accent);opacity:.6}.invitee-card{width:100%;max-width:34rem;background:var(--invitee-surface);border:1px solid var(--invitee-line);border-radius:var(--invitee-radius);box-shadow:0 6px 28px #5a422d12;padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.invitee-h2{font-family:Georgia,Times New Roman,serif;font-weight:400;font-size:1.45rem}.invitee-lead{color:var(--invitee-muted);font-size:.95rem}.invitee-info-row{display:flex;gap:.9rem;align-items:flex-start;padding:.75rem 0;border-top:1px solid var(--invitee-line)}.invitee-info-row:first-of-type{border-top:none;padding-top:0}.invitee-info-icon{font-size:1.2rem;line-height:1.4}.invitee-info-body{flex:1;min-width:0}.invitee-info-label{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--invitee-muted)}.invitee-info-value{font-size:1.02rem;word-break:break-word}.invitee-info-sub{color:var(--invitee-muted);font-size:.9rem}.invitee-map-link{align-self:flex-start;color:var(--invitee-accent);font-weight:600;text-decoration:none}.invitee-map-link:hover{text-decoration:underline}.invitee-rsvp-options{display:flex;flex-direction:column;gap:.6rem}.invitee-rsvp-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.9rem 1rem;text-align:left;font-size:1rem;color:var(--invitee-ink);background:var(--invitee-surface);border:1.5px solid var(--invitee-line);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.invitee-rsvp-option:hover{border-color:var(--invitee-accent)}.invitee-rsvp-option.selected{border-color:var(--invitee-accent);background:#fdf6ec;font-weight:600}.invitee-rsvp-icon{font-size:1.2rem}.invitee-field{display:flex;flex-direction:column;gap:.5rem}.invitee-label{font-size:.9rem;font-weight:600}.invitee-stepper{display:flex;align-items:center;gap:1rem;align-self:flex-start}.invitee-stepper button{width:2.5rem;height:2.5rem;font-size:1.3rem;line-height:1;color:var(--invitee-ink);background:var(--invitee-surface);border:1.5px solid var(--invitee-line);border-radius:50%;cursor:pointer}.invitee-stepper button:hover:not(:disabled){border-color:var(--invitee-accent)}.invitee-stepper button:disabled{opacity:.35;cursor:default}.invitee-stepper output{min-width:4rem;text-align:center;font-size:1.05rem}.invitee-chips{display:flex;flex-wrap:wrap;gap:.4rem}.invitee-chip{padding:.35rem .7rem;font-size:.85rem;color:var(--invitee-muted);background:var(--invitee-bg);border:1px solid var(--invitee-line);border-radius:999px;cursor:pointer}.invitee-chip:hover{border-color:var(--invitee-accent);color:var(--invitee-ink)}.invitee-textarea,.invitee-code-input{width:100%;padding:.75rem .9rem;font-size:1rem;color:var(--invitee-ink);background:var(--invitee-surface);border:1.5px solid var(--invitee-line);border-radius:12px;resize:vertical}.invitee-textarea:focus,.invitee-code-input:focus{outline:none;border-color:var(--invitee-accent)}.invitee-hint{font-size:.85rem;color:var(--invitee-muted);margin:-.2rem 0 .6rem;line-height:1.45}.invitee-people{display:flex;flex-direction:column;gap:.45rem}.invitee-person{display:flex;align-items:center;gap:.4rem}.invitee-person-primary{padding:.55rem .75rem;background:var(--invitee-surface);border:1.5px dashed var(--invitee-line);border-radius:12px}.invitee-person-name{font-weight:600}.invitee-person-you{font-size:.72rem;color:var(--invitee-muted);border:1px solid var(--invitee-line);border-radius:999px;padding:.05rem .45rem}.invitee-person-input{flex:1;min-width:0;padding:.55rem .7rem;font-size:.95rem;color:var(--invitee-ink);background:var(--invitee-surface);border:1.5px solid var(--invitee-line);border-radius:12px}.invitee-person-input:focus{outline:none;border-color:var(--invitee-accent)}.invitee-person-reply{display:flex;gap:2px;flex-shrink:0}.invitee-mini{border:1.5px solid var(--invitee-line);background:var(--invitee-surface);color:var(--invitee-muted);border-radius:10px;padding:.35rem .5rem;font-size:.78rem;cursor:pointer}.invitee-mini.selected{border-color:var(--invitee-accent);color:var(--invitee-ink);font-weight:600}.invitee-person-remove{border:none;background:none;cursor:pointer;flex-shrink:0;color:var(--invitee-muted);font-size:1.15rem;line-height:1;padding:0 .2rem}.invitee-person-remove:hover{color:var(--invitee-ink)}.invitee-add-person{margin-top:.5rem;border:1.5px dashed var(--invitee-line);background:none;color:var(--invitee-muted);cursor:pointer;border-radius:12px;padding:.5rem .8rem;font-size:.88rem}.invitee-add-person:hover{border-color:var(--invitee-accent);color:var(--invitee-ink)}.invitee-counter{margin-top:.25rem;text-align:right;font-size:.78rem;color:var(--invitee-muted)}.invitee-btn{padding:.9rem 1.25rem;font-size:1rem;font-weight:600;color:#fff;background:var(--invitee-accent);border:none;border-radius:12px;cursor:pointer;transition:opacity .15s}.invitee-btn:hover:not(:disabled){opacity:.9}.invitee-btn:disabled{opacity:.4;cursor:default}.invitee-error{color:#b3392c;font-size:.9rem}.invitee-success{color:#2f7a4d;font-size:.95rem;font-weight:600}.invitee-code-entry{margin:auto;text-align:center;gap:1.25rem}.invitee-code-input{text-align:center;letter-spacing:.25em;font-size:1.35rem;text-transform:uppercase}.invitee-footer{text-align:center;color:var(--invitee-muted);font-size:.9rem;padding-top:.5rem}.invitee-footer-code{margin-top:.35rem;font-size:.75rem;letter-spacing:.1em;opacity:.7}@media(min-width:640px){.invitee-page{padding:3rem 1.5rem 4rem}.invitee-card{padding:2rem 2.25rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fdf8f3;--surface: #ffffff;--primary: #c0392b;--primary-light: #e8d5d0;--accent: #8e6f3e;--text: #333333;--text-light: #777777;--text-muted: #888888;--border: #e5ddd5;--selected-bg: #fef9f0;--selected-border: #c0392b;--over-budget: #e74c3c;--under-budget: #27ae60;--shadow: 0 2px 8px rgba(0,0,0,.08);--radius: 10px}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;height:100dvh;overflow:hidden}.app{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.content-scroller{flex:1;overflow-y:auto;min-height:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,button{font-family:inherit;font-size:inherit}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.4rem;color:var(--text-light)}.login-overlay{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,var(--bg) 0%,var(--primary-light) 100%)}.login-form{background:var(--surface);padding:2.5rem 2rem;border-radius:var(--radius);box-shadow:0 4px 24px #0000001f;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1rem;text-align:center}.login-form h2{font-size:1.5rem;color:var(--primary);margin-bottom:0}.login-subtitle{color:var(--text-light);font-size:.9rem;margin-top:-.5rem}.login-form input{padding:.7rem 1rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;outline:none;transition:border-color .2s}.login-form input:focus{border-color:var(--primary)}.login-form button{padding:.7rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.login-form button:disabled{opacity:.5;cursor:not-allowed}.login-form button:hover:not(:disabled){opacity:.9}.login-error{color:var(--over-budget);font-size:.85rem}.login-success{color:var(--under-budget);font-size:.85rem}.pw-input-wrap{position:relative;display:flex;align-items:center}.pw-input-wrap input{flex:1;padding-right:2.4rem!important}.pw-toggle{position:absolute;right:.5rem;background:none;border:none;cursor:pointer;color:var(--text-light);padding:.2rem;display:flex;align-items:center}.pw-toggle:hover{color:var(--text)}.header{flex-shrink:0;background:linear-gradient(135deg,var(--primary) 0%,#a93226 100%);color:#fff;text-align:center;padding:1rem;position:relative}.header h1{font-size:1.4rem;font-weight:700}.header-actions{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.4rem}.header-logout{background:#fff3;border:none;color:#fff;padding:.3rem .7rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:background .2s}.header-logout:hover{background:#ffffff59}.header-change-pw{background:#ffffff26;border:none;color:#fff;padding:.3rem .5rem;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s}.header-change-pw:hover{background:#ffffff4d}.subtitle{font-size:.85rem;opacity:.85;margin-top:.2rem}.header-username{font-size:.78rem;opacity:.9;white-space:nowrap;padding:0 .3rem;letter-spacing:.01em}.header-admin-badge{font-size:.7rem;font-weight:700;letter-spacing:.03em;background:#ffffff40;color:#fff;padding:.1rem .45rem;border-radius:4px;white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-box{background:var(--surface);border-radius:12px;padding:1.8rem 2rem;max-width:380px;width:100%;box-shadow:0 8px 32px #0000004d}.modal-box h3{margin:0 0 1.2rem;font-size:1.1rem}.change-pw-form{display:flex;flex-direction:column;gap:.8rem}.change-pw-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--text-muted)}.change-pw-form input[type=password],.change-pw-form input[type=text]{padding:.45rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;color:var(--text);background:var(--surface)}.pw-hint{font-size:.78rem;color:var(--text-muted);margin:0}.modal-actions{display:flex;gap:.6rem;margin-top:.4rem}.btn-primary{flex:1;padding:.5rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:opacity .2s}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.9rem;cursor:pointer;color:var(--text)}.error-msg{color:#c0392b;font-size:.85rem;margin:0}.success-msg{color:#27ae60;font-size:1rem;text-align:center;padding:1rem 0}.confirm-box{max-width:360px}.confirm-message{margin:0 0 1.2rem;font-size:.95rem;color:var(--text);line-height:1.4}.btn-danger{background:#c0392b}.btn-danger:hover:not(:disabled){background:#a93226}.budget-bar{flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);padding:.4rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;box-shadow:var(--shadow)}.budget-item{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.budget-label{font-weight:600;white-space:nowrap}.editable{cursor:pointer;border-bottom:1px dashed var(--accent);padding:0 2px}.editable:hover{background:var(--primary-light)}.budget-input{width:110px;padding:2px 6px;border:1px solid var(--primary);border-radius:4px;outline:none;text-align:right}.over-budget{color:var(--over-budget);font-weight:700}.under-budget{color:var(--under-budget);font-weight:700}.budget-progress-bar{width:100%;height:6px;background:#eee;border-radius:3px;overflow:hidden}.budget-progress-fill{height:100%;background:var(--under-budget);border-radius:3px;transition:width .3s}.budget-progress-fill.over{background:var(--over-budget)}.nav-tabs{display:flex;flex-wrap:nowrap;gap:2px;background:var(--surface);border-bottom:2px solid var(--border);padding:0 .5rem;flex-shrink:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{display:flex;flex-direction:column;align-items:center;padding:.5rem .7rem;border:none;background:none;cursor:pointer;font-size:.78rem;color:var(--text-light);border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;flex-shrink:0}.nav-tab:hover{color:var(--text);background:var(--primary-light)}.nav-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-icon{font-size:1.2rem}.tab-label{margin-top:2px}.content{max-width:1200px;margin:0 auto;padding:1rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}.section-header h2{font-size:1.3rem}.option-count{font-size:.85rem;color:var(--text-light)}.empty-msg{text-align:center;color:var(--text-light);padding:2rem 0;font-style:italic}.option-wrapper{position:relative;margin-bottom:.8rem}.btn-delete-option{position:absolute;top:.6rem;right:.6rem;background:none;border:none;cursor:pointer;font-size:1.1rem;opacity:.4;z-index:2}.btn-delete-option:hover{opacity:1}.option-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,box-shadow .2s}.option-card:hover{box-shadow:var(--shadow)}.option-card.selected{border-color:var(--selected-border);background:var(--selected-bg);box-shadow:0 0 0 1px var(--selected-border)}.option-card.over-capacity{border-color:#e57373;background:#fff5f5}.option-card.over-capacity .card-header{background:#e5737314}.option-card.over-capacity.selected{border-color:var(--over-budget);background:#fef0f0;box-shadow:0 0 0 1px var(--over-budget)}.card-header{padding:.8rem 1rem;cursor:pointer}.card-title-row{display:flex;align-items:center;gap:.6rem}.card-title{font-size:1.05rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title-input{font-size:1.05rem;font-weight:600;flex:1;min-width:0;padding:.15rem .4rem;border:1px solid var(--border, #ccc);border-radius:4px}.expand-icon{font-size:.8rem;color:var(--text-light);margin-left:auto;flex-shrink:0}.radio-select{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.radio-select input{display:none}.radio-custom{width:22px;height:22px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.radio-select input:checked+.radio-custom{border-color:var(--primary);background:var(--primary)}.radio-select input:checked+.radio-custom:after{content:"✓";color:#fff;font-size:.75rem;font-weight:700}.tag{font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:600;white-space:nowrap;flex-shrink:0}.tag-detail{background:#d4edda;color:#155724}.tag-info{background:#cce5ff;color:#004085}.tag-pending{background:#fff3cd;color:#856404}.card-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.4rem;font-size:.85rem;color:var(--text-light)}.cost-preview{font-weight:600;color:var(--accent)}.missing-badge{font-size:.75rem;background:#fff3cd;color:#856404;padding:1px 8px;border-radius:10px;font-weight:600}.capacity-warn{font-size:.75rem;background:#ffebee;color:#c62828;padding:1px 8px;border-radius:10px;font-weight:600}.capacity-badge{cursor:pointer;border-bottom:1px dashed var(--accent)}.capacity-badge:hover{background:var(--primary-light);border-radius:4px}.capacity-badge.empty{color:var(--text-light);font-style:italic}.rating-preview{font-weight:600;color:#f39c12;background:#fef9e7;padding:0 6px;border-radius:4px}.capacity-inline-input{width:60px;border:1px solid var(--primary);border-radius:4px;padding:1px 4px;text-align:right;outline:none;font-size:.85rem}.distance-row{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin-top:.3rem;font-size:.82rem;color:var(--text-light)}.card-body{padding:.8rem 1rem 1rem;border-top:1px solid var(--border)}.star-rating{display:flex;align-items:center;gap:2px;margin-bottom:.8rem}.star{font-size:1.3rem;cursor:pointer;color:#ddd;transition:color .15s}.star.filled{color:#f1c40f}.star:hover{transform:scale(1.15)}.star-value{margin-left:.5rem;font-size:.85rem;color:var(--text-light);font-weight:600}.info-section{margin-bottom:.8rem;font-size:.9rem}.info-row{margin-bottom:.3rem}.info-row a{word-break:break-all}.details-section{margin-bottom:.8rem}.details-section h4{font-size:.9rem;margin-bottom:.4rem;color:var(--accent)}.detail-row{display:flex;gap:.3rem;font-size:.88rem;padding:.15rem 0;align-items:flex-start}.detail-key{font-weight:600;white-space:nowrap;min-width:120px;cursor:pointer}.detail-key:hover .btn-edit-inline{opacity:1}.detail-key-input{font-weight:600;min-width:100px;max-width:160px;border:none;border-bottom:1px dashed transparent;background:transparent;padding:1px 2px;outline:none;font-size:.88rem}.detail-key-input:focus{border-bottom-color:var(--primary);background:#faf7f2}.detail-sep{font-weight:600;flex-shrink:0}.detail-value-input{flex:1;border:none;border-bottom:1px dashed transparent;background:transparent;padding:1px 2px;outline:none;font-size:.88rem}.detail-value-input:focus{border-bottom-color:var(--primary);background:#faf7f2}.detail-value{flex:1;cursor:pointer;padding:2px 4px;border-radius:4px;word-break:break-word;white-space:pre-wrap;display:inline-flex;align-items:flex-start;gap:.3rem;min-height:1.4em}.detail-value:hover{background:#faf7f2}.detail-delete{opacity:0;transition:opacity .15s;flex-shrink:0;font-size:1rem;color:#c33;cursor:pointer;background:none;border:none;padding:0 .2rem;line-height:1}.detail-row:hover .detail-delete{opacity:1}.links-section{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}.btn-map,.btn-link{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s}.btn-map{background:#e8f5e9;color:#2e7d32}.address-row{align-items:center}.btn-geocode{flex-shrink:0;padding:.2rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.9rem;transition:all .2s}.btn-geocode:hover{background:#e8f5e9;border-color:#2e7d32}.btn-geocode:disabled{opacity:.4;cursor:not-allowed}.btn-map:hover{background:#c8e6c9;text-decoration:none}.btn-link{background:#e3f2fd;color:#1565c0}.btn-link:hover{background:#bbdefb;text-decoration:none}.btn-scrape{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border-radius:6px;font-size:.85rem;font-weight:600;background:#fff3e0;color:#e65100;border:1px solid #ffcc80;cursor:pointer;transition:background .2s}.btn-scrape:hover{background:#ffe0b2}.btn-scrape:disabled{opacity:.6;cursor:wait}.cost-editor{margin-bottom:.8rem}.cost-table{width:100%;border-collapse:collapse;font-size:.88rem}.cost-table th{text-align:left;padding:.3rem .4rem;border-bottom:2px solid var(--border);font-size:.8rem;color:var(--text-light)}.cost-table td{padding:.3rem .4rem;border-bottom:1px solid #f0ebe5}.cost-table tr.missing-cost{background:#fff8e7}.cost-label-input{border:none;background:transparent;width:100%;padding:2px 0;outline:none}.cost-label-input:focus{border-bottom:1px solid var(--primary)}.cost-value-input{width:90px;border:1px solid var(--border);border-radius:4px;padding:2px 4px;text-align:right;outline:none}.cost-value-input:focus{border-color:var(--primary)}.per-person-tag{font-size:.7rem;color:var(--text-light);margin-left:3px}.cost-count-input{width:60px;border:1px solid var(--border);border-radius:4px;padding:2px 4px;text-align:right;outline:none}.cost-count-input:focus{border-color:var(--primary)}.cost-line-total{text-align:right;white-space:nowrap;font-weight:600}.cost-total-row td{border-top:2px solid var(--border)}.notes-section{margin-top:.5rem}.notes-section h4{font-size:.9rem;margin-bottom:.3rem;color:var(--accent)}.notes-text{font-size:.88rem;white-space:pre-wrap;cursor:pointer;padding:.4rem;border-radius:4px;min-height:2rem;background:#faf7f2}.notes-text:hover{background:var(--primary-light)}.notes-textarea{width:100%;min-height:80px;padding:.5rem;border:1px solid var(--primary);border-radius:6px;resize:vertical;outline:none}.btn-small{padding:.35rem .8rem;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-small:hover{background:#f5efe8}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:#a93226}.btn-add{border-style:dashed}.btn-add-cost{margin-top:.4rem;border-style:dashed;font-size:.82rem}.btn-add-detail{margin-top:.3rem;border-style:dashed;font-size:.82rem}.btn-icon{background:none;border:none;cursor:pointer;font-size:1rem;padding:0 4px}.btn-delete{color:var(--over-budget)}.add-option{margin-top:.8rem}.add-form{display:flex;gap:.5rem;align-items:center}.add-form input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;outline:none}.add-form input:focus{border-color:var(--primary)}.budget-section h2{margin-bottom:1rem}.budget-settings{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.2rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.budget-settings label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600}.budget-settings input{width:130px;padding:.3rem .5rem;border:1px solid var(--border);border-radius:4px;text-align:right;outline:none}.budget-settings input:focus{border-color:var(--primary)}.fmt-hint{font-size:.8rem;color:var(--text-light);font-weight:400}.budget-table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}.budget-table th{text-align:left;padding:.6rem .8rem;background:var(--primary-light);font-size:.85rem}.budget-table td{padding:.6rem .8rem;border-bottom:1px solid var(--border)}.budget-table tr.no-selection td{color:var(--text-light)}.budget-amount{text-align:right;white-space:nowrap}.budget-total-row td{border-top:2px solid var(--primary);font-size:1.05rem}.budget-remaining-row td{font-size:1.05rem}.checklist-section h2{margin-bottom:.8rem}.checklist-progress{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-bottom:1rem}.checklist-progress-fill{height:100%;background:var(--under-budget);border-radius:4px;transition:width .3s}.checklist-add{display:flex;gap:.5rem;margin-bottom:1rem}.checklist-add input{flex:1;padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;outline:none}.checklist-add input:focus{border-color:var(--primary)}.checklist-list{list-style:none}.checklist-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-bottom:1px solid var(--border);transition:background .2s}.checklist-item:hover{background:#faf7f2}.checklist-item.done .check-text{text-decoration:line-through;color:var(--text-light)}.check-label{display:flex;align-items:center;gap:.5rem;flex:1;cursor:pointer}.check-text{font-size:.95rem}.check-due-input{padding:.25rem .4rem;font-size:.85rem;color:var(--text-light);border:1px solid var(--border);border-radius:6px;background:var(--surface)}.checklist-add .check-due-input{flex:0 0 auto;padding:.5rem}.checklist-add button{flex:0 0 auto}.check-due-label{font-size:.78rem;font-weight:600;white-space:nowrap}.checklist-item.due-late{background:#fdecea;border-left:4px solid var(--over-budget)}.checklist-item.due-late:hover{background:#fbdcd8}.checklist-item.due-late .check-due-label,.checklist-item.due-late .check-due-input{color:#a93226;border-color:#f1a9a0}.checklist-item.due-soon{background:#fff8e1;border-left:4px solid #ffc107}.checklist-item.due-soon:hover{background:#fff1c2}.checklist-item.due-soon .check-due-label,.checklist-item.due-soon .check-due-input{color:#856404;border-color:#ffd966}.checklist-due-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.due-chip{font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:12px}.due-chip.due-late{background:#fdecea;color:#a93226}.due-chip.due-soon{background:#fff3cd;color:#856404}@media(max-width:600px){.checklist-add{flex-wrap:wrap}.checklist-add input[type=text]{flex-basis:100%}.checklist-add .check-due-input{flex:1}.checklist-item{flex-wrap:wrap}.check-label{flex-basis:100%}.checklist-item .check-due-input{margin-left:auto}}.tbd-toggle{display:flex;align-items:center;gap:.4rem}.tbd-btn{font-size:.7rem;padding:1px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;font-weight:600}.tbd-btn.active{background:#fff3cd;border-color:#ffc107;color:#856404}.tbd-btn:hover{background:#fff3cd}.cost-label-cell{display:flex;align-items:center;gap:.3rem}.opt-out-btn{font-size:.85rem;width:20px;height:20px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;padding:0;line-height:1;color:var(--under-budget)}.opt-out-btn.opted-out{color:var(--text-light);border-color:#ddd}.opt-out-btn:hover{border-color:var(--primary)}.cost-table tr.opted-out-row{opacity:.45;text-decoration:line-through;background:#f5f5f5}.cost-table tr.opted-out-row .cost-line-total{color:var(--text-light);font-style:italic}.tbd-tag{font-size:.7rem;background:#fff3cd;color:#856404;padding:1px 6px;border-radius:4px;font-weight:700;white-space:nowrap}.cost-table tr.tbd-row{background:#fffdf5}.cost-table tr.tbd-row .cost-line-total{color:#856404;font-style:italic}.drag-handle{cursor:grab;color:var(--text-light);font-size:1.1rem;padding:0 4px;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline-block;line-height:1}.drag-handle:active{cursor:grabbing}.cost-drag-th{width:18px;padding:0 2px!important}.cost-drag-handle{cursor:grab;color:var(--text-light);font-size:1rem;padding:0 4px;-webkit-user-select:none;user-select:none;width:18px}.cost-drag-handle:active{cursor:grabbing}.detail-drag-handle{cursor:grab;color:var(--text-light);font-size:1rem;padding:0 4px;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1.4}.detail-drag-handle:active{cursor:grabbing}.detail-row.drag-target{outline:2px dashed var(--primary);border-radius:4px;background:#c0392b0a}.option-wrapper{display:flex;align-items:flex-start;gap:.3rem}.option-wrapper .drag-handle{margin-top:.85rem}.option-wrapper>.option-card{flex:1;min-width:0;width:0}.option-wrapper.drag-target{outline:2px dashed var(--primary);border-radius:var(--radius)}.cost-table tr.drag-target td{background:#fde8e8}.tbd-summary{font-size:.82rem;color:#856404;font-weight:600;margin-top:.2rem}.budget-tbd{font-size:.8rem;color:#856404;font-weight:600}.editable-field{display:flex;align-items:flex-start;gap:.3rem;margin-bottom:.3rem;font-size:.9rem}.editable-field strong{min-width:80px;flex-shrink:0;padding-top:2px}.field-label-text{flex:1;cursor:pointer;padding:2px 4px;border-radius:4px;word-break:break-word;white-space:pre-wrap;display:inline-flex;align-items:flex-start;gap:.3rem;min-height:1.4em}.field-label-text:hover{background:#faf7f2}.field-placeholder{color:var(--text-light)}.btn-edit-inline{background:none;border:none;cursor:pointer;font-size:.75rem;opacity:0;transition:opacity .15s;flex-shrink:0;padding:0}.field-label-text:hover .btn-edit-inline,.detail-value:hover .btn-edit-inline,.card-title:hover .btn-edit-inline{opacity:.7}.field-edit-input{flex:1;border:1px solid var(--primary);border-radius:4px;background:#faf7f2;padding:2px 6px;outline:none;font-size:.9rem}.files-section{position:relative;margin-bottom:.8rem;border:2px dashed transparent;border-radius:var(--radius);padding:.4rem;transition:all .2s}.files-section.drag-over{border-color:var(--primary);background:#c0392b0a}.files-section h4{font-size:.9rem;margin-bottom:.4rem;color:var(--accent)}.upload-spinner{font-size:.85rem;margin-left:.3rem}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#ffffffd9;border-radius:var(--radius);font-size:1.1rem;font-weight:600;color:var(--primary);pointer-events:none}.documents-list{margin-top:.5rem}.document-row{display:flex;align-items:center;gap:.4rem;padding:.25rem .3rem;font-size:.88rem;border-bottom:1px solid #f0ebe5;transition:background .15s}.document-row:hover{background:#faf7f2}.doc-icon{font-size:1.1rem;flex-shrink:0}.doc-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem}.images-section{margin-bottom:.8rem}.images-section h4{font-size:.9rem;margin-bottom:.4rem;color:var(--accent)}.image-thumbs{display:flex;flex-wrap:wrap;gap:.5rem}.image-thumb{position:relative;width:90px;height:70px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid var(--border);transition:border-color .2s}.image-thumb:hover{border-color:var(--primary)}.image-thumb img{width:100%;height:100%;object-fit:cover}.image-thumb .img-delete{position:absolute;top:2px;right:2px;background:#0009;color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:.7rem;cursor:pointer;display:none;align-items:center;justify-content:center}.image-thumb:hover .img-delete{display:flex}.image-upload-btn{width:90px;height:70px;border:2px dashed var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;color:var(--text-light);transition:all .2s;background:none}.image-upload-btn:hover{border-color:var(--primary);color:var(--primary)}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center}.lightbox img{max-width:90vw;max-height:85vh;border-radius:8px;object-fit:contain}.lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);color:#fff;font-size:.95rem;text-align:center;background:#00000080;padding:.3rem 1rem;border-radius:6px}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:2rem;padding:.5rem 1rem;cursor:pointer;border-radius:6px;transition:background .2s}.lightbox-nav:hover{background:#ffffff4d}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-content{position:relative;display:flex;align-items:center;justify-content:center}.lightbox-counter{position:absolute;bottom:.5rem;right:1rem;color:#ffffffb3;font-size:.85rem}.tbd-inline{margin-left:.3rem;font-size:.75rem;vertical-align:middle}.pp-btn{font-size:.65rem;padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;font-weight:600;color:var(--text-light)}.pp-btn.active{background:#e3f2fd;border-color:#64b5f6;color:#1565c0}.pp-btn:hover{background:#e3f2fd}@media(max-width:480px){.login-overlay{align-items:flex-start;padding-top:1.5rem}.login-form{padding:1.5rem 1rem;border-radius:0;box-shadow:none;max-width:100%;min-height:100dvh}}@media(max-width:768px){.header{padding:.4rem .6rem;display:flex;flex-direction:row}.header h1{font-size:.8rem}.header-actions{justify-content:center;margin-left:auto}.header-logout-label,.header-admin-badge{display:none}.budget-bar{padding:.3rem .6rem;gap:.4rem .8rem;font-size:.6rem}.nav-tab{padding:.4rem .6rem;font-size:.72rem}.tab-icon{font-size:1.1rem}.tab-label{display:none}.content{padding:.6rem}.card-title{font-size:.95rem}.cost-table{font-size:.8rem}.cost-drag-th,.cost-drag-handle,.detail-drag-handle{display:none}.detail-key{min-width:80px}.budget-settings{flex-direction:column}}.guest-list-section h2{margin-bottom:1rem}.guest-summary{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}.guest-stat-card{flex:1;min-width:140px;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.guest-stat-card.stat-danger{border-color:var(--over-budget);background:#fff5f5}.guest-stat-card.stat-ok{border-color:var(--under-budget);background:#f0faf0}.guest-stat-card.stat-maybe{border-color:#f5a623;background:#fffbf0}.stat-number{font-size:1.6rem;font-weight:700;color:var(--primary)}.stat-danger .stat-number{color:var(--over-budget)}.stat-ok .stat-number{color:var(--under-budget)}.stat-maybe .stat-number{color:#d4870a}.stat-label{font-size:.85rem;font-weight:600;margin-top:.1rem}.stat-detail{font-size:.78rem;color:var(--text-light);margin-top:.2rem}.tier-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;align-items:center}.tier-group{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}.tier-badge{font-size:.82rem;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.tier-must{background:#d4edda;color:#155724}.tier-nice{background:#cce5ff;color:#004085}.tier-blist{background:#fff3cd;color:#856404}.btn-tier-toggle{font-size:.7rem;padding:2px 6px;border-radius:4px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s}.btn-tier-toggle:hover{background:var(--primary-light)}.capacity-progress{margin-bottom:.8rem}.capacity-bar{position:relative;width:100%;height:22px;background:#eee;border-radius:11px;overflow:hidden;display:flex}.capacity-fill{height:100%;background:var(--under-budget);transition:width .3s}.capacity-fill.over{background:var(--over-budget)}.capacity-fill-maybe{height:100%;background:#f5a623;transition:width .3s}.capacity-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#333}.guest-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;align-items:center}.guest-toolbar select{padding:.3rem .5rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem;outline:none}.guest-toolbar select:focus{border-color:var(--primary)}.guest-add-form{display:flex;gap:.5rem;margin-bottom:.8rem}.guest-add-form input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;outline:none;font-size:.9rem}.guest-add-form input:focus{border-color:var(--primary)}.guest-table-wrap{overflow-x:auto}.guest-table{width:100%;border-collapse:collapse;font-size:.88rem;background:var(--surface);border-radius:var(--radius);overflow:hidden}.guest-table th{text-align:left;padding:.4rem .5rem;border-bottom:2px solid var(--border);font-size:.8rem;color:var(--text-light);white-space:nowrap}.guest-table td{padding:.3rem .5rem;border-bottom:1px solid #f0ebe5}.guest-row.not-invited{opacity:.5}.guest-row.not-invited .guest-name{text-decoration:line-through}.guest-row:hover{background:#faf7f2}.invite-toggle{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--surface);cursor:pointer;font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .15s}.invite-toggle.on{background:var(--under-budget);border-color:var(--under-budget);color:#fff}.invite-toggle.off{color:var(--text-light)}.invite-toggle:hover{border-color:var(--primary)}.guest-name{cursor:pointer;padding:2px 4px;border-radius:4px}.guest-name:hover{background:var(--primary-light)}.guest-name-input{width:100%;border:1px solid var(--primary);border-radius:4px;padding:2px 6px;outline:none;font-size:.88rem}.guest-select{border:none;background:transparent;outline:none;font-size:.82rem;cursor:pointer;padding:2px}.guest-select:focus{background:#faf7f2}.cat-select{max-width:130px}.tier-select.tier-must{color:#155724;font-weight:600}.tier-select.tier-nice{color:#004085;font-weight:600}.tier-select.tier-blist{color:#856404;font-weight:600}.guest-size-input{width:45px;border:1px solid var(--border);border-radius:4px;padding:2px 4px;text-align:center;outline:none;font-size:.85rem}.guest-size-input:focus{border-color:var(--primary)}.rsvp-select{font-size:.82rem}.col-invite{width:50px;text-align:center}.col-seating{width:70px}.col-comment{min-width:120px}.col-size,.col-subcount{width:55px}.guest-seating-input{width:100%;box-sizing:border-box;font-size:.82rem;padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.seating-overview{display:flex;align-items:flex-start;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}.seating-overview-label{font-size:.8rem;font-weight:600;color:var(--text-light);padding-top:3px;white-space:nowrap}.seating-chips{display:flex;flex-wrap:wrap;gap:.4rem}.seating-chip{display:flex;flex-direction:column;align-items:center;min-width:52px;padding:3px 8px;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.seating-chip:hover{border-color:var(--primary);background:var(--primary-light)}.seating-chip-active{border-color:var(--primary)!important;background:var(--primary-light)!important;box-shadow:0 0 0 2px var(--primary)}.seating-chip-name{font-size:.78rem;font-weight:700;color:var(--primary)}.seating-chip-count{font-size:.72rem;color:var(--text-light)}.guest-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.guest-table th.sortable:hover{background:var(--primary-light)}.col-tier{width:80px}.col-rsvp{width:90px}.col-actions{width:36px}.guest-comment-input{width:100%;box-sizing:border-box;font-size:.82rem;padding:2px 4px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.guest-footer{font-size:.82rem;color:var(--text-light);margin-top:.5rem;text-align:center}@media(min-width:1400px){.content{max-width:1750px}.category-section .option-wrapper{display:inline-flex;width:calc(50% - .4rem);vertical-align:top;margin-right:.8rem}.category-section .option-wrapper:nth-child(2n){margin-right:0}.category-section .option-wrapper.option-wrapper--expanded{display:flex;width:100%;margin-right:0}}@media(min-width:2100px){.content{max-width:2250px}.category-section .option-wrapper{display:inline-flex;width:calc(33.333% - .54rem);margin-right:.8rem}.category-section .option-wrapper:nth-child(2n){margin-right:.8rem}.category-section .option-wrapper:nth-child(3n){margin-right:0}.category-section .option-wrapper.option-wrapper--expanded{display:flex;width:100%;margin-right:0}}@media(max-width:480px){.cost-table thead{display:none}.cost-table,.cost-table tbody,.cost-table tr,.cost-table td{display:block;width:100%}.cost-table tr{padding:.4rem .2rem;border-bottom:1px solid var(--border);position:relative}.cost-table td{padding:.1rem .2rem;border-bottom:none}.cost-line-total{text-align:left}.cost-table tfoot tr{border-top:2px solid var(--border)}.cost-drag-th,.cost-drag-handle,.detail-drag-handle,.option-wrapper .drag-handle{display:none}.distance-row{flex-direction:column;gap:.1rem}.card-title-row{flex-wrap:wrap}.budget-label{display:inline-block;max-width:2.2ch;overflow:hidden;white-space:nowrap}.budget-tbd{display:none}.budget-item span[short-format]{font-size:0}.budget-item span[short-format]:after{content:attr(short-format);font-size:.75rem}}.login-success{color:#27ae60;font-size:.85rem}.btn-link-mode{background:none!important;color:var(--primary)!important;font-weight:400!important;font-size:.85rem!important;text-decoration:underline;cursor:pointer;padding:.3rem!important}.btn-link-mode:hover{opacity:.7!important}.login-form input:disabled{opacity:.6;background:#f5f5f5}.toast-container{position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:9999;pointer-events:none}.toast{padding:.6rem 1.2rem;border-radius:8px;font-size:.9rem;font-weight:500;box-shadow:0 4px 16px #0000002e;animation:toast-in .2s ease}.toast-success{background:#27ae60;color:#fff}.toast-error{background:#c0392b;color:#fff}.toast-info{background:#2980b9;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.nav-user-badge{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.75rem;color:var(--text-light);white-space:nowrap;margin-left:auto}.admin-panel{max-width:960px;margin:0 auto;padding:1rem}.admin-panel h2{margin-bottom:1.5rem}.admin-section{background:var(--surface);border-radius:var(--radius);padding:1.2rem;margin-bottom:1.5rem;box-shadow:0 1px 4px #0000000f}.admin-section h3{margin:0 0 .8rem;font-size:1.1rem}.invite-form{display:flex;gap:.5rem;align-items:center}.invite-form input{flex:1;padding:.5rem .8rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.admin-error{color:var(--over-budget);font-size:.85rem;margin-top:.5rem}.admin-success{color:#27ae60;font-size:.85rem;margin-top:.5rem;word-break:break-all}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:.4rem .6rem;border-bottom:1px solid var(--border);text-align:left}.admin-table th{font-weight:600;color:var(--text-light);font-size:.8rem}.used-invite{opacity:.5}.expired-invite{opacity:.6;color:var(--text-light)}.user-access-list{display:flex;flex-direction:column;gap:.8rem}.user-access-card{border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;background:var(--surface)}.user-access-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.user-access-ident{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;min-width:0}.user-access-name{font-size:.95rem}.user-access-email{font-size:.8rem;color:var(--text-light);overflow-wrap:anywhere;flex-basis:100%}.user-access-self{font-size:.8rem;color:var(--text-muted)}.user-access-admin-badge{font-size:.7rem;font-weight:700;color:#fff;background:var(--primary);padding:.05rem .4rem;border-radius:4px}.user-access-actions{display:flex;gap:.2rem;flex-shrink:0}.user-access-admin-toggle{display:flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;cursor:pointer;margin-bottom:.6rem}.user-access-admin-toggle input{width:1.05rem;height:1.05rem;cursor:pointer}.user-access-admin-toggle input:disabled{cursor:not-allowed}.user-access-admin-note{font-size:.85rem;color:var(--text-light);margin:0 0 .6rem}.user-access-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.7rem}.user-access-footer .btn-small:disabled{opacity:.5;cursor:default}.user-access-dirty{font-size:.8rem;color:#d35400}.tab-access{display:flex;flex-direction:column;gap:.6rem}.tab-access-helpers{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.tab-access-helpers .btn-small:disabled{opacity:.5;cursor:default}.tab-access-count{font-size:.8rem;color:var(--text-light);margin-left:auto}.tab-access-group-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.3rem}.tab-access-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.35rem}.tab-access-option{display:flex;align-items:center;gap:.4rem;padding:.4rem .55rem;min-height:2.4rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.tab-access-option:hover{border-color:var(--primary-light)}.tab-access-option.checked{background:var(--selected-bg);border-color:var(--selected-border)}.tab-access-option input{flex-shrink:0;cursor:pointer}.tab-access-icon{flex-shrink:0}.tab-access-label{min-width:0;overflow-wrap:anywhere}.tab-access--disabled .tab-access-option{opacity:.55;cursor:default}.impersonation-section .tab-access{margin-bottom:.8rem}.impersonation-section{border:2px dashed #f39c12;background:#fef9e7}.imp-desc{font-size:.85rem;color:var(--text-light);margin:0 0 .8rem}.imp-role-label{display:flex;align-items:center;gap:.3rem;font-size:.9rem;cursor:pointer}.imp-role-label input[disabled]{cursor:not-allowed}.imp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem}.btn-warning{background:#e67e22;color:#fff;border:none;border-radius:6px;padding:.4rem 1rem;cursor:pointer;font-size:.85rem}.btn-warning:hover{background:#d35400}.imp-badge{background:#f39c12;color:#fff;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:600}.header-imp-badge{position:absolute;left:50%;transform:translate(-50%);background:#f39c12;color:#fff;padding:.2rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600;animation:pulse-imp 2s ease-in-out infinite}@keyframes pulse-imp{0%,to{opacity:1}50%{opacity:.6}}.invite-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-gmail{display:inline-block;background:#d93025;color:#fff!important;border:none;border-radius:6px;padding:.3rem .8rem;font-size:.8rem;text-decoration:none;cursor:pointer}.btn-gmail:hover{background:#b71c1c}.guest-table .col-code{white-space:nowrap}.guest-code-cell{display:flex;align-items:center;gap:.25rem}.guest-code{font-family:Consolas,Courier New,monospace;font-size:.8rem;letter-spacing:.04em;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.1rem .3rem}.guest-code-empty{color:var(--text-muted)}a.btn-icon{text-decoration:none;display:inline-flex;align-items:center}a.btn-icon:hover{text-decoration:none}.event-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem 1rem;margin-bottom:.75rem}.event-field{display:flex;flex-direction:column;gap:.25rem}.event-field-label{font-size:.8rem;color:var(--text-light)}.event-field input{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.event-field input:focus{outline:none;border-color:var(--primary)}.no-access-message{max-width:480px;margin:3rem auto;padding:1.5rem;text-align:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--text);line-height:1.5}.no-access-icon{font-size:2.2rem;margin-bottom:.5rem}.rsvp-tracker{padding:.5rem 0}.rsvp-header{margin-bottom:.8rem}.rsvp-header h2{font-size:1.15rem;margin-bottom:.15rem}.rsvp-sub{font-size:.8rem;color:var(--text-light);max-width:62ch;line-height:1.4}.rsvp-progress{margin-bottom:.9rem}.rsvp-bar{position:relative;width:100%;height:22px;background:#eee;border-radius:11px;overflow:hidden;display:flex}.rsvp-fill{height:100%;transition:width .3s}.rsvp-fill-yes{background:var(--under-budget)}.rsvp-fill-maybe{background:#f5a623}.rsvp-fill-no{background:#d8d0c8}.rsvp-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:#333}.rsvp-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.35rem;font-size:.72rem;color:var(--text-light)}.rsvp-legend span{display:inline-flex;align-items:center;gap:.3rem}.rsvp-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-yes{background:var(--under-budget)}.dot-maybe{background:#f5a623}.dot-no{background:#d8d0c8}.dot-none{background:#eee;border:1px solid var(--border)}.rsvp-search{flex:1;min-width:160px;max-width:260px;padding:.35rem .55rem;border:1px solid var(--border);border-radius:6px;font-size:.82rem}.rsvp-count{font-size:.75rem;color:var(--text-muted);margin-left:auto}.rsvp-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.85rem}.rsvp-table-wrap{overflow-x:auto}.rsvp-table .col-std{width:110px;text-align:center}.rsvp-table .col-reply{width:230px}.rsvp-table .col-count{width:120px}.rsvp-table td{vertical-align:middle}.rsvp-row-yes{background:#f6fcf6}.rsvp-row-no{background:#fafafa;color:var(--text-muted)}.rsvp-row-waiting{background:#fffcf5}.rsvp-name{font-weight:600}.rsvp-cat{display:block;font-size:.68rem;color:var(--text-muted)}.rsvp-online{display:inline-block;margin-top:.15rem;padding:.05rem .35rem;font-size:.62rem;font-weight:700;letter-spacing:.03em;color:#2c7a4b;background:#e6f5ec;border-radius:999px;text-transform:uppercase}.rsvp-check{width:17px;height:17px;cursor:pointer;accent-color:var(--primary)}.rsvp-toggle{display:inline-flex;gap:.2rem}.rsvp-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .45rem;border:1px solid var(--border);background:var(--surface);border-radius:6px;cursor:pointer;font-size:.72rem;color:var(--text-light);transition:all .15s}.rsvp-btn:hover{border-color:var(--text-light)}.rsvp-btn-icon{font-weight:700}.rsvp-btn.rsvp-yes.active{background:var(--under-budget);border-color:var(--under-budget);color:#fff}.rsvp-btn.rsvp-maybe.active{background:#f5a623;border-color:#f5a623;color:#fff}.rsvp-btn.rsvp-no.active{background:#8a8078;border-color:#8a8078;color:#fff}.rsvp-headcount{display:inline-flex;align-items:center;gap:.25rem}.rsvp-step{width:20px;height:20px;line-height:1;border:1px solid var(--border);background:var(--surface);border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--text)}.rsvp-step:hover:not(:disabled){background:var(--primary-light)}.rsvp-step:disabled{opacity:.35;cursor:default}.rsvp-headcount-value{font-weight:700;min-width:1ch;text-align:center}.rsvp-companion-row{display:flex;align-items:center;gap:.25rem}.rsvp-companion-row .rsvp-companion-input{flex:1;min-width:0}.rsvp-companion-reply{display:flex;gap:1px;flex-shrink:0}.rsvp-mini{border:1px solid var(--border);background:var(--surface);width:1.35rem;height:1.35rem;padding:0;line-height:1;font-size:.7rem;cursor:pointer;color:var(--text-muted);border-radius:4px}.rsvp-mini:hover{border-color:var(--accent)}.rsvp-mini.active.rsvp-yes{background:var(--under-budget);border-color:var(--under-budget);color:#fff}.rsvp-mini.active.rsvp-maybe{background:#f5a623;border-color:#f5a623;color:#fff}.rsvp-mini.active.rsvp-no{background:#d8d0c8;border-color:#c9bfb5;color:#444}.rsvp-table .col-ack{width:5.5rem;text-align:center}.rsvp-ack{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:.1rem .5rem;font-size:.95rem;line-height:1.4;cursor:pointer;color:var(--text-muted);transition:background .15s,border-color .15s}.rsvp-ack:hover{border-color:var(--accent)}.rsvp-ack.pending{background:#fdf3d8;border-color:#f5a623;color:#b8770a;font-weight:700}.rsvp-ack.done{background:#e6f4ea;border-color:var(--under-budget);color:var(--under-budget);font-weight:700}.rsvp-table .col-note{max-width:16rem}.rsvp-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.78rem;line-height:1.35;cursor:help}.rsvp-note-none{color:var(--text-muted)}.rsvp-headcount-max{font-size:.7rem;color:var(--text-muted);cursor:help}.rsvp-headcount-max.over{color:#d4870a;font-weight:600}.rsvp-headcount-static{color:var(--text-muted)}.rsvp-companions{display:flex;flex-direction:column;gap:.2rem}.rsvp-companion-input{padding:.2rem .4rem;border:1px solid var(--border);border-radius:5px;font-size:.78rem;max-width:220px}.rsvp-companion-input:focus{outline:none;border-color:var(--primary)}.rsvp-companions-none{color:var(--text-muted)}@media(max-width:700px){.rsvp-btn-label{display:none}.rsvp-table .col-reply{width:110px}}.sched-cat-prep{--cat: #d98ba0}.sched-cat-welcome{--cat: #e0a458}.sched-cat-tradition{--cat: #b5838d}.sched-cat-ceremony{--cat: #c0392b}.sched-cat-photo{--cat: #5d8aa8}.sched-cat-dinner{--cat: #8e6f3e}.sched-cat-party{--cat: #8e44ad}.sched-cat-fun{--cat: #3f9f7f}.sched-cat-other{--cat: #95a5a6}.schedule-section h2{margin-bottom:.8rem}.sched-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;margin-bottom:1rem}.sched-start{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem}.sched-start input{padding:.3rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);outline:none}.sched-start input:focus{border-color:var(--primary)}.sched-summary-text{color:var(--text-light);font-size:.9rem}.sched-empty{color:var(--text-light);padding:1rem 0}.sched-overview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem .8rem .4rem;margin-bottom:1rem}.sched-overview-lanes{position:relative}.sched-tick{position:absolute;top:0;bottom:0;border-left:1px dashed var(--border)}.sched-bar{position:absolute;height:26px;padding:0 6px;background:var(--cat);color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:5px;font-size:.72rem;line-height:24px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sched-bar.parallel{opacity:.8;background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.18) 6px 12px)}.sched-bar:hover{filter:brightness(1.08);z-index:1}.sched-overview-axis{position:relative;height:1.2rem;margin-top:.2rem}.sched-overview-axis span{position:absolute;transform:translate(-50%);font-size:.7rem;color:var(--text-muted)}.sched-list{list-style:none}.sched-row{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--cat);border-radius:8px;margin-bottom:.4rem;transition:box-shadow .15s,background .3s}.sched-row.parallel{margin-left:2rem;border-left-style:dashed;background:#fcfaf7}.sched-row.dragging{box-shadow:0 6px 18px #0000002e;position:relative;z-index:2;background:var(--selected-bg)}.sched-list.is-dragging{-webkit-user-select:none;user-select:none}.sched-row.flash{background:#fff3cd}.sched-row-main{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem}.sched-handle{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:grab;padding:.2rem .3rem;touch-action:none;border-radius:4px}.sched-handle:active{cursor:grabbing}.sched-handle:focus-visible{outline:2px solid var(--primary)}.sched-time{font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem;white-space:nowrap;min-width:6.8rem}.sched-title{flex:1;min-width:0;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;background:none;border:none;text-align:left;cursor:pointer;padding:.15rem 0;color:var(--text)}.sched-title-text{font-size:.95rem}.sched-parallel-badge{font-size:.72rem;font-weight:600;color:var(--accent);background:#f5efe8;border-radius:10px;padding:1px 8px;white-space:nowrap}.sched-note-dot{font-size:.8rem}.sched-duration{display:flex;align-items:center;gap:.15rem;white-space:nowrap}.sched-duration-input{width:4.2rem;padding:.25rem .35rem;text-align:right;border:1px solid var(--border);border-radius:6px;outline:none;background:var(--surface)}.sched-duration-input:focus{border-color:var(--primary)}.sched-step{font-size:1.1rem;color:var(--accent);width:1.6rem}.sched-step:disabled{opacity:.3;cursor:default}.sched-unit{font-size:.8rem;color:var(--text-light);margin-left:.2rem}.sched-remove{color:var(--text-muted)}.sched-remove:hover{color:var(--primary)}.sched-details{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;padding:.6rem .8rem .8rem;border-top:1px solid var(--border);font-size:.85rem}.sched-details label{display:flex;flex-direction:column;gap:.25rem;font-weight:600}.sched-details label.sched-check{flex-direction:row;align-items:center;font-weight:400}.sched-details select,.sched-text-input{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);font-weight:400;outline:none;font-size:.9rem}.sched-text-input:focus,.sched-details select:focus{border-color:var(--primary)}textarea.sched-text-input{resize:vertical}.sched-inline{display:flex;align-items:center;gap:.4rem;font-weight:400}.sched-wide{grid-column:1 / -1}.sched-details-actions{display:flex;justify-content:flex-end}.sched-pool-title{margin:1.6rem 0 .2rem}.sched-pool-hint{font-size:.85rem;color:var(--text-light);margin-bottom:.8rem}.sched-pool-group{margin-bottom:.8rem}.sched-pool-group h4{font-size:.85rem;color:var(--text-light);margin-bottom:.35rem}.sched-pool-chips{display:flex;flex-wrap:wrap;gap:.4rem}.sched-chip{border:1px dashed var(--cat);background:var(--surface);color:var(--text);border-radius:16px;padding:.3rem .8rem;font-size:.85rem;cursor:pointer;transition:background .15s}.sched-chip:hover{background:#f5efe8;border-style:solid}.sched-chip-dur{color:var(--text-muted);font-size:.78rem;margin-left:.2rem}.sched-add{display:flex;align-items:center;gap:.5rem;margin-top:1rem}.sched-add input[type=text]{flex:1;padding:.5rem .7rem;border:1px solid var(--border);border-radius:6px;outline:none}.sched-add input[type=text]:focus{border-color:var(--primary)}.sched-add select{padding:.45rem .4rem;border:1px solid var(--border);border-radius:6px;background:var(--surface)}@media(max-width:600px){.sched-row-main{flex-wrap:wrap;row-gap:.2rem}.sched-time{min-width:0}.sched-title{flex-basis:calc(100% - 2.2rem);order:3;margin-left:2.2rem}.sched-duration{margin-left:auto}.sched-row.parallel{margin-left:1rem}.sched-details{grid-template-columns:1fr}.sched-add{flex-wrap:wrap}.sched-add input[type=text]{flex-basis:100%}}.budget-scope-note{font-size:.85rem;color:var(--text-light);margin:-.4rem 0 1rem}
