@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap";:root{--color-primary:#06c;--color-primary-focus:#0071e3;--color-primary-on-dark:#2997ff;--color-canvas:#fff;--color-canvas-parchment:#f5f5f7;--color-surface-pearl:#fafafc;--color-surface-tile-1:#272729;--color-surface-tile-2:#2a2a2c;--color-surface-tile-3:#252527;--color-surface-black:#000;--color-surface-chip-translucent:#d2d2d7a3;--color-ink:#1d1d1f;--color-body:#1d1d1f;--color-body-on-dark:#fff;--color-body-muted:#ccc;--color-ink-muted-80:#333;--color-ink-muted-48:#7a7a7a;--color-divider-soft:#f0f0f0;--color-hairline:#e0e0e0;--color-on-primary:#fff;--color-on-dark:#fff;--font-display:"Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--rounded-none:0px;--rounded-xs:5px;--rounded-sm:8px;--rounded-md:11px;--rounded-lg:18px;--rounded-pill:9999px;--rounded-full:9999px;--spacing-xxs:4px;--spacing-xs:8px;--spacing-sm:12px;--spacing-md:17px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--spacing-section:80px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);letter-spacing:-.374px;color:var(--color-body);background-color:var(--color-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;font-weight:400;line-height:1.47}#root{width:100%;min-height:100vh}.app-container{background-color:var(--color-canvas);min-height:100vh}.app-container-dark{background-color:var(--color-surface-tile-1);min-height:100vh}.text-hero-display{font-family:var(--font-display);letter-spacing:-.28px;font-size:56px;font-weight:600;line-height:1.07}.text-display-lg{font-family:var(--font-display);letter-spacing:0;font-size:40px;font-weight:600;line-height:1.1}.text-display-md{font-family:var(--font-body);letter-spacing:-.374px;font-size:34px;font-weight:600;line-height:1.47}.text-lead{font-family:var(--font-display);letter-spacing:.196px;font-size:28px;font-weight:400;line-height:1.14}.text-lead-airy{font-family:var(--font-body);letter-spacing:0;font-size:24px;font-weight:300;line-height:1.5}.text-tagline{font-family:var(--font-display);letter-spacing:.231px;font-size:21px;font-weight:600;line-height:1.19}.text-body-strong{font-family:var(--font-body);letter-spacing:-.374px;font-size:17px;font-weight:600;line-height:1.24}.text-body{font-family:var(--font-body);letter-spacing:-.374px;font-size:17px;font-weight:400;line-height:1.47}.text-caption{font-family:var(--font-body);letter-spacing:-.224px;font-size:14px;font-weight:400;line-height:1.43}.text-caption-strong{font-family:var(--font-body);letter-spacing:-.224px;font-size:14px;font-weight:600;line-height:1.29}.text-button-large{font-family:var(--font-body);letter-spacing:0;font-size:18px;font-weight:300;line-height:1}.text-button-utility{font-family:var(--font-body);letter-spacing:-.224px;font-size:14px;font-weight:400;line-height:1.29}.text-fine-print,.text-nav-link{font-family:var(--font-body);letter-spacing:-.12px;font-size:12px;font-weight:400;line-height:1}.btn-primary{background-color:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-body);letter-spacing:-.374px;border-radius:var(--rounded-pill);cursor:pointer;-webkit-font-smoothing:antialiased;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:17px;font-weight:400;line-height:1.24;transition:transform .15s;display:inline-flex}.btn-primary:hover{background-color:var(--color-primary-focus)}.btn-primary:active{transform:scale(.95)}.btn-primary:focus-visible{outline:2px solid var(--color-primary-focus);outline-offset:2px}.btn-secondary{color:var(--color-primary);font-family:var(--font-body);letter-spacing:-.374px;border:1px solid var(--color-primary);border-radius:var(--rounded-pill);cursor:pointer;background-color:#0000;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:17px;font-weight:400;line-height:1.24;transition:transform .15s;display:inline-flex}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-on-primary)}.btn-secondary:active{transform:scale(.95)}.btn-dark-utility{background-color:var(--color-ink);color:var(--color-on-dark);font-family:var(--font-body);letter-spacing:-.224px;border-radius:var(--rounded-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 15px;font-size:14px;font-weight:400;line-height:1.29;transition:transform .15s;display:inline-flex}.btn-dark-utility:active{transform:scale(.95)}.btn-pearl-capsule{background-color:var(--color-surface-pearl);color:var(--color-ink-muted-80);font-family:var(--font-body);letter-spacing:-.224px;border:3px solid var(--color-divider-soft);border-radius:var(--rounded-md);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:400;line-height:1.43;transition:transform .15s;display:inline-flex}.btn-pearl-capsule:active{transform:scale(.95)}.btn-icon-circular{background-color:var(--color-surface-chip-translucent);width:44px;height:44px;color:var(--color-ink);border-radius:var(--rounded-full);cursor:pointer;border:none;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex}.btn-icon-circular:active{transform:scale(.95)}.btn-store-hero{background-color:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-body);letter-spacing:0;border-radius:var(--rounded-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:18px;font-weight:300;line-height:1;transition:transform .15s;display:inline-flex}.btn-store-hero:hover{background-color:var(--color-primary-focus)}.btn-store-hero:active{transform:scale(.95)}.text-link{color:var(--color-primary);font-family:var(--font-body);cursor:pointer;font-size:17px;font-weight:400;text-decoration:none;transition:opacity .15s}.text-link:hover{text-decoration:underline}.text-link-on-dark{color:var(--color-primary-on-dark);font-family:var(--font-body);cursor:pointer;font-size:17px;font-weight:400;text-decoration:none}.text-link-on-dark:hover{text-decoration:underline}.card{background-color:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);padding:var(--spacing-lg)}.card-parchment{background-color:var(--color-canvas-parchment);border-radius:var(--rounded-lg);padding:var(--spacing-lg)}.product-tile-light{background-color:var(--color-canvas);color:var(--color-ink);border-radius:var(--rounded-none);padding:var(--spacing-section) var(--spacing-lg);text-align:center}.product-tile-parchment{background-color:var(--color-canvas-parchment);color:var(--color-ink);border-radius:var(--rounded-none);padding:var(--spacing-section) var(--spacing-lg);text-align:center}.product-tile-dark{background-color:var(--color-surface-tile-1);color:var(--color-on-dark);border-radius:var(--rounded-none);padding:var(--spacing-section) var(--spacing-lg);text-align:center}.input-field{width:100%;font-family:var(--font-body);letter-spacing:-.374px;color:var(--color-ink);background-color:var(--color-canvas);border-radius:var(--rounded-pill);border:1px solid #00000014;outline:none;height:44px;padding:12px 20px;font-size:17px;font-weight:400;line-height:1.47;transition:border-color .2s}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0066cc1a}.input-field::placeholder{color:var(--color-ink-muted-48)}select.input-field{cursor:pointer}select.input-field option{padding:8px}.textarea-field{width:100%;font-family:var(--font-body);letter-spacing:-.374px;color:var(--color-ink);background-color:var(--color-canvas);border-radius:var(--rounded-lg);resize:vertical;border:1px solid #00000014;outline:none;padding:12px 20px;font-size:17px;font-weight:400;line-height:1.47;transition:border-color .2s}.textarea-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0066cc1a}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-md);background:#00000080;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-canvas);border-radius:var(--rounded-lg);padding:var(--spacing-xl);width:100%;max-width:480px;max-height:90vh;animation:.3s slideUp;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.table-container{border-radius:var(--rounded-lg);background:var(--color-canvas);overflow-x:auto}.admin-main-content{width:100%;max-width:none;padding:var(--spacing-xl) var(--spacing-lg);margin:0}.admin-page{width:100%;overflow-x:clip}.admin-global-nav{background:var(--color-surface-black);height:44px;padding:0 var(--spacing-lg);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.admin-sub-nav{background:var(--color-canvas);border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;gap:var(--spacing-md);min-height:52px;padding:8px var(--spacing-lg);z-index:99;display:flex;position:sticky;top:44px}.admin-nav-button{padding:6px 12px;font-size:12px}.admin-nav-link{padding:6px 12px;font-size:12px;text-decoration:none}.bulk-monitor-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);display:grid}.bulk-section-description{color:var(--color-ink-muted-48);margin-top:4px}.bulk-form-grid{gap:var(--spacing-sm);margin-top:var(--spacing-lg);grid-template-columns:minmax(0,1fr) 170px;display:grid}.bulk-field-label{margin-bottom:5px;display:block}.bulk-delay-field{position:relative}.bulk-delay-field .input-field{padding-right:55px}.bulk-delay-field span{color:var(--color-ink-muted-48);font-size:12px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.bulk-form-actions{justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.bulk-random-label{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.bulk-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.bulk-batch-list-card{min-height:250px}.bulk-batch-list{margin-top:var(--spacing-md);gap:8px;max-height:255px;display:grid;overflow-y:auto}.bulk-batch-item{border:1px solid var(--color-hairline);border-radius:var(--rounded-sm);background:var(--color-canvas);width:100%;color:var(--color-ink);text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto 50px;align-items:center;gap:10px;padding:10px 12px;display:grid}.bulk-batch-item.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #0066cc1a}.bulk-batch-item>span:first-child{min-width:0;display:grid}.bulk-batch-item small{color:var(--color-ink-muted-48);margin-top:2px}.bulk-batch-count{text-align:right;font-weight:600}.bulk-progress-card{margin-bottom:var(--spacing-lg)}.bulk-progress-summary{gap:var(--spacing-sm);margin:var(--spacing-lg) 0 var(--spacing-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.bulk-progress-summary span{padding:var(--spacing-sm);border-radius:var(--rounded-sm);background:var(--color-canvas-parchment);gap:2px;display:grid}.bulk-progress-summary strong{font-size:22px}.bulk-progress-summary small{color:var(--color-ink-muted-48)}.bulk-success-text{color:#155724}.bulk-danger-text{color:#b42318}.bulk-progress-track{background:var(--color-divider-soft);height:7px;margin-bottom:var(--spacing-lg);border-radius:999px;overflow:hidden}.bulk-progress-track>div{background:var(--color-primary);border-radius:inherit;height:100%;transition:width .25s}.bulk-items-table-wrap{border:1px solid var(--color-divider-soft);border-radius:var(--rounded-sm);width:100%;overflow:hidden}.bulk-items-table{table-layout:fixed;width:100%}.bulk-items-table th,.bulk-items-table td{overflow-wrap:anywhere;vertical-align:middle;padding:10px}.bulk-items-table th:first-child{width:5%}.bulk-items-table th:nth-child(2){width:19%}.bulk-items-table th:nth-child(3){width:18%}.bulk-items-table th:nth-child(4){width:14%}.bulk-items-table th:nth-child(5){width:20%}.bulk-items-table th:nth-child(6){width:24%}.bulk-console-card{color:#d9f4df;border-radius:var(--rounded-lg);margin-bottom:var(--spacing-lg);background:#111814;border:1px solid #263b2c;overflow:hidden}.bulk-console-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:#19231d;border-bottom:1px solid #263b2c;padding:11px 15px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;display:flex}.bulk-console-status{color:#a7b3aa;letter-spacing:.08em;font-size:10px}.bulk-console-status.is-live{color:#74db8e}.bulk-console-status.is-live:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 4px #74db8e1f}.bulk-console-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;margin:0;padding:15px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.65;overflow-y:auto}.bulk-console-card details{border-top:1px solid #263b2c}.bulk-console-card summary{color:#a7b3aa;cursor:pointer;padding:10px 15px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.bulk-confirm-modal{text-align:center;max-width:560px}.bulk-confirm-icon{width:52px;height:52px;margin:0 auto var(--spacing-md);color:var(--color-primary);background:#0066cc1a;border-radius:50%;place-items:center;display:grid}.bulk-confirm-copy{margin-top:var(--spacing-sm);color:var(--color-ink-muted-80)}.bulk-confirm-summary{margin:var(--spacing-lg) 0 var(--spacing-md);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.bulk-confirm-summary span{padding:var(--spacing-sm);background:var(--color-canvas-parchment);border-radius:var(--rounded-sm);gap:3px;display:grid}.bulk-confirm-summary small{color:var(--color-ink-muted-48)}.bulk-confirm-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.admin-table-wrap{width:100%;overflow:hidden}.admin-guest-table{table-layout:fixed;width:100%}.admin-guest-table th,.admin-guest-table td{overflow-wrap:anywhere;vertical-align:middle;min-width:0;padding-left:10px;padding-right:10px}.admin-guest-table .status-select{width:100%;min-width:0;padding-left:10px}.admin-guest-table .btn-pearl-capsule{white-space:normal;justify-content:center;max-width:100%}.admin-guest-table .qr-image{aspect-ratio:1;max-width:100%;height:auto;display:block}table{border-collapse:separate;border-spacing:0;width:100%}thead{background-color:var(--color-canvas-parchment)}thead th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-family:var(--font-body);letter-spacing:-.224px;color:var(--color-ink-muted-80);border-bottom:1px solid var(--color-hairline);font-size:14px;font-weight:600;line-height:1.29}tbody tr{transition:background-color .15s}tbody tr:hover{background-color:var(--color-canvas-parchment)}tbody td{padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);letter-spacing:-.224px;color:var(--color-ink);border-bottom:1px solid var(--color-divider-soft);font-size:14px;font-weight:400;line-height:1.43}.badge{border-radius:var(--rounded-pill);font-family:var(--font-body);letter-spacing:-.12px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.badge-success{color:#155724;background-color:#d4edda}.badge-pending{color:#856404;background-color:#fff3cd}.badge-danger{color:#b42318;background-color:#ffe5e5}.status-select{border-radius:var(--rounded-pill);width:118px;min-height:28px;font-family:var(--font-body);color:var(--color-ink);background-color:var(--color-canvas);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a7a7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;border:0;padding:4px 28px 4px 12px;font-size:12px;font-weight:600;line-height:1}.status-select:focus{outline:none;box-shadow:0 0 0 3px #0066cc1f}.status-select.badge-success{color:#155724;background-color:#d4edda}.status-select.badge-pending{color:#856404;background-color:#fff3cd}.status-select.badge-danger{color:#b42318;background-color:#ffe5e5}.qr-image{border-radius:var(--rounded-sm);object-fit:cover;cursor:pointer;width:48px;height:48px;transition:transform .2s}.qr-image:hover{transform:scale(1.05)}.toast{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--rounded-sm);font-family:var(--font-body);letter-spacing:-.224px;margin-bottom:var(--spacing-sm);font-size:14px;font-weight:400;line-height:1.43}.toast-success{color:#155724;background-color:#d4edda}.toast-error{color:#dc3545;background-color:#ffe5e5}@media (width<=1100px){.bulk-monitor-grid{grid-template-columns:1fr}.admin-guest-table colgroup,.admin-guest-table thead{display:none}.admin-guest-table,.admin-guest-table tbody,.admin-guest-table tr,.admin-guest-table td{width:100%;display:block}.admin-guest-table tr{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-divider-soft)}.admin-guest-table tbody td{gap:var(--spacing-sm);padding:7px var(--spacing-sm);border-bottom:0;grid-template-columns:minmax(110px,38%) minmax(0,1fr);align-items:center;display:grid}.admin-guest-table tbody td:before{content:attr(data-label);color:var(--color-ink-muted-48);font-size:12px;font-weight:600}.admin-guest-table .status-select{width:min(100%,180px)}.admin-guest-table .qr-image{width:48px}}@media (width<=734px){.admin-main-content{padding:var(--spacing-md) var(--spacing-sm)}.admin-global-nav,.admin-sub-nav{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.admin-sub-nav{flex-direction:column;align-items:flex-start;position:static}.bulk-form-grid,.bulk-confirm-summary{grid-template-columns:1fr}.bulk-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-items-table th,.bulk-items-table td{padding:6px 4px;font-size:10px}.bulk-items-table .badge{padding:4px 6px;font-size:9px}.bulk-confirm-actions{flex-direction:column-reverse}.bulk-confirm-actions button{width:100%}.text-hero-display{letter-spacing:-.2px;font-size:34px}.text-display-lg{font-size:28px}.text-display-md{font-size:24px}.text-lead{font-size:21px}.text-lead-airy{font-size:18px}.product-tile-light,.product-tile-parchment,.product-tile-dark{padding:var(--spacing-xxl) var(--spacing-md)}}@media (width<=419px){.text-hero-display{font-size:28px}.text-display-lg{font-size:24px}.product-tile-light,.product-tile-parchment,.product-tile-dark{padding:var(--spacing-xl) var(--spacing-sm)}}
