:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Garamond", "EB Garamond", "Cormorant Garamond", Georgia, serif;--heading:"Garamond", "EB Garamond", "Cormorant Garamond", Georgia, serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}input,textarea,select,button{font-family:inherit}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:40px;box-shadow:0 10px 40px #0000001a}.login-card h1{color:#1a202c;text-align:center;margin:0 0 8px;font-size:28px}.login-subtitle{color:#718096;text-align:center;margin:0 0 32px;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.form-input:disabled{cursor:not-allowed;opacity:.6;background-color:#f7fafc}.code-input{letter-spacing:8px;text-align:center;font-size:24px;font-weight:600}.form-help{color:#718096;font-size:12px}.btn{cursor:pointer;text-align:center;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .2s;display:inline-block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary:hover:not(:disabled){background:#f7fafc}.alert-success{color:#2f855a;background-color:#c6f6d5;border:1px solid #68d391}.register-message{color:#2d3748;text-align:center;margin:0 0 8px;font-size:14px;line-height:1.6}.sms-consent-message{color:#718096;text-align:center;margin:0;font-size:12px;font-style:italic;line-height:1.5}.login-footer{border-top:1px solid #e2e8f0;margin-top:32px;padding-top:20px}.login-footer p{color:#718096;text-align:center;margin:0;font-size:12px;line-height:1.6}.login-footer a{color:#667eea;text-decoration:none}.login-footer a:hover{text-decoration:underline}@media (width<=480px){.login-card{padding:28px 20px}.login-card h1{font-size:24px}.btn{font-size:14px}}.events-container{background:#f7fafc;min-height:100vh;padding:20px 20px 80px}.events-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 2px 8px #0000001a}.events-header h1{color:#1a202c;margin:0 0 4px;font-size:28px}.user-greeting{color:#718096;margin:0;font-size:14px}.events-content{background:#fff;border-radius:12px;min-height:400px;padding:24px;box-shadow:0 2px 8px #0000001a}.empty-icon{margin-bottom:16px;font-size:64px}.empty-state h2{color:#2d3748;margin:0 0 8px;font-size:24px}.events-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%;display:grid}.event-card{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-direction:column;height:auto;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #667eea4d}.event-card.past-event:after{content:"";pointer-events:none;z-index:1;background-color:#ffffffb3;width:100%;height:100%;position:absolute;top:0;left:0}.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea66}.event-image-container{background:#0003;flex-shrink:0;width:100%;height:auto;display:block}.event-image{width:100%;height:auto;display:block}.event-card-content{z-index:2;flex-direction:column;flex-shrink:0;justify-content:flex-start;gap:16px;padding:24px;display:flex;position:relative}.event-name{color:#1a202c;margin:0;font-size:22px;font-weight:700}.event-details{flex-direction:column;gap:8px;display:flex}.event-detail-row{color:#1a202c;align-items:center;gap:8px;font-size:14px;display:flex}.event-detail-row .icon{font-size:16px}.event-link{color:#1a202c;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:all .2s}.event-link:hover{color:#1a202c;text-shadow:0 0 8px #ffffff80;text-decoration-style:solid}.badge{color:#1a202c;border-radius:12px;width:fit-content;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.badge-test{color:#1a202c;background:#e05b17c2;border:1px solid #ffffff80}.fab{cursor:pointer;z-index:1000;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #667eea80}.fab:hover{transform:scale(1.1)rotate(90deg);box-shadow:0 6px 28px #667eea99}.fab:active{transform:scale(1.05)rotate(90deg)}.fab-icon{color:#fff;justify-content:center;align-items:center;font-size:32px;font-weight:300;line-height:1;display:flex}@media (width<=768px){.events-header{flex-direction:column;align-items:flex-start;gap:16px}.events-header button{width:100%}.events-grid{grid-template-columns:1fr}.fab{width:56px;height:56px;bottom:16px;right:16px}.fab-icon{font-size:28px}.event-card{width:100%;max-width:100%;margin-left:0;margin-right:0;height:auto!important}.event-image-container{width:100%;height:auto!important;display:block!important}.event-image{width:100%!important;height:auto!important}.event-card-content{padding:16px}}*,:before,:after{box-sizing:border-box}.event-detail-container{background:#f7fafc 0 0/400% 400%;min-height:100vh;animation:8s infinite gradientFlow}@keyframes gradientFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.event-detail-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#ffffffa6;justify-content:flex-start;padding:20px 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.btn-back{color:#667eea;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:16px;font-weight:600;transition:all .2s}.btn-back:hover{background:#f7fafc}.error-state{text-align:center;color:#718096;padding:80px 20px}.error-icon{margin-bottom:16px;font-size:64px}.error-state h2{color:#2d3748;margin:0 0 8px;font-size:24px}.error-state p{margin:0 0 24px;font-size:16px}.event-detail-content{max-width:1200px;margin:0 auto;padding:24px}.event-detail-image-container{border-radius:12px;width:50%;margin:0 auto 32px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.event-detail-image{width:100%;height:auto;margin:0 auto;display:block}.event-detail-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa6;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a}.event-header-section{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.event-detail-title{color:#1a202c;margin:0;font-size:36px;font-weight:700;line-height:1.2}.btn-rsvp{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;flex-shrink:0;padding:12px 32px;font-size:16px;font-weight:600;transition:all .2s}.btn-rsvp:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-rsvp:disabled{opacity:.7;cursor:not-allowed}.btn-rsvp-confirmed{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}.event-detail-section{margin-bottom:32px}.event-detail-section:last-child{margin-bottom:0}.section-title{text-align:left;color:#2d3748;align-items:center;gap:12px;margin:0 0 16px;font-size:20px;font-weight:600;display:flex}.test-badge{color:#c05621;background:#e05b1726;border:1px solid #e05b1766;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.event-description{text-align:left;color:#4a5568;white-space:pre-wrap;margin:0;font-size:16px;line-height:1.6}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.detail-item{background:#f7fafc;border-radius:8px;align-items:flex-start;gap:12px;padding:16px;transition:all .2s;display:flex;position:relative}.detail-item:hover{background:#edf2f7}.detail-item-with-overlay{position:relative}.detail-icon{flex-shrink:0;font-size:24px}.detail-content{flex:1}.detail-content h3{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;font-size:14px;font-weight:600}.detail-content p{color:#2d3748;margin:0;font-size:16px}.event-passed-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#ffffffb3;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.event-passed-badge{color:#4a5568;padding:6px 16px;font-size:14px;font-weight:600}.auth-required{font-style:italic;color:#718096!important}.detail-link{color:#667eea;border-bottom:2px solid #0000;font-size:16px;text-decoration:none;transition:all .2s}.detail-link:hover{border-bottom-color:#667eea}.invitees-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.invitee-card{background:#f7fafc;border-radius:8px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.invitee-card:hover{background:#edf2f7;transform:translateY(-2px)}.invitee-info{flex:1;min-width:0}.invitee-name{color:#2d3748;margin:0 0 2px;font-size:16px;font-weight:600}.invitee-email{color:#718096;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.invitees-locked{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff6;border:2px dashed #cbd5e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:40px;display:flex;position:relative}.lock-icon{opacity:.6;margin-bottom:16px;font-size:48px}.lock-message{color:#4a5568;margin:0;font-size:18px;font-weight:500}.test-event-notice{background:#e05b171a;border:2px solid #e05b174d;border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.notice-icon{flex-shrink:0;font-size:24px}.test-event-notice p{color:#2d3748;margin:0;font-size:16px;font-weight:600}@media (width<=768px){.event-detail-header{padding:16px 20px}.event-detail-content{padding:16px}.event-detail-info{padding:24px 20px}.event-header-section{flex-direction:column;align-items:flex-start}.event-detail-title{font-size:28px}.btn-rsvp{width:100%}.section-title{font-size:18px}.detail-grid,.invitees-grid{grid-template-columns:1fr}.event-detail-image-container{border-radius:8px;margin-bottom:24px}}@media (width<=480px){.event-detail-title{font-size:24px}.event-detail-info{padding:20px 16px}}.admin-container{background:#f7fafc;min-height:100vh;padding:20px}.admin-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 2px 8px #0000001a}.admin-header h1{color:#1a202c;margin:0;font-size:28px}.header-actions{gap:12px;display:flex}.loading{text-align:center;color:#718096;padding:40px;font-size:18px}.alert{border-radius:8px;margin-bottom:20px;padding:16px;font-size:14px}.alert-error{color:#c53030;background-color:#fed7d7;border:1px solid #fc8181}.event-form-container{background:#fff;border-radius:12px;max-width:600px;margin:0 auto;padding:32px;box-shadow:0 2px 8px #0000001a}.event-form-container h2{color:#1a202c;margin:0 0 24px;font-size:24px}.event-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#2d3748;font-size:14px;font-weight:600}.form-input{border:2px solid #e2e8f0;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}.form-input:focus{border-color:#667eea;outline:none}textarea.form-input{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{cursor:pointer;align-items:center;gap:8px;font-weight:400;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;width:18px;height:18px}.form-actions{gap:12px;margin-top:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{color:#667eea;background:0 0;border:2px solid #667eea}.btn-secondary:hover{background:#f7fafc}.events-list{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.empty-state{text-align:center;color:#718096;padding:60px 20px}.empty-state p{margin:0;font-size:18px}.events-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.event-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s}.event-card:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a}.event-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.event-card-header h3{color:#1a202c;flex:1;margin:0;font-size:20px}.event-card-actions{gap:8px;display:flex}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:20px;transition:background .2s}.btn-icon:hover{background:#f7fafc}.event-card-body{flex-direction:column;gap:8px;display:flex}.event-address,.event-datetime{color:#4a5568;margin:0;font-size:14px}.badge{border-radius:12px;margin-top:8px;margin-right:8px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.badge-warning{color:#c05621;background:#fef5e7}.badge-info{color:#1890ff;background:#e6f7ff}@media (width<=768px){.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%}.header-actions button{flex:1}.events-grid{grid-template-columns:1fr}.event-form-container{padding:20px}}.image-upload-section{background:#f7fafc;border:2px dashed #e2e8f0;border-radius:8px;margin-bottom:20px;padding:16px}.file-input{display:none}.file-input-label{color:#fff;cursor:pointer;background:#667eea;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s;display:inline-block}.file-input-label:hover{background:#5568d3}.image-preview{margin-top:16px;display:inline-block;position:relative}.preview-image{border-radius:8px;max-width:300px;max-height:300px;display:block;box-shadow:0 2px 8px #0000001a}.btn-remove-preview{color:#fff;cursor:pointer;background:#fc8181;border:none;border-radius:4px;margin-top:8px;padding:6px 12px;font-size:12px;transition:background .2s}.btn-remove-preview:hover{background:#f56565}.uploading-message{color:#667eea;margin-top:12px;font-size:14px;font-weight:600}.image-name-input{flex-direction:column;gap:8px;margin-top:16px;display:flex}.image-name-input label{color:#2d3748;font-size:14px;font-weight:600}.document-select-section{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.section-label{color:#718096;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.existing-document-preview{margin-top:16px}.existing-document-preview .preview-image{border-radius:8px;max-width:300px;max-height:300px;display:block;box-shadow:0 2px 8px #0000001a}@media (width<=480px){.admin-container{padding:12px}.admin-header{padding:16px}.admin-header h1{font-size:22px}.btn{padding:10px 20px;font-size:14px}.preview-image{max-width:100%}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
