@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PlusJakartaSans-Regular.woff2) format("woff2");unicode-range:U+000-5FF,U+2010-205F,U+20AC}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/PlusJakartaSans-Bold.woff2) format("woff2");unicode-range:U+000-5FF,U+2010-205F,U+20AC}@font-face{font-family:Dancing Script;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DancingScript-Regular.woff2) format("woff2");unicode-range:U+000-5FF,U+2010-205F}@font-face{font-family:Dancing Script;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/DancingScript-Bold.woff2) format("woff2");unicode-range:U+000-5FF,U+2010-205F}:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-surface-alt: #f1f3f5;--color-border: #ced4da;--color-text: #212121;--color-text-secondary: #6c757d;--color-placeholder: #6c757d;--color-info: #2196f3;--color-success: #4caf50;--color-warning: #ffc107;--color-danger: #f44336;--color-disabled-bg: #e9ecef;--color-disabled-text: #adb5bd;--color-hover-bg: #e9ecef;--color-table-header: #f1f3f5;--color-table-stripe: #f8f9fa;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--radius: .25rem;--spacing-0: 0rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: 1rem;--spacing-4: 1.5rem;--spacing-5: 2rem;--spacing-6: 2.5rem;--spacing-7: 3rem;--spacing-8: 4rem;--elevation-1: var(--shadow-sm);--elevation-2: 0 2px 6px rgba(0, 0, 0, .15);--elevation-3: var(--shadow-lg);--font-heading-h2: clamp(1.5rem, calc(1.364rem + .682vw) , 1.88rem);--font-body-regular: clamp(1rem, calc(.909rem + .455vw) , 1.25rem);--font-script: "Dancing Script", cursive;--font-sans: "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;--font-family-serif: "Playfair Display", "Times New Roman", serif;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--base-gradient: var(--color-bg);--hero-overlay: linear-gradient(120deg, rgba(20, 12, 18, .72), rgba(61, 27, 40, .55));--text-primary: var(--color-text);--text-secondary: var(--color-text-secondary);--surface-panel: var(--color-surface);--surface-card: var(--color-surface);--border-soft: var(--color-border);--shadow-soft: var(--shadow-sm);--shadow-strong: var(--shadow-lg);--color-background-primary: var(--color-bg);--color-background-secondary: var(--color-surface);--color-background-accent: var(--color-info);--color-background-danger: var(--color-danger);--color-text-primary: var(--color-text);--color-text-on-accent: #ffffff;--color-text-danger: var(--color-danger);--color-text-success: var(--color-success);--color-border-primary: var(--color-border);--color-border-focused: var(--color-info);--color-interactive-primary-default: var(--color-info);--color-interactive-primary-hover: #1976d2;--color-interactive-danger-default: var(--color-danger);--color-interactive-danger-hover: #d32f2f;--color-interactive-disabled: var(--color-disabled-bg);--color-text-disabled: var(--color-disabled-text);--color-backdrop-background: hsla(0, 0%, 100%, .5);--admin-color-surface: var(--color-surface);--admin-color-surface-alt: var(--color-surface-alt);--admin-color-primary: var(--color-info);--admin-color-primary-hover: #1976d2;--admin-color-primary-subtle: var(--color-hover-bg);--admin-color-danger: var(--color-danger);--admin-color-danger-hover: #d32f2f;--admin-color-text: var(--color-text);--admin-color-text-muted: var(--color-text-secondary);--admin-color-border: var(--color-border);--admin-color-border-strong: var(--color-border);--admin-shadow-sm: var(--shadow-sm);--admin-shadow-md: var(--shadow-lg);--admin-font-sans: var(--font-sans);--admin-text-xs: .75rem;--admin-text-sm: .875rem;--admin-text-lg: 1.125rem;--admin-spacing-xs: .5rem;--admin-spacing-sm: .75rem;--admin-spacing-md: 1rem;--admin-spacing-lg: 1.5rem;--admin-spacing-xl: 2rem;--admin-transition-base: .15s ease}:root[data-theme=dark]{--color-bg: #121212;--color-surface: #1e1e1e;--color-surface-alt: #2a2a2a;--color-border: #444444;--color-text: #e0e0e0;--color-text-secondary: #a0a0a0;--color-placeholder: #868e96;--color-info: #2196f3;--color-success: #4caf50;--color-warning: #ffc107;--color-danger: #f44336;--color-disabled-bg: #343a40;--color-disabled-text: #6c757d;--color-hover-bg: #333333;--color-table-header: #212529;--color-table-stripe: #252525;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5);--color-background-primary: var(--color-bg);--color-background-secondary: var(--color-surface);--color-background-accent: var(--color-info);--color-background-danger: var(--color-danger);--color-text-primary: var(--color-text);--color-text-on-accent: #ffffff;--color-text-danger: var(--color-danger);--color-text-success: var(--color-success);--color-border-primary: var(--color-border);--color-border-focused: var(--color-info);--color-interactive-primary-default: var(--color-info);--color-interactive-primary-hover: #64b5f6;--color-interactive-danger-default: var(--color-danger);--color-interactive-danger-hover: #ef5350;--color-interactive-disabled: var(--color-disabled-bg);--color-text-disabled: var(--color-disabled-text);--color-backdrop-background: hsla(222, 47%, 11%, .5);--elevation-1: var(--shadow-sm);--elevation-2: 0 2px 6px rgba(0, 0, 0, .45);--elevation-3: var(--shadow-lg)}:root{font-family:var(--font-sans);line-height:1.6;font-weight:400;color:var(--text-primary);background:var(--base-gradient);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-body-regular, clamp(1rem, calc(.909rem + .455vw) , 1.25rem));line-height:1.6;background:var(--color-bg);color:var(--color-text);transition:background .5s ease,color .5s ease}#root{overflow-x:hidden}p{margin-bottom:1em}a{color:var(--color-info);text-decoration:none}a:hover{text-decoration:underline}h1,.h1{font-size:clamp(1.8rem,calc(1.636rem + .818vw),2.25rem);line-height:1.2;margin-bottom:.5em}h2,.h2{font-size:var(--font-heading-h2, clamp(1.5rem, calc(1.364rem + .682vw) , 1.88rem));line-height:1.25;margin-bottom:.5em}h3,.h3{font-size:clamp(1.4rem,calc(1.273rem + .636vw),1.75rem);line-height:1.3;margin-bottom:.5em}h4,.h4{font-size:clamp(1.3rem,calc(1.182rem + .591vw),1.63rem);line-height:1.35;margin-bottom:.5em}h5,.h5{font-size:clamp(1.2rem,calc(1.091rem + .545vw),1.5rem);line-height:1.4;margin-bottom:.5em}h6,.h6{font-size:clamp(1.1rem,calc(1rem + .5vw),1.38rem);line-height:1.4;margin-bottom:.5em}body.admin-page{background:var(--color-background-primary, #000000);color:var(--color-text-primary, #111827)}body.admin-page.admin-page--auth{background:var( --grad-surface, radial-gradient(circle at 25% 20%, rgba(96, 165, 250, .24), transparent 55%) ),var(--color-background-primary, #030712);color:var(--color-text-primary, #f9fafb);color-scheme:dark}body.checkin-active{background:var(--checkin-bg, var(--base-gradient))}body.checkin-active #root{background:var(--checkin-bg)}#root{min-height:100vh;width:100%}body[data-invitation-template=classic] div#root{max-width:1920px;margin-left:auto;margin-right:auto}a{color:inherit;text-decoration:none;transition:color .3s ease}a:hover,a:focus-visible{color:var(--accent-rose)}button{font-family:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root,[data-admin-theme=default]{--admin-color-bg: #0f172a;--admin-color-surface: #ffffff;--admin-color-surface-alt: #f8fafc;--admin-color-primary: #2563eb;--admin-color-primary-hover: #1d4ed8;--admin-color-primary-subtle: #dbeafe;--admin-color-accent: #10b981;--admin-color-danger: #ef4444;--admin-color-danger-hover: #dc2626;--admin-color-warning: #f59e0b;--admin-color-success: #22c55e;--admin-color-text: #1e293b;--admin-color-text-muted: #64748b;--admin-color-border: #e2e8f0;--admin-color-border-strong: #94a3b8;--admin-shadow-sm: 0 1px 2px rgba(15, 23, 42, .08);--admin-shadow-md: 0 8px 30px rgba(15, 23, 42, .12);--admin-radius-sm: 6px;--admin-radius-md: 10px;--admin-radius-lg: 16px;--admin-font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--admin-text-xs: .75rem;--admin-text-sm: .875rem;--admin-text-md: 1rem;--admin-text-lg: 1.125rem;--admin-spacing-xs: .5rem;--admin-spacing-sm: .75rem;--admin-spacing-md: 1rem;--admin-spacing-lg: 1.5rem;--admin-spacing-xl: 2rem;--admin-transition-base: .15s ease;--checkin-bg: linear-gradient(180deg, rgba(219, 234, 254, .85), rgba(226, 232, 240, .65));--checkin-card: rgba(255, 255, 255, .96);--checkin-card-alt: rgba(255, 255, 255, .9);--checkin-border: rgba(59, 130, 246, .28);--checkin-border-strong: rgba(37, 99, 235, .4);--checkin-primary: var(--admin-color-primary);--checkin-primary-strong: var(--admin-color-primary-hover);--checkin-primary-subtle: rgba(59, 130, 246, .16);--checkin-text: var(--admin-color-text);--checkin-text-muted: rgba(30, 41, 59, .72);--checkin-text-subtle: rgba(30, 41, 59, .55);--checkin-success: var(--admin-color-success);--checkin-error: var(--admin-color-danger);--checkin-warning-bg: rgba(254, 243, 199, .75);--checkin-warning-border: rgba(217, 119, 6, .4)}[data-admin-theme=emerald]{--admin-color-bg: #064e3b;--admin-color-surface: #f0fdf4;--admin-color-surface-alt: #dcfce7;--admin-color-primary: #059669;--admin-color-primary-hover: #047857;--admin-color-primary-subtle: #bbf7d0;--admin-color-accent: #10b981;--admin-color-danger: #f87171;--admin-color-danger-hover: #ef4444;--checkin-bg: linear-gradient(180deg, rgba(208, 250, 229, .85), rgba(187, 247, 208, .65));--checkin-card: rgba(255, 255, 255, .96);--checkin-card-alt: rgba(255, 255, 255, .9);--checkin-border: rgba(5, 150, 105, .28);--checkin-border-strong: rgba(4, 120, 87, .4);--checkin-primary: var(--admin-color-primary);--checkin-primary-strong: var(--admin-color-primary-hover);--checkin-primary-subtle: rgba(5, 150, 105, .16);--checkin-text: #054a37;--checkin-text-muted: rgba(5, 74, 55, .68);--checkin-text-subtle: rgba(5, 74, 55, .5);--checkin-success: #047857;--checkin-error: var(--admin-color-danger);--checkin-warning-bg: rgba(250, 204, 21, .75);--checkin-warning-border: rgba(234, 179, 8, .45)}[data-admin-theme=gold]{--admin-color-bg: #78350f;--admin-color-surface: #fffbeb;--admin-color-surface-alt: #fef3c7;--admin-color-primary: #d97706;--admin-color-primary-hover: #b45309;--admin-color-primary-subtle: #fde68a;--admin-color-accent: #f59e0b;--admin-color-danger: #f87171;--admin-color-danger-hover: #ef4444;--checkin-bg: linear-gradient(180deg, rgba(255, 247, 213, .85), rgba(254, 243, 199, .7));--checkin-card: rgba(255, 255, 255, .97);--checkin-card-alt: rgba(255, 255, 255, .92);--checkin-border: rgba(217, 119, 6, .3);--checkin-border-strong: rgba(180, 83, 9, .42);--checkin-primary: var(--admin-color-primary);--checkin-primary-strong: var(--admin-color-primary-hover);--checkin-primary-subtle: rgba(217, 119, 6, .18);--checkin-text: #6b3a0d;--checkin-text-muted: rgba(107, 58, 13, .72);--checkin-text-subtle: rgba(107, 58, 13, .5);--checkin-success: #0d9488;--checkin-error: var(--admin-color-danger);--checkin-warning-bg: rgba(253, 230, 138, .75);--checkin-warning-border: rgba(217, 119, 6, .4)}@media (prefers-reduced-motion: reduce){:root{--admin-transition-base: 0s}}.lightbox.lightbox--scanner{align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem);overflow-y:auto;position:fixed;top:0;right:0;bottom:0;left:0;display:flex;height:100%}.lightbox.lightbox--scanner::-webkit-scrollbar{width:6px}.lightbox.lightbox--scanner::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:999px}.lightbox--scanner .lightbox__content{width:100%;min-height:min(520px,90vh);max-height:none;height:auto;background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.06),rgba(5,5,12,.95));border-radius:32px;padding:0;display:flex;flex-direction:column;gap:1rem;flex:0 0 auto}.lightbox--scanner .lightbox__close{color:#fff;background:rgba(0,0,0,.74);border-radius:20px;z-index:1200;top:.5rem;right:.5rem;display:inline-flex;align-items:center;justify-content:center;padding:.1rem .6rem}.lightbox--scanner .lightbox__backdrop{position:fixed;top:0;right:0;bottom:0;left:0}.scanner-modal{display:flex;flex-direction:column;gap:1rem;min-height:0;flex:1 1 auto;width:100%;padding-top:0}.scanner-modal__viewport{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:24px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.4);flex:1 1 auto;min-height:280px}.scanner-modal__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}video.scanner-modal__video{width:100%}.scanner-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(5,5,15,.8)),radial-gradient(circle at 50% 35%,rgba(255,255,255,.08),transparent 60%);pointer-events:none}.scanner-modal__frame{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:26px;border:2px solid rgba(255,255,255,.65);box-shadow:0 0 40px rgba(0,0,0,.45);pointer-events:none}.scanner-modal__message{border-radius:20px;padding:1rem 1.25rem;background:rgba(12,13,26,.85);border:1px solid rgba(255,255,255,.1);color:#fff;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.scanner-modal__message strong{font-size:1.1rem}.scanner-modal__message--success{border-color:rgba(45,212,191,.5);box-shadow:0 0 30px rgba(16,185,129,.25)}.scanner-modal__message--error{border-color:rgba(248,113,113,.5);box-shadow:0 0 30px rgba(239,68,68,.25)}.scanner-modal__message--info{border-color:rgba(96,165,250,.4)}.scanner-modal__error{margin:0;color:#ffd9e7;font-weight:600;text-align:center}.scanner-modal__headers{display:none}.scanner-modal__fallback{background:rgba(7,8,20,.9);border-radius:24px;padding:2rem;color:#fff;text-align:center;border:1px solid rgba(255,255,255,.1);line-height:1.6}@media (max-width: 640px){.lightbox--scanner .lightbox__content{border-radius:24px;padding:1rem}}@media (max-height: 720px){.lightbox--scanner .lightbox__content{max-height:96vh;padding-block:1rem;min-height:min(520px,90vh)}.scanner-modal__viewport{aspect-ratio:auto;max-height:60vh;height:auto;min-height:280px}}@media (orientation: landscape){.lightbox.lightbox--scanner,.lightbox--scanner .lightbox__backdrop{height:800px}.lightbox--scanner .lightbox__content{width:100%;min-height:min(520px,90vh);padding:clamp(.5rem,3vw,1.5rem)}.scanner-modal{padding-top:30px}.scanner-modal__viewport{aspect-ratio:auto;max-height:100vh;height:auto;min-height:350px;margin-top:clamp(.5rem,2vh,1.5rem)}.lightbox--scanner .lightbox__close{top:1rem;right:1rem}}.self-checkin-card-info{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--base-gradient, #faf5f8)}.self-checkin-card{max-width:520px;width:100%;text-align:left;background:rgba(255,255,255,.95);border-radius:24px;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 20px 60px rgba(0,0,0,.1)}.self-checkin-card__badge{margin:0;display:inline-flex;padding:.35rem .9rem;border-radius:999px;background:rgba(196,120,157,.12);color:#824565;font-weight:600}.self-checkin-card h1{margin-top:.75rem;margin-bottom:1rem}.self-checkin-card__description{margin-bottom:.75rem;color:rgba(50,29,41,.72);line-height:1.6}.self-checkin-card__list{margin:0 0 1.25rem 1.2rem;color:rgba(50,29,41,.72);line-height:1.6;padding:0}.self-checkin-card__list li{margin-bottom:.4rem}span.admin__guest-status{max-width:fit-content}.admin__user-actions{position:relative}.admin__user-toggle-actions{border:none;background:transparent;cursor:pointer;font-size:1rem;padding:.25rem .5rem}.admin__user-actions-panel{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.6rem}.admin__invite-edit-wrapper{grid-column:1 / -1;margin:.75rem 0 0;display:flex}.admin__invite-item,.admin__invite-item--active{width:100%}.admin__invite-edit-form{width:100%;margin-top:1rem;display:grid;gap:.75rem;background:rgba(249,250,252,.85);border:1px solid var(--admin-color-border, #e2e8f0);border-radius:16px;padding:1rem}.admin__invite-edit-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--admin-color-text, #1e293b)}.admin__invite-edit-form input{border:1px solid var(--admin-color-border, #e2e8f0);border-radius:12px;padding:.65rem .75rem;font-size:.95rem;background:#fff}.admin__invite-edit-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.admin__invite-edit-actions button.admin__button.admin__button--ghost,form.admin__user-form button.admin__button.admin__button--ghost,form.admin__guest-form button.admin__button.admin__button--ghost{margin-bottom:auto}
