:root{--theme-bg-start:#fff1f2;--theme-bg-mid:#ffe4e6;--theme-border:#fecaca;--theme-primary:#e11d48;--theme-primary-hover:#be123c;--theme-heading:#9f1239;--theme-shadow:#f472b62e;--theme-shadow-strong:#f8717166}html,body{color:#0f172a;background:#f9fafb;min-height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{-webkit-font-smoothing:antialiased}a{color:var(--theme-primary);text-decoration:underline}a:hover{color:var(--theme-heading)}.app-body{background:linear-gradient(to bottom, var(--theme-bg-start), var(--theme-bg-mid), var(--theme-bg-start));color:#0f172a;min-height:100vh}.layout-outer{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.layout-inner{width:100%;max-width:768px}.card{box-shadow:0 18px 45px var(--theme-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #fffc;border-radius:18px}.text-center{text-align:center}.heading-main{letter-spacing:-.03em;color:var(--theme-heading);font-size:1.875rem;font-weight:600;line-height:1.2}.heading-sub{color:var(--theme-heading);font-size:1.25rem;font-weight:600}.text-muted{color:#475569;font-size:.95rem}.section{margin-top:16px;margin-bottom:16px}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:8px 18px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--theme-primary);color:#fff;box-shadow:0 10px 25px var(--theme-shadow-strong)}.btn-primary:hover{background:var(--theme-primary-hover);color:#fff}.badge{border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:500;display:inline-block}.badge-kid{color:#92400e;background:#fef3c7}.input,.textarea,.select{box-sizing:border-box;border:1px solid #cbd5f5;border-radius:8px;width:100%;padding:6px 10px;font-size:.85rem}.guest-dietary-notes::placeholder{color:#cbd5e1;opacity:1}.text-xs{font-size:.75rem}.table-wrapper{background:#ffffffe6;border:1px solid #e2e8f0;border-radius:12px;max-height:420px;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:.8rem}.table thead{background:#f8fafc}.table th,.table td{text-align:left;padding:6px 10px}.table tbody tr:nth-child(2n){background:#f9fafb}.stats-box{background:#f8fafc;border-radius:12px;padding:10px 14px;font-size:.8rem}.upload-spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;margin-right:8px;animation:.7s linear infinite upload-spin;display:inline-block}@keyframes upload-spin{to{transform:rotate(360deg)}}.file-input-native-hidden{opacity:0;pointer-events:none;overflow:hidden;width:0!important;height:0!important;position:absolute!important}.file-input-label{min-width:0;font-size:inherit;color:#64748b;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-input-browse{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0;padding:6px 14px;font-size:.85rem;font-weight:500}.file-input-browse:hover{background:#e2e8f0}.btn-secondary,.btn-secondary-active{color:var(--theme-heading);border:1px solid var(--theme-border);background:#fff}.btn-secondary:hover{background:color-mix(in srgb, var(--theme-bg-mid) 60%, white)}.btn-secondary-active{background:var(--theme-bg-mid);border-color:var(--theme-primary)}.btn:disabled{opacity:.5;cursor:default;box-shadow:none}.gallery-panel{border:1px solid var(--theme-border);background:color-mix(in srgb, var(--theme-bg-mid) 55%, white);border-radius:12px;margin-top:12px;padding:16px 12px}.gallery-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.gallery-btn{gap:8px;padding:10px 18px}.gallery-btn-small{flex-shrink:0;gap:6px;padding:6px 12px;font-size:.75rem}.gallery-btn-meta{opacity:.75;font-weight:500}.gallery-folder{text-align:left;margin-top:28px}.gallery-folder-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.gallery-folder-head>:first-child{flex:1 0 auto;max-width:100%}.gallery-folder-actions .gallery-btn-small{padding:12px 22px;font-size:1rem}.gallery-folder-actions svg{width:18px;height:18px}.gallery-folder-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.gallery-folder-title{color:var(--theme-heading);overflow-wrap:anywhere;font-size:1.5rem;font-weight:600;line-height:1.25}.gallery-folder-meta{color:#64748b;margin-top:2px;font-size:1rem}@media (max-width:520px){.gallery-folder-head>:first-child{flex-basis:100%}.gallery-folder-actions{flex-wrap:nowrap;flex-basis:100%}.gallery-folder-actions .gallery-btn-small{white-space:nowrap;flex:auto;padding:11px 10px;font-size:.95rem}}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;display:grid}@media (min-width:600px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}}.gallery-load-more-row{grid-column:2/-1;position:relative}.gallery-ghost-tiles{gap:6px;display:grid}.gallery-ghost-tile{aspect-ratio:1;box-sizing:border-box;border:1.5px solid color-mix(in srgb, var(--theme-primary) 22%, transparent);border-radius:10px}.gallery-load-more{white-space:nowrap;gap:6px;padding:10px 20px;font-size:.9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-tile{aspect-ratio:1;background:var(--theme-bg-mid);outline-offset:-3px;border-radius:10px;outline:3px solid #0000;transition:outline-color .15s;position:relative;overflow:hidden}.gallery-tile:has(.gallery-tile-open:focus-visible){outline-color:var(--theme-primary)}.gallery-tile-open{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.gallery-tile-media{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:transform .25s,opacity .15s;display:block}@media (hover:hover){.gallery-tile:hover .gallery-tile-media{transform:scale(1.04)}}.gallery-tile.is-selected{outline-color:var(--theme-primary)}.gallery-tile.is-selected .gallery-tile-media{opacity:1;border-radius:6px;transform:scale(.92)}.gallery-tile:has(+.gallery-load-more-row){background:0 0}.gallery-tile:has(+.gallery-load-more-row) .gallery-tile-media{-webkit-mask-image:linear-gradient(90deg,#000,#0000 66.7%);mask-image:linear-gradient(90deg,#000,#0000 66.7%)}.gallery-tile-fallback{color:var(--theme-heading);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.gallery-tile-play{box-sizing:border-box;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding-left:2px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-tile-check{cursor:pointer;background:0 0;border:none;justify-content:flex-end;align-items:flex-start;width:46px;height:46px;padding:7px;display:flex;position:absolute;top:0;right:0}.gallery-tile-circle{color:#fff;box-sizing:border-box;background:#0f172a4d;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s,transform .15s;display:flex;box-shadow:0 1px 4px #0f172a66}.gallery-tile-check:hover .gallery-tile-circle{transform:scale(1.12)}.gallery-tile-check:focus-visible{outline:none}.gallery-tile-check:focus-visible .gallery-tile-circle{box-shadow:0 0 0 3px var(--theme-primary)}.gallery-tile.is-selected .gallery-tile-circle{background:var(--theme-primary)}.gallery-selection-bar{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:900;box-sizing:border-box;border:1px solid var(--theme-border);background:#fff;border-radius:16px;flex-direction:column;gap:8px;width:min(540px,100vw - 24px);padding:12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 36px #0f172a40}.gallery-selection-count{text-align:center;color:var(--theme-heading);font-size:.9rem;font-weight:600}.gallery-selection-actions{flex-wrap:wrap;gap:8px;display:flex}.gallery-selection-actions .btn{flex:170px;justify-content:center}.gallery-selection-note{color:#475569;text-align:center;margin:0;font-size:.8rem}.gallery-selection-note.is-error{color:#b91c1c}.gallery-selection-undo{color:var(--theme-heading);justify-content:space-between;align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.gallery-lightbox-select{color:#fff;cursor:pointer;background:#ffffff1f;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.gallery-lightbox-select.is-selected{background:var(--theme-primary)}.gallery-icon-btn{border:1px solid var(--theme-border);color:#475569;cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.gallery-lightbox{z-index:10000;color:#fff;background:#0f172af2;flex-direction:column;animation:.15s gallery-fade-in;display:flex;position:fixed;inset:0}@keyframes gallery-fade-in{0%{opacity:0}}.gallery-lightbox-top,.gallery-lightbox-bottom{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.gallery-lightbox-bottom{padding-bottom:max(16px, env(safe-area-inset-bottom))}.gallery-lightbox-sub{color:#ffffffa6;font-size:.75rem}.gallery-lightbox-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.gallery-lightbox-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 12px;display:flex;position:relative}.gallery-lightbox-media{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%;transition:opacity .2s}.gallery-lightbox-spinner{color:#fffc;width:28px;height:28px;margin:0;position:absolute}.gallery-lightbox-round{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.gallery-lightbox-round:hover{background:#ffffff38}.gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%)}.gallery-lightbox-nav.is-prev{left:12px}.gallery-lightbox-nav.is-next{right:12px}@media (max-width:599px){.gallery-lightbox-nav{background:#0f172a73;width:36px;height:36px}.gallery-lightbox-nav.is-prev{left:4px}.gallery-lightbox-nav.is-next{right:4px}}.gallery-btn.is-busy,.gallery-btn-small.is-busy{pointer-events:none;opacity:.85}.tutorial-card{color:#fff;background:linear-gradient(135deg, var(--theme-primary), var(--theme-heading));box-shadow:0 12px 28px var(--theme-shadow-strong);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;display:flex}.tutorial-card-button{color:var(--theme-heading);cursor:pointer;background:#fff;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #0f172a2e}.tutorial-card-button:hover{background:var(--theme-bg-start)}.admin-tour{z-index:10050;pointer-events:none;position:fixed;inset:0}.admin-tour-blocker,.admin-tour-card{pointer-events:auto}.admin-tour-hint{color:#64748b;margin:8px 0 0;font-size:.78rem}.admin-tour-question{color:var(--theme-heading);margin:12px 0 0;font-weight:600}.admin-tour-blocker{transition:background .2s;position:fixed}.admin-tour-spotlight{pointer-events:none;border-radius:12px;transition:top .25s,left .25s,width .25s,height .25s;position:fixed;box-shadow:0 0 0 9999px #0f172a99,inset 0 0 0 3px #fff}.admin-tour-card{box-sizing:border-box;color:#0f172a;background:#fff;border-radius:14px;padding:14px 16px 16px;animation:.18s gallery-fade-in;position:fixed;box-shadow:0 18px 50px #0f172a59}.admin-tour-card.is-demo{padding:16px 18px 18px}.admin-tour-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.admin-tour-section{letter-spacing:.04em;text-transform:uppercase;color:var(--theme-primary);font-size:.7rem;font-weight:600}.admin-tour-close{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;flex-shrink:0;width:30px;height:30px;font-size:1.1rem;line-height:1}.admin-tour-close:hover{background:#e2e8f0}.admin-tour-title{color:var(--theme-heading);margin:0 0 6px;font-size:1rem}.admin-tour-body{color:#334155;font-size:.85rem;line-height:1.5}.admin-tour-body p{margin:0 0 8px}.admin-tour-body p:last-child{margin-bottom:0}.admin-tour-list{margin:0 0 8px;padding-left:20px}.admin-tour-list li{margin-bottom:3px}.admin-tour-actions{justify-content:space-between;gap:8px;margin-top:14px;display:flex}.admin-tour-demo{margin-bottom:14px}.guest-preview-frame{border:1px solid var(--theme-border);background:var(--theme-bg-start);border-radius:12px;position:relative;overflow:hidden}.guest-preview-frame iframe{border:0;width:100%;height:100%;transition:opacity .2s;display:block}.guest-preview-loading{color:#64748b;justify-content:center;align-items:center;gap:4px;font-size:.85rem;display:flex;position:absolute;inset:0}.preview-dialog-backdrop{z-index:10060;background:#0f172a99;justify-content:center;align-items:center;padding:12px;animation:.15s gallery-fade-in;display:flex;position:fixed;inset:0}.preview-dialog{box-sizing:border-box;background:#fff;border-radius:16px;width:min(980px,100%);max-height:calc(100vh - 24px);padding:14px 16px 16px;overflow-y:auto;box-shadow:0 24px 60px #0f172a59}.preview-dialog-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.preview-dialog-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.preview-segmented{border:1px solid var(--theme-border);border-radius:999px;display:inline-flex;overflow:hidden}.preview-segmented button{color:#334155;cursor:pointer;background:#fff;border:none;padding:6px 12px;font-size:.78rem}.preview-segmented button+button{border-left:1px solid var(--theme-border)}.preview-segmented button[aria-pressed=true]{background:var(--theme-primary);color:#fff;font-weight:600}.preview-control{color:#475569;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.notice-dialog{box-sizing:border-box;background:#fff;border-radius:16px;width:min(460px,100%);padding:18px 18px 16px;box-shadow:0 24px 60px #0f172a59}.household-create{border:1px solid var(--theme-border);background:color-mix(in srgb, var(--theme-bg-mid) 45%, white);border-radius:12px;margin-bottom:16px;padding:12px 14px}.household-create-label{color:var(--theme-heading);margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.household-create-error{color:#b91c1c;margin:8px 0 0;font-size:.8rem}.link-button{font:inherit;color:var(--theme-primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button.text-xs{font-size:.75rem}.household-invite{border:1.5px dashed color-mix(in srgb, var(--theme-primary) 55%, white);background:#fff;border-radius:12px;padding:10px 12px 12px}.household-invite-head{color:var(--theme-heading);align-items:flex-start;gap:10px;margin-bottom:10px;font-size:.85rem;line-height:1.4;display:flex}.household-invite-icon{background:var(--theme-bg-mid);width:30px;height:30px;color:var(--theme-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.household-invite-hint{color:#64748b;font-size:.75rem;display:block}.household-link{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.household-qr{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0}.household-url{color:var(--theme-primary);word-break:break-all;font-size:.75rem}.household-card.is-new{animation:2.4s household-flash}@keyframes household-flash{0%,60%{box-shadow:0 0 0 3px var(--theme-primary)}to{box-shadow:0 0 #0000}}.media-group{margin-bottom:8px}.media-group+.media-group{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.media-group-head{margin-bottom:12px}.media-group-title{color:var(--theme-heading);margin:0;font-size:1rem;font-weight:600}.media-group-hint{color:#64748b;margin:2px 0 0;font-size:.78rem}.media-card-list{flex-direction:column;gap:10px;display:flex}.media-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.media-card-icon{background:var(--theme-bg-mid);width:36px;height:36px;color:var(--theme-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.media-card-body{flex:1;min-width:0}.media-card-sub{border-top:1px dashed #cbd5e1;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.media-frame-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.media-frame-preview{object-fit:contain;background:repeating-conic-gradient(#f1f5f9 0% 25%,#fff 0% 50%) 50%/16px 16px;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;width:120px;height:90px}.media-card-toggle{cursor:pointer;align-items:flex-start;gap:10px;font-size:.85rem;display:flex}.media-card-toggle input{margin-top:3px}.media-card-hint{color:#64748b;font-size:.75rem;font-weight:400;display:block}.input.is-invalid{border-color:#dc2626;box-shadow:0 0 0 3px #dc262626}.field-error{color:#b91c1c;margin:4px 0 0;font-size:.75rem}.person-row{border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.person-row.is-new{border-style:dashed;border-color:color-mix(in srgb, var(--theme-primary) 45%, white)}.person-row-order{flex-direction:column;flex-shrink:0;width:26px;display:flex}.person-arrow{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;width:100%;padding:2px 6px;font-size:.7rem;line-height:1;display:block}.person-arrow:disabled{color:#94a3b8;cursor:default;background:#f1f5f9}.person-row-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.person-row-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.person-name-input{background:#fff;width:160px;max-width:100%;padding:5px 9px;font-size:.8rem}.person-dietary{color:#475569;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.8rem;overflow:hidden}.person-row-actions{flex-shrink:0}.person-add-button{gap:6px;margin-top:2px;padding:6px 14px;font-size:.8rem}.move-guest-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:6px 10px;font-size:.8rem;display:block}.move-guest-option:hover{background:var(--theme-bg-start)}.badge-companion{background:var(--theme-bg-mid);color:var(--theme-heading)}@media (max-width:520px){.person-name-input{width:100%}}.guest-companion{border:1px dashed color-mix(in srgb, var(--theme-primary) 50%, white);text-align:left;background:#ffffffeb;border-radius:12px;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;display:flex;position:relative}.guest-companion-head{align-items:center;gap:8px;display:flex}.guest-companion-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.guest-companion-field{color:#64748b;flex-direction:column;flex:150px;gap:3px;min-width:0;font-size:.75rem;display:flex}.guest-companion-field .input{font-size:.9rem}.guest-companion-check{cursor:pointer;align-items:center;gap:6px;padding-bottom:7px;font-size:.85rem;display:inline-flex}.guest-save-error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;display:flex}.companion-add-button{gap:6px;margin-top:10px;font-size:.85rem}.content-copy-hint{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;align-items:flex-start;gap:10px;margin-top:8px;padding:10px 12px;font-size:.8rem;line-height:1.5;display:flex}.content-copy-hint-icon{font-weight:700}.content-copy-hint-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.dj-wish-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dj-wish{border:1px solid var(--theme-border);cursor:grab;background:#fffffff2;border-radius:10px;align-items:stretch;transition:box-shadow .15s,transform .15s;display:flex;overflow:hidden}.dj-wish.is-sorting{cursor:grabbing}.dj-wish.is-dragging{z-index:1;border-color:var(--theme-primary);position:relative;transform:scale(1.02);box-shadow:0 12px 28px #0f172a2e}.dj-wish-handle{border:none;border-right:1px solid var(--theme-border);background:var(--theme-bg-start);color:#64748b;cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;width:48px;min-height:52px;padding:0;display:flex}.dj-wish-handle:hover,.dj-wish.is-dragging .dj-wish-handle{background:var(--theme-bg-mid);color:var(--theme-primary)}.dj-wish-handle:focus-visible{outline:3px solid var(--theme-primary);outline-offset:-3px}.dj-wish-body{-webkit-user-select:none;user-select:none;flex:1;min-width:0;padding:8px 10px}.dj-wish-number{color:#94a3b8;margin-right:2px;font-weight:400}.dj-wish-remove{align-self:center;min-width:36px;margin:0 10px;padding:4px 8px;font-weight:700}.qr-sheet-dialog{max-height:calc(100vh - 24px);overflow-y:auto}.qr-sheet-hint{color:#64748b;margin:8px 0 0;font-size:.8rem;line-height:1.5}.qr-sheet-group{border:none;flex-direction:column;gap:6px;margin:12px 0 0;padding:0;font-size:.85rem;display:flex}.qr-sheet-group legend{color:var(--theme-heading);margin-bottom:6px;padding:0;font-weight:600}.qr-sheet-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.qr-sheet-swatch{border-radius:3px;width:14px;height:14px}.qr-sheet-custom{align-items:center;gap:6px;margin-left:22px;display:flex}.qr-sheet-custom .input{width:70px}.guest-saving-overlay{z-index:2;color:var(--theme-heading);pointer-events:none;background:#ffffffc7;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex;position:absolute;inset:0}.guest-saving-overlay.is-saved{color:#166534;background:#dcfce7e0}.guest-saving-overlay.is-error{color:#b91c1c;background:#fee2e2e6}.guest-saving-spinner{box-sizing:border-box;border:3px solid var(--theme-border);border-top-color:var(--theme-primary);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite guest-saving-spin}@keyframes guest-saving-spin{to{transform:rotate(360deg)}}.household-name{align-items:center;gap:4px;min-width:0;display:inline-flex}.household-name.is-editing{flex-direction:column;flex:260px;align-items:stretch;gap:4px}.household-name.is-editing .input{padding:5px 9px;font-weight:600}.household-name-edit{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.household-name-edit:hover,.household-name-edit:focus-visible{color:var(--theme-primary);background:#ffffffb3}.duplicate-name-warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin:8px 0 0;padding:8px 10px;font-size:.8rem;font-weight:400;line-height:1.45}div:has(>.household-name.is-editing){flex:auto;flex-wrap:nowrap!important;align-items:flex-start!important}.household-name.is-editing{min-width:0}.duplicate-name-badge{color:#92400e;white-space:nowrap;cursor:help;background:#fffbeb;border:1px solid #fcd34d;border-radius:999px;margin-left:2px;padding:1px 7px;font-size:.68rem;font-weight:500}.household-list-tools{justify-content:flex-end;gap:14px;margin-bottom:-6px;display:flex}.household-toggle{color:#334155;cursor:pointer;background:#fff9;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.household-toggle:hover{background:#fffffff2}.household-toggle svg{transition:transform .2s}.household-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.household-summary{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;padding:10px 14px 12px;display:flex}.household-summary:hover{background:#0f172a08}.household-summary-person{color:#1e293b;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 10px;font-size:.82rem;display:flex}.household-summary-person.is-yes{background:#dcfce7}.household-summary-person.is-no{background:#fee2e2}.household-summary-person.is-none{background:#f1f5f9}.household-summary-name{overflow-wrap:anywhere;min-width:0}.household-summary-tag,.household-summary-status{color:#64748b;font-size:.75rem}.household-summary-status{flex-shrink:0}.household-summary-empty{color:#64748b;font-size:.82rem}.household-card.has-group{border:2px solid var(--household-color);background:color-mix(in srgb, var(--household-color) 14%, white)}.group-select-label{color:#334155;align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:inline-flex}.group-select-wrap{align-items:center;display:inline-flex;position:relative}.group-select-dot{pointer-events:none;border-radius:50%;width:10px;height:10px;position:absolute;left:9px;box-shadow:0 0 0 1px #0f172a26}.group-select{appearance:none;color:#1e293b;max-width:200px;font:inherit;text-overflow:ellipsis;cursor:pointer;background-color:#fff;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='%23475569' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;border:1px solid #94a3b8;border-radius:8px;padding:5px 30px 5px 26px;font-size:.8rem;font-weight:500;box-shadow:0 1px 2px #0f172a14}.group-select:hover{border-color:#64748b}.group-select:focus-visible{outline:2px solid var(--theme-primary);outline-offset:1px}.brand-logo-admin{width:auto;height:40px;margin:4px auto 14px;display:block}.brand-logo-login{width:180px;max-width:60%;height:auto;margin:4px auto 16px;display:block}.brand-footer{opacity:.55;letter-spacing:.02em;color:#64748b;justify-content:center;align-items:center;gap:6px;padding:14px 0 4px;font-size:.7rem;display:flex}.brand-footer img{width:auto;height:18px}.brand-link-block{width:fit-content;margin:0 auto;display:block}.brand-footer-link{color:inherit;align-items:center;gap:6px;text-decoration:none;transition:opacity .15s;display:inline-flex}.brand-footer:hover{opacity:.85}.content-stage-frame{margin:0 0 18px}.content-stage-caption{color:#f8fafc;letter-spacing:.01em;background:#334155;border-radius:999px;margin-bottom:6px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.content-stage{box-shadow:0 10px 28px var(--theme-shadow);position:relative;overflow:hidden}.content-stage-bg{z-index:0;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.content-stage-footnote{color:#475569;text-align:center;background:#ffffff8c;border:1px dashed #33415559;border-radius:8px;margin:0;padding:8px 10px;font-size:.72rem}.stage-field{background:#ffffff73;border:1.5px dashed #33415573;border-radius:10px;margin:14px 0 10px;padding:16px 10px 8px;transition:border-color .15s,background .15s;position:relative}.stage-field:focus-within{border-color:var(--theme-primary);background:#ffffffb3;border-style:solid}.stage-field-label{color:#f8fafc;letter-spacing:.02em;text-transform:uppercase;background:#334155;border-radius:6px;padding:1px 8px;font-size:.68rem;font-weight:600;position:absolute;top:-10px;left:10px}.stage-field:focus-within .stage-field-label{background:var(--theme-primary)}.stage-title-input{text-align:center;resize:none;background:0 0;border:none;outline:none;width:100%;margin:0;padding:2px 4px;font-family:inherit;line-height:1.3;display:block;overflow:hidden}.stage-title-input::placeholder{color:#94a3b8;font-weight:500}.rich-field-toolbar{background:#334155;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:fit-content;max-width:100%;margin:0 auto 6px;padding:4px 8px;display:flex;box-shadow:0 2px 6px #0f172a2e}.rich-field-toolbar select,.rich-field-toolbar button,.rich-field-toolbar input[type=color]{border-color:#475569!important}.stage-tools{background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin:0 0 16px;padding:12px;scroll-margin-top:16px}.stage-tools-title{color:#1e293b;font-size:.85rem;font-weight:600}.stage-tools-hint{color:#64748b;margin:2px 0 10px;font-size:.75rem}.stage-tools-tip{border-left:3px solid var(--theme-primary);background:color-mix(in srgb, var(--theme-primary) 7%, white);color:#334155;border-radius:0 6px 6px 0;margin:-4px 0 10px;padding:6px 10px;font-size:.78rem}.stage-tools-ok{color:#166534;margin:6px 0 0;font-size:.85rem}.stage-tools-error{color:#b91c1c;margin:6px 0 0;font-size:.85rem}
