@keyframes auth-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width:768px){.dash-stats{grid-template-columns:1fr 1fr}.dash-header{flex-direction:column;align-items:flex-start;gap:1rem}.dash-main{padding:2rem 1.25rem}.new-event-row{grid-template-columns:1fr}.dash-upgrade{flex-direction:column;align-items:flex-start}}.new-event-fieldset .rsvp-field{flex-direction:column;margin-bottom:1rem;display:flex}.new-event-fieldset .rsvp-label{margin-bottom:.4rem;display:block}.new-event-fieldset .rsvp-input{background:var(--kp-bg);border:.5px solid var(--kp-border-md);width:100%;height:44px;font-size:14px;font-family:var(--font-sans);color:var(--kp-ink);-webkit-appearance:none;border-radius:10px;outline:none;padding:0 .875rem;transition:border-color .15s,box-shadow .15s}.new-event-fieldset .rsvp-input:focus{border-color:var(--kp-tan);box-shadow:0 0 0 3px #9c7f5a1f}.new-event-fieldset .rsvp-textarea{resize:vertical;height:auto;padding:.75rem .875rem;line-height:1.6}.new-event-fieldset .new-event-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.auth-card .rsvp-label{color:var(--kp-ink-mid);letter-spacing:.01em;margin-bottom:.4rem;font-size:12px;font-weight:500;display:block}.auth-card .rsvp-input{background:var(--kp-bg);border:.5px solid var(--kp-border-md);width:100%;height:44px;font-family:var(--font-sans);color:var(--kp-ink);-webkit-appearance:none;box-sizing:border-box;border-radius:10px;outline:none;padding:0 .875rem;font-size:14px;transition:border-color .15s,box-shadow .15s}.auth-card .rsvp-input:focus{border-color:var(--kp-tan);box-shadow:0 0 0 3px #9c7f5a1f}.auth-card .rsvp-input::placeholder{color:#1a17144d}.auth-card .rsvp-submit{background:var(--kp-ink);width:100%;height:48px;color:var(--kp-bg);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;margin-bottom:1rem;font-size:15px;font-weight:500;transition:opacity .2s,transform .15s}.auth-card .rsvp-submit:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.auth-card .rsvp-submit:disabled{opacity:.5;cursor:not-allowed}.auth-card .rsvp-error{color:#c03020;background:#dc503c14;border:.5px solid #dc503c40;border-radius:8px;margin-bottom:1rem;padding:.625rem .875rem;font-size:13px}.auth-card .auth-field{text-align:left;margin-bottom:1rem}@media (max-width:768px){.ev-grid{grid-template-columns:1fr}.dash-event-meta{max-width:160px}}.auth-page{font-family:var(--font-sans);background:var(--kp-bg);color:var(--kp-ink);flex-direction:column;min-height:100vh;display:flex}.auth-nav{border-bottom:.5px solid var(--kp-border);background:var(--kp-bg);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.auth-back-link{color:var(--kp-ink-mid);font-size:13px;text-decoration:none;transition:color .2s}.auth-back-link:hover{color:var(--kp-ink)}.auth-main{flex:1;justify-content:center;align-items:center;width:100%;max-width:440px;margin:0 auto;padding:3rem 1.5rem;display:flex}.auth-card{background:var(--kp-bg-white);border:.5px solid var(--kp-border-md);text-align:center;border-radius:16px;width:100%;padding:2.5rem 2rem}.auth-icon{margin-bottom:1rem;font-size:2.5rem;line-height:1}.auth-headline{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--kp-ink);margin-bottom:.5rem;font-size:1.75rem;font-weight:400}.auth-sub{color:var(--kp-ink-mid);margin-bottom:1.75rem;font-size:14px;line-height:1.6}.auth-google-btn{background:var(--kp-bg-white);border:.5px solid var(--kp-border-md);width:100%;height:44px;font-family:var(--font-sans);color:var(--kp-ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.25rem;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:flex}.auth-google-btn:hover{background:var(--kp-bg);border-color:#1a171433}.auth-google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-divider{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--kp-border-md);flex:1;height:.5px}.auth-divider span{color:var(--kp-ink-soft);letter-spacing:.05em;font-size:12px}.auth-field{text-align:left;margin-bottom:1rem}.auth-hint{color:var(--kp-ink-soft);margin-top:1rem;font-size:13px;line-height:1.6}.auth-text-btn{color:var(--kp-tan);font-size:13px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.auth-text-link{color:var(--kp-tan);font-weight:500;text-decoration:none}.auth-text-link:hover{text-decoration:underline}.auth-signup-prompt{color:var(--kp-ink-soft);text-align:center;margin-top:1rem;font-size:13px}.auth-loading{background:var(--kp-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading-logo{font-family:var(--font-serif);color:var(--kp-ink);opacity:.4;font-size:1.2rem;animation:1.5s ease-in-out infinite auth-pulse}.auth-loading-logo span{color:var(--kp-tan)}.auth-loading-spinner{border:2px solid var(--kp-border-md);border-top-color:var(--kp-tan);border-radius:50%;width:24px;height:24px;margin:0 auto 1rem;animation:.8s linear infinite auth-spin}.auth-footer{border-top:.5px solid var(--kp-border);color:var(--kp-ink-soft);text-align:center;padding:1.5rem 2rem;font-size:12px}.auth-footer a{color:var(--kp-ink-mid);border-bottom:.5px solid var(--kp-border-md);padding-bottom:1px;text-decoration:none;transition:color .2s}.auth-footer a:hover{color:var(--kp-ink)}.dash-page{font-family:var(--font-sans);background:var(--kp-bg);color:var(--kp-ink);flex-direction:column;min-height:100vh;display:flex}.dash-nav{background:var(--kp-bg-white);border-bottom:.5px solid var(--kp-border);z-index:10;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.dash-nav-right{align-items:center;gap:1rem;display:flex}.dash-tier-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:100px;padding:.3rem .75rem;font-size:11px;font-weight:500}.tier-free{background:var(--kp-bg-warm);color:var(--kp-ink-mid)}.tier-event_pass{color:var(--kp-tan);background:#9c7f5a26}.tier-subscription{color:var(--kp-ink);background:#1a171414}.dash-signout-btn{font-family:var(--font-sans);color:var(--kp-ink-mid);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:400;transition:color .2s}.dash-signout-btn:hover{color:var(--kp-ink)}.dash-main{flex:1;width:100%;max-width:900px;margin:0 auto;padding:3rem 2rem}.dash-header{justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem;display:flex}.dash-eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--kp-tan);margin-bottom:.4rem;font-size:11px;font-weight:500}.dash-headline{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--kp-ink);font-size:2rem;font-weight:400}.dash-stats{background:var(--kp-border);border:.5px solid var(--kp-border);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:2.5rem;display:grid;overflow:hidden}.dash-stat{background:var(--kp-bg-white);padding:1.25rem 1.5rem}.dash-stat strong{font-family:var(--font-serif);color:var(--kp-ink);letter-spacing:-.02em;margin-bottom:.2rem;font-size:1.5rem;font-weight:400;display:block}.dash-stat span{color:var(--kp-ink-soft);font-size:12px}.dash-section{margin-bottom:2rem}.dash-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dash-section-title{color:var(--kp-ink);font-size:14px;font-weight:500}.dash-section-link{color:var(--kp-tan);font-size:13px;text-decoration:none}.dash-section-link:hover{text-decoration:underline}.dash-empty{background:var(--kp-bg-white);border:.5px solid var(--kp-border-md);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;display:flex}.dash-empty-icon{background:var(--kp-bg-warm);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.5rem;display:flex}.dash-empty-icon svg{width:22px;height:22px;stroke:var(--kp-tan);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dash-empty-title{color:var(--kp-ink);font-size:15px;font-weight:500}.dash-empty-desc{color:var(--kp-ink-mid);max-width:320px;font-size:13px;line-height:1.6}.dash-upgrade{background:var(--kp-bg-warm);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:1.25rem 1.5rem;display:flex}.dash-upgrade-text{flex-direction:column;gap:.2rem;display:flex}.dash-upgrade-text strong{color:var(--kp-ink);font-size:13px;font-weight:500}.dash-upgrade-text span{color:var(--kp-ink-mid);font-size:12px}.dash-upgrade-btn{font-family:var(--font-sans);background:var(--kp-ink);color:var(--kp-bg);cursor:pointer;white-space:nowrap;border:none;border-radius:100px;padding:.5rem 1.25rem;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s}.dash-upgrade-btn:hover{opacity:.85}.new-event-fieldset{border:none;margin:0 0 1.75rem;padding:0}.new-event-legend{letter-spacing:.12em;text-transform:uppercase;color:var(--kp-ink-soft);border-bottom:.5px solid var(--kp-border);width:100%;margin-bottom:1rem;padding-bottom:.75rem;font-size:11px;font-weight:500}.new-event-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.new-event-radio-group{flex-direction:column;gap:.5rem;display:flex}.new-event-radio{background:var(--kp-bg);border:.5px solid var(--kp-border-md);cursor:pointer;border-radius:10px;align-items:center;gap:.875rem;padding:.875rem 1rem;transition:border-color .15s,background .15s;display:flex}.new-event-radio input[type=radio]{width:16px;height:16px;accent-color:var(--kp-tan);flex-shrink:0}.new-event-radio.selected{border-color:var(--kp-tan);background:#9c7f5a0d}.new-event-radio-label{color:var(--kp-ink);font-size:13px;font-weight:500;display:block}.new-event-radio-desc{color:var(--kp-ink-soft);margin-top:1px;font-size:12px;display:block}.new-event-toggle{border-bottom:.5px solid var(--kp-border);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.new-event-toggle:last-child{border-bottom:none}.new-event-toggle input[type=checkbox]{display:none}.new-event-toggle-label{color:var(--kp-ink);font-size:13px;font-weight:500;display:block}.new-event-toggle-desc{color:var(--kp-ink-soft);margin-top:1px;font-size:12px;display:block}.new-event-toggle-track{background:var(--kp-border-md);border-radius:100px;flex-shrink:0;width:36px;height:20px;transition:background .2s;position:relative}.new-event-toggle-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.new-event-toggle input:checked~.new-event-toggle-track{background:var(--kp-tan)}.new-event-toggle input:checked~.new-event-toggle-track:after{transform:translate(16px)}@media (max-width:768px){.dash-stats{grid-template-columns:1fr 1fr}.dash-header{flex-direction:column;align-items:flex-start;gap:1rem}.dash-main{padding:2rem 1.25rem}.new-event-row{grid-template-columns:1fr}.dash-upgrade{flex-direction:column;align-items:flex-start}}.onb-progress{background:var(--kp-border);border-radius:100px;height:3px;margin-bottom:2rem;overflow:hidden}.onb-progress-bar{background:var(--kp-tan);border-radius:100px;width:33%;height:100%}.onb-section-label{color:var(--kp-ink-mid);letter-spacing:.01em;margin-bottom:.75rem;font-size:12px;font-weight:500}.onb-social-row{align-items:center;gap:0;margin-bottom:.5rem;display:flex}.onb-social-prefix{background:var(--kp-bg-warm);border:.5px solid var(--kp-border-md);border-right:none;border-radius:10px 0 0 10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.onb-social-icon{width:16px;height:16px;stroke:var(--kp-ink-mid);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.onb-social-input{flex:1;border-radius:0 10px 10px 0!important}.onb-referral-grid{flex-wrap:wrap;gap:.5rem;display:flex}.onb-referral-btn{font-family:var(--font-sans);background:var(--kp-bg);border:.5px solid var(--kp-border-md);cursor:pointer;color:var(--kp-ink);border-radius:100px;padding:.45rem 1rem;font-size:13px;font-weight:400;transition:all .15s}.onb-referral-btn:hover{border-color:var(--kp-tan);background:var(--kp-bg-warm)}.onb-referral-btn.selected{background:var(--kp-tan);border-color:var(--kp-tan);color:#fff}.input-error{border-color:#dc503c80!important;box-shadow:0 0 0 3px #dc503c14!important}.dash-loading{justify-content:center;padding:4rem;display:flex}.dash-event-list{border:.5px solid var(--kp-border-md);border-radius:16px;flex-direction:column;gap:0;display:flex;overflow:hidden}.dash-event-card{background:var(--kp-bg-white);border-bottom:.5px solid var(--kp-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;transition:background .15s;display:flex}.dash-event-card:last-child{border-bottom:none}.dash-event-card:hover{background:var(--kp-bg)}.dash-event-card-left{flex:1;min-width:0}.dash-event-card-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.dash-event-title{color:var(--kp-ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:500;overflow:hidden}.dash-event-status{letter-spacing:.06em;text-transform:uppercase;border-radius:100px;flex-shrink:0;padding:.2rem .6rem;font-size:11px;font-weight:500}.dash-event-status.active{color:#1a7a1a;background:#228b221a}.dash-event-status.archived{background:var(--kp-bg-warm);color:var(--kp-ink-soft)}.dash-event-status.status-expired{color:#c03020;background:#dc503c14}.dash-event-meta-row{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:.5rem;display:flex}.dash-event-meta{color:var(--kp-ink-mid);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.35rem;max-width:220px;font-size:12px;display:flex;overflow:hidden}.dash-meta-icon{width:13px;height:13px;stroke:var(--kp-ink-soft);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.dash-event-pill-row{flex-wrap:wrap;gap:.4rem;display:flex}.dash-event-pill{background:var(--kp-bg-warm);color:var(--kp-ink-mid);border:.5px solid var(--kp-border);border-radius:100px;padding:.2rem .6rem;font-size:11px;font-weight:400}.dash-event-pill.pill-warning{color:#9a6000;background:#dc8c001a;border-color:#dc8c0033}.dash-event-card-right{flex-shrink:0}.dash-event-chevron{width:16px;height:16px;stroke:var(--kp-ink-soft);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.ev-warning{color:#7a5000;background:#dc8c0014;border:.5px solid #dc8c0040;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.875rem 1.25rem;font-size:13px;display:flex}.ev-warning-link{color:var(--kp-tan);margin-left:auto;font-weight:500;text-decoration:none}.ev-warning-link:hover{text-decoration:underline}.ev-grid{grid-template-columns:260px 1fr;align-items:start;gap:1.25rem;display:grid}.ev-card{background:var(--kp-bg-white);border:.5px solid var(--kp-border-md);border-radius:16px;padding:1.5rem}.ev-card-label{letter-spacing:.12em;text-transform:uppercase;color:var(--kp-ink-soft);margin-bottom:1.25rem;font-size:11px;font-weight:500}.ev-qr-wrap{justify-content:center;margin-bottom:1.25rem;display:flex}.ev-qr-img{border-radius:8px;width:180px;height:180px}.ev-qr-placeholder{background:var(--kp-bg-warm);border-radius:8px;width:180px;height:180px}.ev-link-row{background:var(--kp-bg);border:.5px solid var(--kp-border-md);border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;display:flex}.ev-link-text{color:var(--kp-ink-mid);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.ev-copy-btn{font-family:var(--font-sans);background:var(--kp-ink);color:var(--kp-bg);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:.3rem .75rem;font-size:12px;font-weight:500;transition:opacity .15s}.ev-copy-btn:hover{opacity:.8}.ev-download-btn{text-align:center;width:100%;font-family:var(--font-sans);color:var(--kp-ink);background:var(--kp-bg);border:.5px solid var(--kp-border-md);border-radius:8px;margin-bottom:.5rem;padding:.625rem;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;display:block}.ev-download-btn:hover{background:var(--kp-bg-warm)}.ev-preview-link{text-align:center;color:var(--kp-tan);font-size:13px;text-decoration:none;display:block}.ev-preview-link:hover{text-decoration:underline}.ev-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.ev-stat{text-align:center;background:var(--kp-bg);border-radius:8px;padding:.75rem .5rem}.ev-stat strong{font-family:var(--font-serif);color:var(--kp-ink);letter-spacing:-.02em;font-size:1.4rem;font-weight:400;display:block}.ev-stat span{color:var(--kp-ink-soft);font-size:11px}.ev-action-btn{text-align:center;width:100%;font-family:var(--font-sans);color:var(--kp-bg);background:var(--kp-ink);border-radius:8px;padding:.625rem;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s;display:block}.ev-action-btn:hover{opacity:.85}.ev-settings-list{flex-direction:column;display:flex}.ev-setting-row{border-bottom:.5px solid var(--kp-border);justify-content:space-between;align-items:center;padding:.625rem 0;font-size:13px;display:flex}.ev-setting-row:last-child{border-bottom:none}.ev-setting-key{color:var(--kp-ink-mid)}.ev-setting-val{color:var(--kp-ink);font-weight:500}@media (max-width:768px){.ev-grid{grid-template-columns:1fr}.dash-event-meta{max-width:160px}}.rsvp-list-summary{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.rsvp-summary-card{background:var(--kp-bg-white);border:.5px solid var(--kp-border-md);text-align:center;border-radius:12px;padding:1rem}.rsvp-summary-card strong{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:.2rem;font-size:1.75rem;font-weight:400;display:block}.rsvp-summary-card span{color:var(--kp-ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:500}.rsvp-summary-total strong{color:var(--kp-ink)}.rsvp-summary-yes strong{color:#1a7a1a}.rsvp-summary-maybe strong{color:#9a6000}.rsvp-summary-no strong{color:var(--kp-ink-soft)}.rsvp-list-breakdown{color:var(--kp-ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:12px;display:flex}.rsvp-breakdown-dot{color:var(--kp-border-md)}.rsvp-list-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.rsvp-list-filter-btn{font-family:var(--font-sans);border:.5px solid var(--kp-border-md);background:var(--kp-bg-white);color:var(--kp-ink-mid);cursor:pointer;border-radius:100px;padding:.4rem .875rem;font-size:12px;font-weight:500;transition:all .15s}.rsvp-list-filter-btn:hover{border-color:var(--kp-tan);color:var(--kp-tan)}.rsvp-list-filter-btn.active{background:var(--kp-ink);border-color:var(--kp-ink);color:var(--kp-bg)}.rsvp-list-cards{border:.5px solid var(--kp-border-md);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.rsvp-list-card{background:var(--kp-bg-white);border-bottom:.5px solid var(--kp-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.rsvp-list-card:last-child{border-bottom:none}.rsvp-list-card-left{flex:1;min-width:0}.rsvp-list-card-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.3rem;display:flex}.rsvp-list-name{color:var(--kp-ink);font-size:15px;font-weight:500}.rsvp-list-badge{border-radius:100px;padding:.2rem .6rem;font-size:11px;font-weight:500}.rsvp-badge-yes{color:#1a7a1a;background:#228b221a}.rsvp-badge-maybe{color:#9a6000;background:#dc8c001a}.rsvp-badge-no{background:var(--kp-bg-warm);color:var(--kp-ink-soft)}.rsvp-list-contact{color:var(--kp-ink-mid);margin-bottom:.35rem;font-size:12px}.rsvp-list-party{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.rsvp-list-party-size{color:var(--kp-ink);background:var(--kp-bg-warm);border-radius:100px;padding:.15rem .5rem;font-size:12px;font-weight:500}.rsvp-list-party-names{color:var(--kp-ink-mid);font-size:12px}.rsvp-list-message{color:var(--kp-ink-soft);margin-top:.4rem;font-size:13px;font-style:italic;line-height:1.5}.rsvp-list-card-right{flex-shrink:0}.rsvp-list-time{color:var(--kp-ink-soft);white-space:nowrap;font-size:11px}@media (max-width:768px){.rsvp-list-summary{grid-template-columns:repeat(2,1fr)}.rsvp-list-card{flex-direction:column;gap:.5rem}.rsvp-list-card-right{align-self:flex-start}}
