:root{--navy:#17384d;--navy2:#112b3b;--teal:#137c6a;--teal2:#0f6e5d;--canvas:#f5f7fa;--card:#fff;--line:#e5eaf0;--text:#1d3446;--muted:#738397;--pale:#ebf7f3;--shadow:0 1px 2px rgba(23,56,77,.04),0 10px 25px rgba(23,56,77,.025);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--teal)}.app-shell{min-height:100vh;display:flex}.sidebar{width:245px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);min-height:100vh;padding:22px 12px;position:fixed;left:0;top:0;bottom:0;overflow-y:auto;z-index:15;scrollbar-width:thin}.brand{font-size:21px;letter-spacing:-.8px;font-weight:850;color:var(--navy);display:flex;align-items:center;gap:10px;padding:0 11px}.brand span{color:var(--teal)}.logo-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--teal);color:white;font-size:21px;box-shadow:0 3px 12px #12776640}.ws-picker{display:flex;gap:9px;align-items:center;background:#f6f8fa;border:1px solid var(--line);border-radius:11px;margin:28px 3px 20px;padding:10px;cursor:pointer;text-align:left;width:calc(100% - 6px)}.ws-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e0f3eb;color:var(--teal);flex-shrink:0}.ws-picker .two-line{min-width:0;flex:1}.small-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.1px;font-weight:800}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-group{padding:8px 0}.nav-head{font-size:10px;color:#a0acb9;font-weight:800;letter-spacing:1.3px;padding:9px 12px 8px}.nav-link{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:9px;border:0;background:transparent;color:#63778a;width:100%;text-align:left;font-size:13px;margin:2px 0}.nav-link:hover{background:#f5f8fa;color:var(--navy)}.nav-link.active{background:#e9f6f2;color:var(--teal);font-weight:750}.nav-link svg,.section-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar-foot{padding:20px 11px;margin-top:10px;border-top:1px solid var(--line)}.main{margin-left:245px;flex:1;min-width:0}.topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 33px;gap:14px;position:sticky;top:0;z-index:10}.top-start,.top-actions{display:flex;align-items:center;gap:12px}.mobile-button{display:none;border:0;background:none;padding:7px}.crumb{font-size:13px;color:var(--muted)}.crumb strong{color:var(--navy)}.top-date{font-size:12px;color:var(--muted)}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e5eff7;color:var(--navy);font-size:12px;font-weight:800}.content{padding:32px;max-width:1570px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:25px}.page-head h1{margin:0;font-size:27px;letter-spacing:-1px;line-height:1.3;color:var(--navy);font-weight:800}.page-head p{margin:7px 0 0;color:var(--muted)}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid #dfe7ed;border-radius:9px;color:#3c5465;background:white;padding:10px 14px;min-height:40px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover{background:#f5f8fa}.btn.primary{background:var(--teal);color:white;border-color:var(--teal)}.btn.primary:hover{background:var(--teal2)}.btn.danger{color:#ae413f;border-color:#f2cbcb}.btn.ghost{background:transparent;border:0}.btn.tiny{padding:7px 10px;min-height:32px;font-size:11px}.btn.full{width:100%}.btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.grid{display:grid;gap:18px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);background:white;border-radius:13px;box-shadow:var(--shadow);min-width:0}.pad{padding:22px}.kpi{padding:20px 20px 19px;min-height:134px}.kpi .over{display:flex;align-items:center;justify-content:space-between;color:#8191a1;font-size:12px}.kpi .over svg{width:18px;height:18px;stroke:currentColor;fill:none}.kpi .value{font-size:30px;font-weight:800;letter-spacing:-1.3px;color:var(--navy);margin-top:18px;line-height:1}.kpi .under{font-size:11px;color:var(--muted);margin-top:10px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-title h2{font-size:15px;letter-spacing:-.2px;margin:0;color:var(--navy)}.section-title small{color:var(--muted)}.subtle-link{font-size:12px;color:var(--teal);background:none;border:0;font-weight:750;padding:3px}.event-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid #eef1f4;gap:12px}.event-row:first-of-type{border-top:0}.event-icon{width:40px;height:40px;border-radius:11px;background:#edf3f8;display:grid;place-items:center;color:#2c718c;flex-shrink:0}.event-row .left{display:flex;gap:11px;align-items:center;min-width:0}.event-row .event-title{font-weight:750;color:var(--navy);margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--muted)}.tiny-note{font-size:11px;color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:30px;background:#edf3f6;color:#597084;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.badge.good{background:#e4f5ed;color:#197754}.badge.warn{background:#fff5dd;color:#ab7411}.badge.blue{background:#e8f2fc;color:#3379ae}.badge.red{background:#fbeceb;color:#b34a45}.progress{background:#eef2f5;height:7px;border-radius:20px;overflow:hidden}.progress>span{display:block;background:var(--teal);height:100%;border-radius:20px}.progress-row{display:flex;justify-content:space-between;align-items:center;margin:14px 0 9px;font-size:12px}.attention-row{padding:12px 0;border-top:1px solid #eff2f4;display:flex;align-items:center;justify-content:space-between;gap:12px}.attention-row:first-of-type{border-top:0}.attention-row button{border:0;background:transparent;color:var(--teal);font-weight:750}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:17px;flex-wrap:wrap}.search{height:40px;border:1px solid #dce5eb;border-radius:9px;padding:9px 12px;min-width:240px;background:white;max-width:100%}.select{height:40px;border:1px solid #dce5eb;border-radius:9px;padding:9px 11px;color:var(--text);background:white}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%;font-size:12px;min-width:680px}.table th{font-size:10px;font-weight:800;color:#8996a4;text-transform:uppercase;letter-spacing:.65px;text-align:left;background:#fafbfc;padding:13px 17px;border-bottom:1px solid #e9eef2}.table td{padding:15px 17px;border-top:1px solid #edf1f4;vertical-align:middle}.table tr:hover td{background:#fcfefd}.table strong{color:var(--navy)}.row-actions{display:flex;align-items:center;gap:8px}.name-link{color:var(--navy);font-weight:750;border:0;background:transparent;padding:0;text-align:left}.name-link:hover{color:var(--teal)}.card-event{padding:19px;cursor:pointer;display:flex;flex-direction:column;gap:17px}.card-event:hover{border-color:#acd7ca;box-shadow:0 4px 25px #14364b13}.event-mark{width:44px;height:44px;border-radius:13px;background:#eaf4f1;color:var(--teal);display:grid;place-items:center;font-size:20px}.card-event h3{margin:0 0 5px;font-size:15px;color:var(--navy)}.meta{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.meta span{display:flex;align-items:center;gap:5px}.mini-stats{display:flex;gap:9px;flex-wrap:wrap}.mini-stats span{background:#f6f8fa;border-radius:7px;padding:8px 10px;font-size:11px}.event-banner{padding:23px 25px;background:linear-gradient(120deg,#163c4f,#166d68);color:white;display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:13px;margin-bottom:21px}.event-banner h2{font-size:20px;margin:0 0 8px}.event-banner p{margin:0;opacity:.8}.event-banner .badge{background:#ffffff26;color:white}.list-card{padding:12px 20px}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px;margin:0;font-size:12px;color:#52677a;font-weight:750}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #dbe4eb;border-radius:9px;background:white;color:var(--text);padding:10px 11px;min-height:41px;width:100%;outline-color:#87cabb}.field textarea{min-height:77px;resize:vertical}.field small{font-weight:400;color:var(--muted)}.modal-overlay{position:fixed;inset:0;background:#102738a1;z-index:30;display:flex;justify-content:center;align-items:flex-start;padding:7vh 16px 30px;overflow-y:auto}.modal{background:white;border-radius:16px;box-shadow:0 25px 70px #0003;width:min(620px,100%);overflow:hidden}.modal-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:18px;margin:0}.xclose{border:0;background:none;font-size:22px;color:var(--muted);padding:2px 8px}.modal-body{padding:22px 24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.toast{position:fixed;bottom:25px;right:25px;background:var(--navy2);color:white;padding:13px 18px;border-radius:11px;font-weight:700;z-index:50;box-shadow:0 12px 38px #0002;opacity:0;transform:translateY(13px);transition:.2s;pointer-events:none;max-width:340px}.toast.visible{opacity:1;transform:translateY(0)}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.empty .emoji{font-size:32px;margin-bottom:12px}.empty strong{display:block;font-size:15px;color:var(--navy);margin-bottom:5px}.kanban{display:grid;grid-template-columns:repeat(6,minmax(188px,1fr));gap:13px;overflow:auto;padding-bottom:8px}.kanban-col{background:#eef2f5;border-radius:12px;padding:12px;min-height:250px}.kanban-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;margin-bottom:13px}.deal{padding:13px;background:white;border:1px solid #e4eaee;border-radius:10px;margin-bottom:9px;box-shadow:var(--shadow)}.deal strong{display:block;font-size:12px;color:var(--navy);margin-bottom:8px}.deal p{margin:0 0 9px;font-size:11px;color:var(--muted)}.deal .select{width:100%;height:32px;font-size:11px;padding:6px}.deal .deal-foot{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.deal .deal-foot span{font-size:12px;font-weight:800}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:white}.auth-aside{background:linear-gradient(140deg,#153a4e 0%,#14585b 100%);color:white;padding:11vh 9%;display:flex;flex-direction:column;justify-content:space-between}.auth-aside h1{font-size:clamp(31px,4vw,56px);letter-spacing:-2px;max-width:530px;margin:55px 0 20px;line-height:1.13}.auth-aside p{max-width:440px;color:#c5dadd;line-height:1.8;font-size:16px}.auth-aside .brand{color:white;padding:0}.auth-aside .brand span{color:#78d7b8}.auth-panel{display:grid;place-items:center;padding:35px}.auth-box{width:min(410px,100%)}.auth-box h2{font-size:27px;letter-spacing:-.9px;margin:0 0 8px}.auth-box>p{color:var(--muted);margin:0 0 29px}.auth-box .field{margin-bottom:16px}.auth-box .btn{font-size:13px;height:44px}.auth-box .switch{display:block;text-align:center;margin-top:24px;font-size:12px;color:var(--muted)}.auth-box .switch button{background:none;border:0;color:var(--teal);font-weight:800}.demo-note{padding:13px 14px;border-radius:10px;background:#edf8f5;border:1px solid #d5ece3;margin:24px 0 0;font-size:12px;line-height:1.7}.alert{padding:12px 14px;border-radius:8px;margin-top:16px;font-size:13px}.alert.error{background:#fff0ef;color:#9e3f3a}.alert.success{background:#e6f7ef;color:#216e51}.rsvp-body{display:grid;place-items:center;min-height:100vh;background:linear-gradient(140deg,#e7f6f0,#f7f9fb)}.rsvp-wrap{width:min(520px,95%);text-align:center}.brand-centered{justify-content:center;margin:20px 0 28px}.rsvp-card{background:white;padding:42px 36px;border-radius:19px;box-shadow:0 13px 40px #14364b12;text-align:center}.rsvp-card h1{font-size:30px;margin:12px 0}.rsvp-card p{line-height:1.7}.rsvp-card .field{text-align:left;margin:24px 0 16px}.rsvp-card .eyebrow{letter-spacing:2.4px;font-weight:850;font-size:11px;color:var(--teal)}.invitation-name{padding:19px;background:#f6f8fa;border-radius:10px;margin:25px 0}.rsvp-footer{color:var(--muted);font-size:12px;margin:20px}.boot{height:100vh;display:grid;place-content:center;gap:12px;text-align:center;color:var(--muted)}.spinner{border:3px solid #daece7;border-top:3px solid var(--teal);border-radius:50%;height:30px;width:30px;margin:auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.workspace-list button{display:flex;align-items:center;justify-content:space-between;padding:13px 8px;border-bottom:1px solid var(--line);width:100%;text-align:left;background:white;border-left:0;border-right:0;border-top:0}.workspace-list button:hover{background:#f7faf9}.divider{border:0;border-top:1px solid var(--line);margin:20px 0}.segmented{display:flex;background:#eef3f5;border-radius:8px;padding:3px}.segmented button{border:0;background:transparent;padding:8px 13px;border-radius:7px;color:var(--muted);font-weight:700}.segmented button.active{background:white;color:var(--navy);box-shadow:0 1px 4px #0001}.inline-status{display:flex;gap:6px;align-items:center}.check{accent-color:var(--teal);width:16px;height:16px;cursor:pointer}.timeline-row{display:grid;grid-template-columns:125px 1fr;gap:17px;border-bottom:1px solid var(--line);padding:15px 0}.timeline-row:last-child{border-bottom:0}.timeline-row .time{color:var(--teal);font-size:12px;font-weight:800}.timeline-row strong{display:block;margin-bottom:5px}.small-note{font-size:12px;line-height:1.65;color:var(--muted)}.permission-note{background:#fff8e8;border:1px solid #f6df9b;border-radius:8px;padding:12px;margin-bottom:16px;font-size:12px}.mobile-overlay{display:none}.nowrap{white-space:nowrap}.m-top{margin-top:22px}.mb-0{margin-bottom:0!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1170px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.kanban{grid-template-columns:repeat(6,205px)}}
@media(max-width:750px){.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:0 5px 40px #0003}.mobile-overlay.show{display:block;position:fixed;inset:0;z-index:14;background:#10273875}.main{margin:0}.topbar{padding:0 16px;height:66px}.mobile-button{display:inline-flex}.top-date{display:none}.content{padding:20px 15px}.page-head{flex-direction:column;margin-bottom:17px}.page-head h1{font-size:24px}.head-actions{width:100%}.head-actions>.btn{flex:1}.grid{gap:12px}.kpi{min-height:114px;padding:16px}.kpi .value{font-size:25px}.three-col{grid-template-columns:1fr}.event-banner{display:block}.event-banner .btn{margin-top:15px}.card.pad{padding:17px}.modal-overlay{padding-top:3vh}.auth-page{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{min-height:100vh}.inline-fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.top-actions .desktop-label{display:none}.search{min-width:100%;width:100%}.toolbar .select{flex:1}.topbar .crumb{font-size:12px}.table{min-width:610px}}@media(max-width:390px){.kpi .value{font-size:21px}.kpi .over{font-size:11px}.top-actions>.btn{padding:9px}}

/* Information-only banner for ephemeral cloud demos */
.public-demo-banner { background:#fff7e8; border:1px solid #f0d7a4; color:#684a17;
  border-radius:10px; padding:10px 14px; font-size:12px; line-height:1.5;
  margin-bottom:18px; }
.public-demo-banner strong { color:#523300; }

/* RSVP form builder / invitation questions */
.rsvp-builder{width:min(860px,100%);max-height:93vh;display:flex;flex-direction:column}
.rsvp-builder-overlay{padding-top:3vh}
.rsvp-builder-content{overflow-y:auto;flex:1;min-height:160px}
.rsvp-builder .modal-head .tiny-note{margin:5px 0 0}
.rsvp-builder-tabs{display:flex;gap:7px;padding:12px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.rsvp-builder-tabs button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:8px;font-weight:750;cursor:pointer}
.rsvp-builder-tabs button.active{background:var(--pale);color:var(--teal)}
.rsvp-fixed-question{background:#eef6f3;border:1px solid #cbe8dd;border-radius:12px;padding:17px;margin:22px 0}
.rsvp-fixed-question p{color:var(--muted);font-size:12px;line-height:1.6;margin:6px 0 0}
.rsvp-section-heading,.rsvp-question-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px}
.rsvp-section-heading h3{margin:0;font-size:15px}
.rsvp-question{border:1px solid var(--line);border-radius:13px;padding:16px;margin:14px 0;background:#fcfefe}
.rsvp-question-head{margin:0 0 15px}
.rsvp-question-actions{display:flex;gap:5px;flex-wrap:wrap}
.rsvp-check-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;align-self:center}
.rsvp-check-label input{width:17px;height:17px;accent-color:var(--teal)}
.rsvp-builder-footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 24px;border-top:1px solid var(--line)}
.rsvp-preview{max-width:590px;margin:auto;padding:24px 14px}
.rsvp-preview h2{color:var(--navy);font-size:24px}
.rsvp-preview-field{margin:20px 0}
.rsvp-check-options{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 0}
.rsvp-check-options label{display:flex;align-items:center;gap:9px;color:var(--text);font-size:13px;font-weight:500}
.rsvp-check-options input{width:17px;height:17px;accent-color:var(--teal)}
.rsvp-response-card{background:#f9fbfc;border:1px solid var(--line);border-radius:10px;padding:15px;margin-bottom:12px}
.rsvp-response-card p{overflow-wrap:anywhere;font-size:12px}
.rsvp-card .rsvp-preview-field{margin:18px 0}
@media(max-width:540px){.rsvp-builder-tabs{padding:9px}.rsvp-builder-tabs button{padding:8px}.rsvp-builder .modal-body{padding:16px}.rsvp-question{padding:12px}.rsvp-question-head{align-items:flex-start}.rsvp-question-actions{justify-content:flex-end}.rsvp-builder-footer{padding:12px}}

/* RSVP enhanced editor: responsive template actions and guest details */
.rsvp-template-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.rsvp-template-actions .btn{min-height:36px}
.rsvp-attendee-row{padding:10px 0;border-bottom:1px solid var(--line)}
#rsvpParty[hidden]{display:none}
#rsvpParty{margin:20px 0}
#rsvpParty .rsvp-check-label{padding:12px 0}
#rsvpParty #partySeatInfo{font-weight:650}
@media(max-width:540px){.rsvp-template-actions .btn{flex:1 1 140px}.rsvp-builder .rsvp-question h3{font-size:15px}}

/* Guests & RSVP: meal counts and reviewed phone contact imports */
.guest-meal-summary{margin-bottom:18px}
.guest-meal-summary .section-title{margin-bottom:12px}
.guest-meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}
.guest-meal-count{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#f7faf9;border:1px solid var(--line);border-radius:10px;font-size:12px}
.guest-meal-count strong{font-variant-numeric:tabular-nums;font-size:19px;color:var(--navy)}
.phone-contacts-modal{width:min(720px,100%)}
.phone-contacts-modal .modal-body{padding:20px}
.phone-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.phone-vcf-label{cursor:pointer}
.phone-contacts-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end;margin-top:18px}
.phone-contacts-controls .field{min-width:190px;flex:1}
.phone-contacts-list{margin:12px 0;max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:11px}
.phone-contact-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.phone-contact-row:last-child{border-bottom:0}
.phone-contact-person{display:flex;gap:10px;align-items:flex-start;flex:1;min-width:0;cursor:pointer}
.phone-contact-person input{margin-top:4px;flex-shrink:0}
.phone-contact-person strong{font-size:13px;display:block;overflow-wrap:anywhere}
.phone-contact-person small{display:block;color:var(--muted);overflow-wrap:anywhere}
.phone-contact-person .phone-contact-duplicate{color:#a76b20}
.phone-contact-seats{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}
.phone-contact-seats input{max-width:67px;padding:7px;border:1px solid #dce5eb;border-radius:6px}
@media(max-width:600px){.phone-contacts-modal .modal-body{padding:16px}.phone-contact-actions .btn{flex:1}.phone-contact-row{padding:10px;align-items:flex-start}.phone-contact-seats{flex-direction:column;gap:2px}}

/* RSVP editor: mobile-safe fullscreen modal */
@media (max-width: 640px) {
  #modalRoot .rsvp-builder-overlay {
    inset: 0; padding: 0; align-items: stretch; justify-content: stretch; overflow: hidden;
  }
  #modalRoot .rsvp-builder {
    box-sizing: border-box; width: 100%; min-width: 0; max-width: 100vw;
    height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh;
    overflow: hidden; border-radius: 0;
  }
  .rsvp-builder, .rsvp-builder * { box-sizing: border-box; }
  .rsvp-builder .modal-head { flex: 0 0 auto; padding: 13px 15px; min-width: 0; gap: 10px; }
  .rsvp-builder .modal-head > div { min-width: 0; overflow-wrap: anywhere; }
  .rsvp-builder-tabs {
    flex: 0 0 auto; min-width: 0; max-width: 100%; display: flex;
    flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch; padding: 8px 11px;
  }
  .rsvp-builder-tabs button { flex: 0 0 auto; white-space: nowrap; }
  #modalRoot .rsvp-builder-content {
    flex: 1 1 auto; min-height: 0; min-width: 0; max-width: 100%;
    padding: 14px; overflow-x: hidden; overflow-y: auto;
    overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  }
  .rsvp-builder .inline-fields { grid-template-columns: minmax(0, 1fr); min-width: 0; max-width: 100%; }
  .rsvp-builder .field, .rsvp-builder .field.wide, .rsvp-builder .rsvp-question,
  .rsvp-builder .rsvp-preview, .rsvp-builder .rsvp-response-card {
    min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  }
  .rsvp-builder input:not([type="checkbox"]):not([type="radio"]),
  .rsvp-builder textarea, .rsvp-builder select {
    min-width: 0; max-width: 100%; width: 100%; font-size: 16px;
  }
  .rsvp-builder .rsvp-section-heading, .rsvp-builder .rsvp-question-head {
    flex-wrap: wrap; align-items: flex-start; gap: 10px;
  }
  .rsvp-builder .rsvp-question-actions { flex-wrap: wrap; justify-content: flex-start; }
  .rsvp-builder .rsvp-template-actions { width: 100%; }
  .rsvp-builder .rsvp-template-actions .btn {
    flex: 1 1 135px; min-width: 0; max-width: 100%; white-space: normal;
  }
  .rsvp-builder .rsvp-builder-footer {
    flex: 0 0 auto; padding: 10px 14px max(10px, env(safe-area-inset-bottom));
    background: #fff; flex-wrap: wrap;
  }
  .rsvp-builder .rsvp-builder-footer .btn { min-width: 0; }
}

/* Event guest CRM controls: filters and bulk actions remain usable on a phone. */
.guest-crm-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}
.guest-crm-toolbar .search{flex:1 1 230px;min-width:160px}
.guest-crm-toolbar .select{min-width:115px;max-width:220px}
.guest-crm-toolbar .btn{flex:0 0 auto}
.guest-crm-note{max-width:290px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#698477}
.guest-crm-table .table th:first-child,.guest-crm-table .table td:first-child{width:38px}
.guest-crm-toolbar .btn span{font-size:11px}
@media(max-width:540px){
  .guest-crm-toolbar .select{max-width:none;flex:1 1 40%;width:calc(50% - 5px)}
  .guest-crm-toolbar .btn{flex:1 1 auto;min-width:0}
  .guest-crm-toolbar .search{flex:1 1 100%;width:100%}
}
