:root{--background:#f7f8fb;--foreground:#16243c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{outline-offset:5px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}.site-header{height:112px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde1ea}.wordmark{font-weight:800;font-size:22px;letter-spacing:-1px}.wordmark span{display:block;font-size:10px;letter-spacing:2.1px;margin-top:7px;font-weight:500}.header-note{font-size:14px;color:#687184}.header-link{display:flex;gap:10px;align-items:center;font-size:14px}.invitation-layout{max-width:1500px;margin:auto;padding:72px 6% 80px;display:grid;grid-template-columns:1fr 1fr;gap:9%}.event-intro{position:relative;padding-top:12px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#214dce;display:flex;align-items:center;gap:12px}.short-line{width:27px;height:2px;background:#214dce}h1{font-size:clamp(44px,4.9vw,75px);line-height:1.07;letter-spacing:-3.5px;font-weight:500;margin:31px 0}h1 em{font-family:Georgia,serif;color:#214dce;font-weight:400;letter-spacing:-3px}.intro-copy{max-width:420px;line-height:1.8;color:#5c687a;font-size:16px;margin:0 0 14px}.secondary-copy{margin-bottom:35px}.event-details{display:grid;gap:24px}.event-details>div{display:flex;gap:16px;align-items:flex-start}.event-details svg{width:20px;margin-top:4px;color:#214dce}.event-details span{font-size:10px;letter-spacing:1.8px;color:#697488}.event-details strong{display:block;font-size:16px;letter-spacing:0;font-weight:500;color:#16243c;margin-top:6px}.event-details small{display:block;font-size:14px;letter-spacing:0;margin-top:5px}.date-stamp{display:flex;align-items:center;gap:15px;color:#214dce;margin-top:40px;padding-top:25px;border-top:1px solid #dbe0eb;max-width:420px}.date-stamp>span{font-size:74px;font-weight:400;line-height:1}.date-stamp>div{font-size:12px;letter-spacing:2px;line-height:1.8}.form-panel{background:white;border:1px solid #e0e4ee;border-radius:10px;padding:34px 36px;box-shadow:0 15px 50px #192f5b06}.form-heading{display:flex;justify-content:space-between;align-items:center}.form-number{font-size:11px;color:#8a93a4;letter-spacing:1px}h2{font-size:29px;font-weight:500;letter-spacing:-1px;margin:21px 0 10px}.form-lead{color:#728095;font-size:14px;line-height:1.6;margin:0 0 26px}.attendance{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:26px}.attendance label{padding:15px 12px;border:1px solid #e1e5ed;border-radius:5px;display:flex;align-items:center;gap:9px;font-size:13px;cursor:pointer;line-height:1.4}.attendance label.selected{border-color:#214dce;color:#214dce;background:#f4f7ff}form>label,.field-grid>label{display:block;font-size:14px;font-weight:500;margin-bottom:20px}label>span{color:#214dce}label small{color:#8490a1;font-size:11px;margin-left:6px;font-weight:400}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}input{width:100%;margin-top:8px;padding:13px 12px;border:1px solid #dce1eb;border-radius:4px;background:#fff;min-width:0;font-size:14px;color:#16243c}input::placeholder{color:#949dad}input:focus{border-color:#214dce;outline-color:#214dce}.guest-section{border-top:1px solid #edf0f5;padding-top:22px;margin-top:4px;margin-bottom:25px}.guest-section h3{font-size:15px;font-weight:500;margin:0 0 7px}.guest-section p{font-size:13px;color:#758194;line-height:1.6;margin:0}.add-guest{display:flex;align-items:center;gap:8px;border:0;background:none;color:#214dce;padding:0;margin-top:15px;font-size:14px}.guest-field{display:flex;gap:10px;align-items:center}.guest-field button{background:none;border:0;font-size:23px;color:#758194}.submit-button{display:flex;width:100%;justify-content:space-between;align-items:center;background:#214dce;color:white;border:0;border-radius:5px;padding:17px 19px;font-size:14px}.submit-button:hover{background:#193fae}.form-footnote{font-size:11px;line-height:1.7;color:#8b95a5;margin:16px 0 0}.feedback{background:#eef3ff;padding:16px;font-size:14px;line-height:1.6}footer{display:flex;align-items:center;justify-content:space-between;padding:26px 6%;border-top:1px solid #dde1ea;font-size:10px;letter-spacing:1.5px;color:#7b8698}footer a{display:flex;align-items:center;gap:5px;letter-spacing:0;font-size:12px}@media(min-width:1500px){.invitation-layout{padding-left:90px;padding-right:90px}}@media(max-width:1000px){.header-note{display:none}.invitation-layout{gap:5%;padding-left:5%;padding-right:5%}.form-panel{padding:27px 22px}.attendance{grid-template-columns:1fr}h1{letter-spacing:-2px}}@media(max-width:700px){.site-header{height:86px;padding:0 6%}.wordmark{font-size:19px}.header-link{font-size:12px}.invitation-layout{grid-template-columns:1fr;padding:35px 6%;gap:32px}h1{font-size:49px}.intro-copy{max-width:none}.event-details{grid-template-columns:1fr 1fr;gap:22px}.date-stamp{display:none}.form-panel{padding:27px 22px}.attendance{grid-template-columns:1fr 1fr}.attendance label{font-size:12px}.field-grid{gap:12px}footer{gap:18px;flex-wrap:wrap}.header-note{display:none}}@media(max-width:380px){.field-grid,.attendance{grid-template-columns:1fr}h1{font-size:42px}}
fieldset{padding:0;margin:0;border:0;min-width:0}fieldset>label{display:block;font-size:14px;font-weight:500;margin-bottom:20px}input[type=hidden]{display:none}input[type=radio]{width:16px;height:16px;margin:0;accent-color:#214dce;flex-shrink:0}.attendance{display:grid}.attendance label:has(input:checked){border-color:#214dce;color:#214dce;background:#f4f7ff}.wordmark{font-size:36px;letter-spacing:-2px;font-weight:900}.wordmark span{font-size:11px;letter-spacing:1.5px}.wordmark b{color:#214dce;margin:0 5px}.detail-icon{color:#214dce!important;font-size:26px!important;line-height:1;width:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.email-help{display:block;margin:7px 0 0;font-size:12px}.preview-notice{padding:12px 14px;background:#eef3ff;color:#405a88;font-size:13px;line-height:1.6;border-left:2px solid #214dce;margin:0 0 22px}.form-footnote{font-size:12px}.form-number{font-size:12px}.form-lead{font-size:14px}.attendance label{font-size:14px}.guest-section p{font-size:14px}label small{font-size:12px}.event-details span{font-size:12px}footer{font-size:12px}.form-panel input{font-size:16px}.center-page{min-height:calc(100vh - 190px);padding:70px 6%;display:grid;place-items:center}.login-panel{width:100%;max-width:470px}.thanks-panel{max-width:650px;padding:45px}.thanks-title{font-size:49px}.success-mark{display:grid;place-items:center;background:#edf3ff;width:52px;height:52px;color:#214dce;font-size:25px;border-radius:50%;margin-bottom:25px}.summary-box{background:#f7f8fb;padding:22px;margin:24px 0;font-size:15px}.summary-box p{margin:10px 0 0}.text-link{color:#214dce;font-size:14px}.subtle-button{border:0;background:none;color:#5c687a;font-size:14px}.admin-layout{max-width:1500px;margin:auto;padding:55px 6% 70px}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.admin-title h1{font-size:39px;letter-spacing:-1.5px;margin:18px 0 10px}.button-outline{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid #d9e0ed;background:white;border-radius:5px;font-size:14px;color:#214dce;white-space:nowrap}.setup-notice{display:flex;flex-direction:column;gap:8px;border:1px solid #dce5fa;padding:18px 22px;background:#edf3ff;font-size:14px;line-height:1.5;margin-bottom:28px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0 0 25px}.stats a{background:white;border:1px solid #dfe4ed;border-radius:7px;padding:22px}.stats span{font-size:14px;color:#738095;display:block}.stats strong{font-size:40px;font-weight:500;display:block;margin-top:16px;color:#214dce}.admin-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start;margin:25px 0}.tool-card{border:1px solid #dfe4ed;background:white;border-radius:6px;padding:18px;font-size:14px;line-height:1.6}.tool-card summary{cursor:pointer;font-weight:500;color:#233b66}.tool-card form{margin-top:18px}.tool-card .button-outline{white-space:normal}.tool-card p{color:#6e7c91}.guests-panel{border:1px solid #dfe4ed;border-radius:7px;background:white;overflow:hidden}.table-toolbar{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.filter-form{display:flex;align-items:center;gap:10px}.filter-form input{margin:0;max-width:260px}.filter-form select{font:inherit;font-size:14px;border:1px solid #dce1eb;padding:12px 10px;background:white;border-radius:4px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;color:#7d899b;font-weight:500;background:#f7f9fc;white-space:nowrap}th,td{padding:19px 22px;border-bottom:1px solid #eaf0f6}td>strong{display:block;font-weight:500}td>span:not(.badge){display:block;color:#7d899b;font-size:13px;margin-top:5px}.badge{display:inline-block;border-radius:20px;padding:7px 10px;font-size:12px;white-space:nowrap;background:#f0f3f8;color:#66758a}.badge.yes{background:#e7f4ed;color:#257147}.badge.no{background:#fceeed;color:#a85049}.copy-link{display:block;background:none;border:0;color:#7d899b;font-size:12px;margin-top:7px;padding:0}.empty-state{text-align:center;padding:55px 20px;color:#6e7c91}.empty-state strong{font-size:20px;color:#344765}.empty-state p{font-size:14px}.tracking-note{font-size:12px;color:#8390a2;line-height:1.7;padding:5px 22px 12px;max-width:950px}.small-note{font-size:12px!important;line-height:1.7}.print-actions{display:flex;gap:8px}.day-list table{background:white}.day-list h1{font-size:43px}[hidden]{display:none!important}@media(max-width:1000px){.stats{grid-template-columns:repeat(3,1fr)}.admin-tools{grid-template-columns:1fr}.table-toolbar{align-items:flex-start;flex-direction:column}.admin-title{align-items:flex-start}.filter-form{flex-wrap:wrap}}@media(max-width:700px){.admin-layout{padding:35px 5%}.admin-title{flex-direction:column}.admin-title h1{font-size:32px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats a{padding:18px}.stats strong{font-size:32px}.attendance label{font-size:13px}.thanks-panel{padding:28px}.wordmark{font-size:29px}.wordmark span{font-size:9px;letter-spacing:1px}.event-details{grid-template-columns:1fr}.event-details span{font-size:12px}.day-list{overflow:auto}.filter-form input{max-width:none}.filter-form select{max-width:100%}.header-link{font-size:13px}}@media print{.site-header,footer,.print-actions,.toast-stack{display:none}.admin-layout{padding:0;max-width:none}.day-list h1{font-size:28px}.admin-title{margin:0 0 20px}body{background:white;color:black}table{font-size:11px}th,td{padding:12px 8px}thead{display:table-header-group}tr{break-inside:avoid}@page{size:A4 landscape;margin:15mm}}

.status-date{display:block;font-size:12px;color:#78879d;margin-top:9px;line-height:1.5}.badge.sent{background:#eaf0ff;color:#214dce}.badge.captured{background:#fff2da;color:#805c15}.badge.opened{background:#eef0ff;color:#5f50a6}.guest-actions{min-width:190px}.guest-actions>a{display:block;margin:9px 0}.simulate-button{padding:0;text-align:left;font-size:12px;color:#7b659f}.muted-status{font-size:13px;color:#7b879b}.invitation-table td{vertical-align:middle}.invitation-table td:nth-child(3),.invitation-table td:nth-child(5),.invitation-table th:nth-child(3),.invitation-table th:nth-child(5){text-align:center}.invitation-table th{font-size:13px}.invitation-stats a:hover{border-color:#214dce}.guest-actions .button-outline{font-size:13px;padding:9px 12px}

.email-settings{max-width:1100px}.gmail-card{padding:28px;margin:0 0 22px}.gmail-card h2{font-size:21px;font-weight:500;margin:0 0 20px}.gmail-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.gmail-actions form{margin:0;display:flex;align-items:center}.gmail-actions .submit-button{margin:0;width:auto;justify-content:center;padding:12px 16px;min-height:44px}.gmail-card code{overflow-wrap:anywhere}.admin-header-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.admin-header-actions form{margin:0}@media(max-width:700px){.gmail-card{padding:20px}.gmail-actions{align-items:stretch;flex-direction:column}.gmail-actions button{width:100%}.admin-header-actions{gap:10px;justify-content:flex-end}}
.admin-header-actions{gap:10px}.admin-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #dce3ef;border-radius:10px;background:#fff;color:#52627a;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.admin-icon-button:hover{background:#edf3ff;border-color:#b7c9f2;color:#214dce}.admin-icon-button:focus-visible{outline:2px solid #214dce;outline-offset:3px}.admin-icon-button svg{display:block;flex-shrink:0}
.header-logo {
  display: block;
  width: 200px;
  height: auto;
  object-fit: contain;
}
.guest-action-icons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.guest-action-icons form{margin:0}.guest-actions{min-width:170px}.invitation-table .opening-status{text-align:center;vertical-align:middle}.invitation-table td>.mail-eye{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;background:none;border-radius:0;line-height:1;vertical-align:middle}.mail-eye svg{display:block;width:22px;height:22px;flex-shrink:0}.invitation-table .mail-eye.is-open{color:#6355d9}.invitation-table .mail-eye.is-closed{color:#d4a000}.invitation-table .mail-eye.is-simulated{color:#d4a000}.simulation-action{color:#805c15}.guest-action-icons .admin-icon-button{flex-shrink:0}

.gmail-actions .gmail-connect { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

.gmail-actions .button-outline,.gmail-actions .subtle-button{min-height:44px}
@media(max-width:700px){.gmail-actions .gmail-connect{width:100%}}

.invitation-table .badge.response-waiting{color:#a64b00;background:#fff0dc}
.add-contact-icon{color:#214dce;border-color:#b7c9f2}
.admin-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.admin-tools{grid-template-columns:1fr}}

@media print{.day-list a{display:none!important}}

form>.import-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:24px 16px;border:2px dashed #b8c7e8;border-radius:8px;background:#f7f9ff;text-align:center;cursor:pointer}
.import-dropzone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.import-dropzone:hover,.import-dropzone.is-dragging,.import-dropzone:focus-within{border-color:#214dce;background:#edf2ff}
.import-drop-title{font-weight:600}.import-example{margin:0 0 20px}.import-example pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#52627a}

.header-brands{display:flex;align-items:center;gap:18px;flex-shrink:0}
.header-brands .header-logo{width:170px;height:auto;max-height:96px;object-fit:contain}
.header-collab{font-size:20px;font-weight:500;line-height:1;color:#687184}
@media(max-width:700px){.header-brands{gap:10px}.header-brands .header-logo{width:105px;max-height:60px}.header-collab{font-size:16px}.site-header{gap:12px;height:auto;min-height:86px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}}

.guest-action-icons .delete-icon{color:#c62828;border-color:#f3c7c7}.guest-action-icons .delete-icon:hover{background:#fdecec;border-color:#e57373;color:#b71c1c}.guest-action-icons .delete-icon:focus-visible{outline-color:#c62828}
.import-preview{margin:4px 0 18px;padding:16px;border:1px solid #dce3ef;border-radius:8px;background:#fff}.import-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.import-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f1f4f9;color:#40506a;font-size:12px;font-weight:600}.import-chip.is-new{background:#e6f6ec;color:#1d7a43}.import-chip.is-existing{background:#eef1f6;color:#5b6a82}.import-chip.is-duplicate{background:#fff0dc;color:#a64b00}
.import-preview-scroll{max-height:280px;overflow:auto;border:1px solid #eaf0f6;border-radius:6px}.import-preview-table{font-size:13px}.import-preview-table th,.import-preview-table td{padding:8px 10px;white-space:nowrap}.import-preview-table th{position:sticky;top:0}.import-preview-table tr.is-existing td,.import-preview-table tr.is-duplicate td{color:#8a96a8}
.import-status{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600}.import-status.is-new{background:#e6f6ec;color:#1d7a43}.import-status.is-existing{background:#eef1f6;color:#5b6a82}.import-status.is-duplicate{background:#fff0dc;color:#a64b00}
.import-preview-error{margin:0;padding:12px;border-radius:6px;background:#fdecec;color:#b71c1c;font-size:13px}.submit-button:disabled{background:#9aa9c9;cursor:not-allowed}

select{appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;color:#16243c;min-height:44px;padding:11px 40px 11px 14px;border:1px solid #dce1eb;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352627a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center;cursor:pointer;transition:border-color .15s,box-shadow .15s}select:hover{border-color:#b7c9f2}select:focus{outline:none;border-color:#214dce;box-shadow:0 0 0 3px #214dce22}.filter-form select{padding:11px 40px 11px 14px;border-radius:8px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2352627a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center}.filter-form .button-outline{min-height:44px;border-radius:8px}
.filter-form input{border-radius:8px;min-height:44px}
.confirm-dialog{width:min(420px,calc(100% - 32px));padding:0;border:0;border-radius:14px;background:#fff;color:#16243c;box-shadow:0 24px 70px #0f1e3d40}.confirm-dialog::backdrop{background:#0f1e3d66;backdrop-filter:blur(2px)}.confirm-dialog[open]{animation:confirm-in .16s ease-out}
@keyframes confirm-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.confirm-box{padding:26px 26px 22px}.confirm-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#edf3ff;color:#214dce;margin-bottom:16px}.confirm-dialog.is-danger .confirm-icon{background:#fdecec;color:#c62828}
.confirm-box h2{margin:0 0 8px;font-size:18px;font-weight:600;letter-spacing:0}.confirm-box p{margin:0;font-size:14px;line-height:1.6;color:#5c687a;overflow-wrap:anywhere}
.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.confirm-actions button{min-height:42px;padding:0 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.confirm-cancel{border:1px solid #dce3ef;background:#fff;color:#40506a}.confirm-cancel:hover{background:#f4f6fa}.confirm-accept{border:0;background:#214dce;color:#fff}.confirm-accept:hover{background:#193fae}
.confirm-dialog.is-danger .confirm-accept{background:#c62828}.confirm-dialog.is-danger .confirm-accept:hover{background:#a91f1f}.confirm-actions button:focus-visible{outline:2px solid #214dce;outline-offset:2px}
@media(max-width:420px){.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%}}
@media print{.confirm-dialog{display:none}}
.filter-form input[type=search]{width:min(280px,100%)}

.toast-stack{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 32px));pointer-events:none}
.toast{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 12px 16px 14px;border-radius:12px;background:#fff;color:#16243c;border:1px solid #e3e8f1;box-shadow:0 12px 34px #0f1e3d24;overflow:hidden;pointer-events:auto;animation:toast-in .28s cubic-bezier(.2,.9,.3,1.2)}
.toast.is-leaving{animation:toast-out .22s ease-in forwards}
.toast-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#e6f6ec;color:#1d7a43}.toast.is-error .toast-icon{background:#fdecec;color:#c62828}
.toast-message{flex:1;margin:6px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.toast-close{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;padding:0;border:0;border-radius:8px;background:none;color:#8a96a8;cursor:pointer}.toast-close:hover{background:#f1f4f9;color:#40506a}.toast-close:focus-visible{outline:2px solid #214dce;outline-offset:1px}.toast-close svg{width:16px;height:16px}
.toast-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#1d7a43;transform-origin:left;animation:toast-progress var(--toast-duration,4500ms) linear forwards;animation-play-state:var(--toast-play,paused)}.toast.is-error .toast-progress{background:#c62828}
@keyframes toast-in{from{opacity:0;transform:translateX(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes toast-out{to{opacity:0;transform:translateX(24px)}}
@keyframes toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:700px){.toast-stack{top:auto;bottom:16px;right:16px}}
@media(prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation-duration:1ms}.toast-progress{display:none}}
.badge.direct{background:#eef1f6;color:#5b6a82}
.setup-notice-local{margin:0 0 24px;padding:14px 18px;border:1px solid #f1dfb5;border-left:4px solid #d99a1e;border-radius:8px;background:#fffaf0;color:#5b4413;font-size:14px;line-height:1.6}.setup-notice-local strong{display:block;color:#8a5a00;margin-bottom:4px}.setup-notice-local p{margin:0}.setup-notice-local code{background:#fdf0d2;padding:1px 5px;border-radius:4px}

.invitation-table .select-cell{width:44px;padding-right:0;text-align:center}.select-check{width:18px;height:18px;margin:0;accent-color:#214dce;cursor:pointer;vertical-align:middle}
.invitation-table tbody tr.is-selected td{background:#f4f7ff}.invitation-table tbody tr{transition:background .12s}
.bulk-bar{position:fixed;left:50%;bottom:24px;z-index:900;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:10px 10px 10px 18px;border-radius:14px;background:#16243c;color:#fff;box-shadow:0 18px 50px #0f1e3d55;transform:translateX(-50%);animation:bulk-in .2s ease-out}
.bulk-bar[hidden]{display:none}.bulk-count{font-size:14px;font-weight:600;white-space:nowrap}
.bulk-clear{border:0;background:none;color:#b9c4d8;font-size:13px;cursor:pointer;padding:6px 4px;white-space:nowrap}.bulk-clear:hover{color:#fff;text-decoration:underline}
.bulk-actions{display:flex;gap:8px}.bulk-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.bulk-button svg{width:18px;height:18px}
.bulk-invite{background:#fff;color:#16243c}.bulk-invite:hover{background:#e8eefc}.bulk-delete{background:#c62828;color:#fff}.bulk-delete:hover{background:#a91f1f}.bulk-button:focus-visible,.bulk-clear:focus-visible{outline:2px solid #8fb0ff;outline-offset:2px}
@keyframes bulk-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translateX(-50%)}}
@media(max-width:700px){.bulk-bar{left:16px;right:16px;bottom:16px;transform:none;flex-wrap:wrap;gap:8px;animation:none}.bulk-actions{width:100%}.bulk-button{flex:1;justify-content:center}.bulk-button span{overflow:hidden;text-overflow:ellipsis}}
@media print{.bulk-bar,.select-cell{display:none}}

/* Invitation form on phones: one column, full-width fields, 44px touch targets. */
.jump-to-form{display:none}.nowrap{white-space:nowrap}#reponse{scroll-margin-top:16px}
@media(max-width:700px){
.invitation-layout{padding:26px 16px 44px;gap:28px}
.event-intro h1{font-size:38px;letter-spacing:-1.5px;line-height:1.08;margin:22px 0 18px}
.jump-to-form{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;margin:0 0 26px;border-radius:999px;background:#214dce;color:#fff;font-size:15px;font-weight:600}
.jump-to-form:active{background:#193fae}
.intro-copy{font-size:15px;line-height:1.7}
.event-details{gap:18px}
.form-panel{padding:22px 18px 24px;border-radius:14px}
.form-panel h2{font-size:26px;letter-spacing:-.5px;line-height:1.2;margin:16px 0 8px}
.form-lead{margin-bottom:20px}
.attendance{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
.attendance label{min-height:52px;padding:14px 16px;font-size:15px}
.attendance input[type=radio]{width:20px;height:20px}
.field-grid{grid-template-columns:1fr;gap:0}
form>label,.field-grid>label,fieldset>label{font-size:15px;margin-bottom:18px}
#rsvp-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]){min-height:48px;padding:12px 14px;border-radius:8px}
.guest-section{padding-top:20px;margin-bottom:22px}
.guest-section p{font-size:14px}
.guest-field{gap:6px}
.guest-field button.remove-guest{flex-shrink:0;width:44px;height:44px;margin-top:8px;border-radius:8px;font-size:26px;line-height:1}
.guest-field button.remove-guest:active{background:#f1f4f9}
.add-guest{min-height:44px;padding:8px 0;margin-top:8px;font-size:15px}
.submit-button{min-height:54px;padding:16px 18px;border-radius:8px;font-size:16px}
.form-footnote{font-size:12px;line-height:1.6}
}
@media(max-width:360px){.event-intro h1{font-size:33px}.form-panel{padding:20px 14px}}
