:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-navy-primary: #16213e;--color-navy-secondary: #2c3e6b;--color-navy-dark: #1a1a2e;--color-gold: #c9a84c;--color-gold-hover: #d4b95e;--color-gold-light: rgba(201, 168, 76, .15);--color-gold-ring: rgba(201, 168, 76, .2);--color-error: #c0392b;--color-error-hover: #a93226;--color-success: #27ae60;--color-link: #2563eb;--color-bg-page: #f5f6fa;--color-bg-card: #fff;--color-bg-card-alt: #f7f8fc;--color-bg-input: #fff;--color-bg-hover: rgba(22, 33, 62, .02);--color-bg-subtle: rgba(22, 33, 62, .04);--color-bg-badge: rgba(22, 33, 62, .08);--color-bg-cancel: #e0e0e0;--color-bg-cancel-hover: #d0d0d0;--color-bg-copy: #e8e8e8;--color-bg-copy-hover: #d0d0d0;--color-text-primary: #333;--color-text-secondary: #555;--color-text-muted: #666;--color-text-faint: #888;--color-text-heading: #16213e;--color-text-on-dark: #fff;--color-text-on-dark-muted: rgba(255, 255, 255, .85);--color-text-on-dark-faint: rgba(255, 255, 255, .7);--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-border-input: #d0d0d0;--color-border-input-alt: #ccc;--shadow-card: 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .12), 0 2px 6px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 50px;--transition-normal: .2s ease;--transition-fast: .15s ease;--branch-gail: #e8d5f5;--branch-wesley-ii: #d5e8f5;--branch-norris: #d5f5e0;--branch-michael: #f5e8d5;--branch-cheryl: #f5d5d5;--branch-stephen: #d5f5f0;--branch-kendra: #f5f0d5;--branch-wendell: #e0d5f5;--branch-donald: #d5f5d5;--branch-myra: #f5d5e8;--branch-chantell: #d5e0f5}[data-theme=dark]{--color-bg-page: #121520;--color-bg-card: #1c2033;--color-bg-card-alt: #232840;--color-bg-input: #232840;--color-bg-hover: rgba(255, 255, 255, .04);--color-bg-subtle: rgba(255, 255, 255, .06);--color-bg-badge: rgba(201, 168, 76, .15);--color-bg-cancel: #2a2f45;--color-bg-cancel-hover: #353b55;--color-bg-copy: #2a2f45;--color-bg-copy-hover: #353b55;--color-text-primary: #e0e0e8;--color-text-secondary: #b0b0c0;--color-text-muted: #9090a8;--color-text-faint: #707088;--color-text-heading: #e8e8f0;--color-border: #2a2f45;--color-border-light: #232840;--color-border-input: #353b55;--color-border-input-alt: #353b55;--shadow-card: 0 2px 8px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--branch-gail: #3d2a4d;--branch-wesley-ii: #2a3d4d;--branch-norris: #2a4d35;--branch-michael: #4d3d2a;--branch-cheryl: #4d2a2a;--branch-stephen: #2a4d45;--branch-kendra: #4d4a2a;--branch-wendell: #352a4d;--branch-donald: #2a4d2a;--branch-myra: #4d2a3d;--branch-chantell: #2a354d;--color-error: #e74c3c;--color-error-hover: #c0392b;--color-link: #5b9cf5}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-section.visible{opacity:1;transform:translateY(0)}@keyframes page-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero{text-align:center;padding:0 1rem 2.5rem;background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);color:var(--color-text-on-dark);border-radius:var(--radius-xl);margin-bottom:2rem;overflow:hidden}.hero-family-photo{display:block;width:100%;max-height:350px;object-fit:cover;border-bottom:4px solid var(--color-gold);margin-bottom:1.5rem}.hero-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.85rem;color:var(--color-gold);margin:0 0 .5rem}.hero-title{font-size:2.5rem;margin:0 0 .5rem;font-weight:800;line-height:1.2}.hero-subtitle{margin:0 0 1rem;font-size:1.05rem;color:#ccc}.hero-date{display:inline-block;background:#c9a84c33;border:1px solid var(--color-gold);color:var(--color-gold);padding:.5rem 1.5rem;border-radius:var(--radius-pill);font-size:1.1rem;font-weight:600;margin:0}.motto-section{text-align:center;padding:2rem 1.5rem;margin-bottom:2rem}.family-motto{font-size:1.3rem;font-style:italic;color:var(--color-text-heading);line-height:1.6;max-width:600px;margin:0 auto}.family-motto:before,.family-motto:after{content:"";display:block;width:60px;height:2px;background:var(--color-gold);margin:1rem auto}.motto-attribution{color:var(--color-text-faint);font-size:.9rem;margin:0}.section-heading{text-align:center;color:var(--color-text-heading);margin:0 0 1.5rem;font-size:1.4rem}.countdown-section{text-align:center;padding:2rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:2rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.countdown-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.countdown{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.countdown-unit{background:var(--color-navy-primary);color:var(--color-text-on-dark);border-radius:10px;padding:1rem .75rem;min-width:80px;display:flex;flex-direction:column;align-items:center}.countdown-number{font-size:2.2rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.countdown-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-gold);margin-top:.35rem}.details-section{margin-bottom:2rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.event-info{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.event-info:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.event-info .section-heading{text-align:left;margin-bottom:1.25rem}.info-item{display:flex;gap:.75rem;margin-bottom:1.25rem;align-items:flex-start}.info-item:last-child{margin-bottom:0}.info-icon{font-size:1.4rem;line-height:1;flex-shrink:0;margin-top:.1rem}.info-item strong{display:block;color:var(--color-text-heading);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.15rem}.info-item p{margin:0;color:var(--color-text-secondary);font-size:.95rem}.info-sub{color:var(--color-text-faint)!important;font-size:.85rem!important;font-style:italic}.map-container{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border);min-height:300px;box-shadow:var(--shadow-card)}.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;background:var(--color-bg-card-alt);color:var(--color-text-faint);text-align:center;padding:2rem}.map-pin{font-size:3rem;margin-bottom:.75rem}.map-placeholder p{margin:0;max-width:220px;line-height:1.5}.map-container iframe{width:100%;height:100%;min-height:300px;border:none}.get-directions-btn{display:block;text-align:center;padding:.7rem 1.5rem;background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);text-decoration:none;font-weight:600;font-size:.95rem;transition:opacity var(--transition-fast)}.get-directions-btn:hover{opacity:.9}.stats-section{padding:2rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-bottom:2rem;box-shadow:var(--shadow-card)}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.stat-card{text-align:center;padding:1rem .5rem;border-radius:var(--radius-lg);background:var(--color-bg-card-alt);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-number{display:block;font-size:2rem;font-weight:800;color:var(--color-text-heading);line-height:1}.stat-label{display:block;margin-top:.35rem;font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.cta-section{text-align:center;padding:2.5rem 1rem;background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border-radius:var(--radius-xl);margin-bottom:2rem}.cta-section h2{margin:0 0 .5rem;font-size:1.6rem}.cta-section p{margin:0 0 1.25rem;color:#bbb;font-size:1rem}.cta-button{background:var(--color-gold);color:var(--color-navy-primary);border:none;padding:.85rem 2.5rem;border-radius:var(--radius-pill);font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:background var(--transition-normal),transform .1s}.cta-button:hover{background:var(--color-gold-hover);transform:translateY(-1px)}@media(max-width:768px){.hero-title{font-size:1.8rem}.countdown-unit{min-width:60px;padding:.75rem .5rem}.countdown-number{font-size:1.6rem}.details-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}.family-motto{font-size:1.1rem}}@media(max-width:480px){.countdown{gap:.5rem}.countdown-unit{min-width:50px}.countdown-number{font-size:1.3rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}.summary{margin-bottom:2rem}.summary h2{margin-bottom:1rem;color:var(--color-text-heading)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.summary-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.25rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.summary-number{font-size:2rem;font-weight:800;color:var(--color-text-heading)}.summary-label{font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}@media(max-width:480px){.summary-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}}.toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:var(--radius-lg);font-size:.9rem;font-weight:600;box-shadow:0 4px 12px #00000026;pointer-events:auto;animation:toast-slide-up .3s ease-out;min-width:250px;max-width:420px}.toast-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.toast-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}[data-theme=dark] .toast-success{background:#27ae6033;color:#2ecc71;border-color:#27ae604d}[data-theme=dark] .toast-error{background:#e74c3c33;color:#e74c3c;border-color:#e74c3c4d}.toast-message{flex:1}.toast-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;opacity:.6;padding:0 .25rem;line-height:1}.toast-close:hover{opacity:1}@keyframes toast-slide-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.rsvp-form{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-card)}.rsvp-form h2{margin-top:0;margin-bottom:1.25rem;color:var(--color-text-heading)}.rsvp-form h3{margin-top:0;margin-bottom:.75rem;font-size:1rem;color:var(--color-text-heading)}.form-error{background:#fdecea;color:#b71c1c;padding:.75rem;border-radius:var(--radius-lg);margin-bottom:1rem;border:1px solid #f5c6cb}[data-theme=dark] .form-error{background:#e74c3c26;color:#e74c3c;border-color:#e74c3c4d}.form-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light)}.form-section:last-of-type{border-bottom:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}.rsvp-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form input[type=tel],.rsvp-form input[type=date],.rsvp-form select,.rsvp-form textarea{padding:.5rem .75rem;border:1px solid var(--color-border-input-alt);border-radius:var(--radius-lg);font-size:.95rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{outline:none;border-color:var(--color-navy-primary);box-shadow:0 0 0 2px #16213e26}[data-theme=dark] .rsvp-form input:focus,[data-theme=dark] .rsvp-form select:focus,[data-theme=dark] .rsvp-form textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.attendee-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:center;flex-wrap:wrap}.attendee-row input,.attendee-row select{padding:.5rem .75rem;border:1px solid var(--color-border-input-alt);border-radius:var(--radius-lg);font-size:.95rem;background:var(--color-bg-input);color:var(--color-text-primary)}.attendee-select{flex:2;min-width:200px}.attendee-row input[type=text]{flex:1;min-width:120px}.attendee-type-badge{background:var(--color-bg-badge);color:var(--color-text-heading);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.attendee-add-buttons{display:flex;gap:.5rem;margin-top:.5rem}.btn-remove{background:var(--color-error);color:var(--color-text-on-dark);border:none;padding:.5rem .75rem;border-radius:var(--radius-lg);cursor:pointer;font-size:.85rem;transition:background var(--transition-fast)}.btn-remove:hover{background:var(--color-error-hover)}.btn-add{background:none;border:1px dashed var(--color-navy-primary);color:var(--color-text-heading);padding:.5rem 1rem;border-radius:var(--radius-lg);cursor:pointer;font-size:.9rem;margin-top:.5rem;transition:background var(--transition-fast)}[data-theme=dark] .btn-add{border-color:var(--color-gold);color:var(--color-gold)}.btn-add:hover{background:var(--color-bg-hover)}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important;margin-bottom:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-navy-primary)}.form-actions{display:flex;gap:1rem}.btn-submit{background:var(--color-navy-primary);color:var(--color-text-on-dark);border:none;padding:.75rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;font-size:1rem;font-weight:600;transition:background var(--transition-fast)}.btn-submit:hover{background:var(--color-navy-secondary)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-cancel{background:#95a5a6;color:var(--color-text-on-dark);border:none;padding:.75rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;font-size:1rem;transition:background var(--transition-fast)}.btn-cancel:hover{background:#7f8c8d}@media(max-width:768px){.form-row{grid-template-columns:1fr}.attendee-row{flex-direction:column;align-items:stretch}.attendee-select,.attendee-row input[type=text]{min-width:0}.form-actions{flex-direction:column}.btn-submit,.btn-cancel{width:100%;text-align:center}}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,var(--color-border-light) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow-card)}.skeleton-table{background:var(--color-bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.skeleton-table-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1rem;padding:.75rem 1rem;background:var(--color-bg-card-alt);border-bottom:2px solid var(--color-border)}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light)}.skeleton-table-row:last-child{border-bottom:none}.rsvp-list h2{margin-bottom:1rem;color:var(--color-text-heading)}.empty-state{text-align:center;color:var(--color-text-faint);padding:3rem 2rem;font-style:italic;border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card)}.empty-state:before{content:"👋";display:block;font-size:2rem;margin-bottom:.5rem}.rsvp-cards{display:flex;flex-direction:column;gap:1rem}.rsvp-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal);animation:card-fade-in .4s ease-out both}.rsvp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.rsvp-card:nth-child(1){animation-delay:0s}.rsvp-card:nth-child(2){animation-delay:.05s}.rsvp-card:nth-child(3){animation-delay:.1s}.rsvp-card:nth-child(4){animation-delay:.15s}.rsvp-card:nth-child(5){animation-delay:.2s}.rsvp-card:nth-child(6){animation-delay:.25s}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.card-header h3{margin:0;color:var(--color-text-heading)}.card-actions{display:flex;gap:.5rem}.btn-edit{background:var(--color-gold);color:var(--color-navy-primary);border:none;padding:.35rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:600;transition:background var(--transition-fast)}.btn-edit:hover{background:var(--color-gold-hover)}.btn-delete{background:var(--color-error);color:var(--color-text-on-dark);border:none;padding:.35rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;transition:background var(--transition-fast)}.btn-delete:hover{background:var(--color-error-hover)}.card-contact{color:var(--color-text-secondary);margin:.25rem 0 .75rem;font-size:.9rem}.card-members{margin-bottom:.75rem;font-size:.9rem;color:var(--color-text-primary)}.card-members ul{margin:.25rem 0 0;padding-left:1.25rem}.attendee-tree ul{border-left:2px solid var(--color-gold);padding-left:1rem;margin-left:.25rem}.card-members li{margin-bottom:.25rem;line-height:1.6}.attendee-name{font-weight:500}.guests-label{display:block;margin-top:.5rem;font-size:.85rem}.age-badge{background:var(--color-bg-badge);color:var(--color-text-heading);padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.guest-badge{background:var(--color-gold-light);color:#8a6d1b;padding:.1rem .4rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;margin-left:.25rem}[data-theme=dark] .guest-badge{color:var(--color-gold)}.dietary{color:var(--color-text-faint);font-style:italic}.card-details{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.badge{background:var(--color-bg-badge);color:var(--color-text-secondary);padding:.2rem .6rem;border-radius:var(--radius-xl);font-size:.8rem}.badge.lodging{background:var(--color-gold-light);color:#6b5515}[data-theme=dark] .badge.lodging{color:var(--color-gold)}.card-notes{color:var(--color-text-muted);font-style:italic;margin:.5rem 0 0;font-size:.9rem}@media(max-width:768px){.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.card-actions{width:100%}.card-actions .btn-edit,.card-actions .btn-delete{flex:1;text-align:center}}@media print{.rsvp-hero,.btn-edit,.btn-delete,.card-actions{display:none!important}.rsvp-card{box-shadow:none!important;border:1px solid #ccc;break-inside:avoid;page-break-inside:avoid;color:#000!important}.card-header h3,.card-contact,.card-members,.attendee-name,.card-notes,.rsvp-list h2{color:#000!important}}.family-tree-page{display:flex;flex-direction:column;height:calc(100vh - 100px);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding:0 1rem}.family-tree-header{text-align:center;padding:1rem 0 .5rem}.family-tree-header h2{margin:0;font-size:1.6rem;color:var(--color-text-heading)}.family-tree-header p{margin:.3rem 0 0;color:var(--color-text-muted)}.family-tree-header .member-count{font-size:.9rem;color:var(--color-text-faint)}.legend{display:flex;justify-content:center;gap:1.5rem;margin-top:.6rem;font-size:.85rem;color:var(--color-text-secondary)}.legend-item{display:flex;align-items:center;gap:.4rem}.dot{display:inline-block;width:12px;height:12px;border-radius:50%}.dot-gold{background:var(--color-gold)}.dot-blue{background:var(--color-navy-secondary)}.dot-red{background:var(--color-error)}.dot-teal{background:#1a8a6e}.dot-purple{background:#8e44ad}.branch-tabs{display:flex;gap:.35rem;padding:.5rem 0;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.branch-tabs::-webkit-scrollbar{height:4px}.branch-tabs::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.branch-tab{display:flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-full, 20px);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.82rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);flex-shrink:0}.branch-tab:hover{background:var(--color-bg-card-alt);border-color:var(--color-text-faint)}.branch-tab-active{background:var(--color-navy-primary);color:var(--color-text-on-dark);border-color:var(--color-navy-primary);font-weight:600}.branch-tab-active:hover{background:var(--color-navy-dark);border-color:var(--color-navy-dark)}.branch-tab-count{background:#0000001a;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:8px;min-width:18px;text-align:center}.branch-tab-active .branch-tab-count{background:#fff3}.family-tree-wrapper{flex:1;position:relative;min-height:0}.zoom-controls{position:absolute;top:12px;right:12px;z-index:10;display:flex;flex-direction:column;gap:4px}.zoom-controls button{width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);font-size:16px;font-weight:600;color:var(--color-text-heading);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.zoom-controls button:hover{background:var(--color-bg-card-alt)}.family-tree-container{width:100%;height:100%;min-height:500px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card-alt);overflow:hidden;box-shadow:var(--shadow-card)}.family-tree-loading,.family-tree-error{text-align:center;padding:3rem;color:var(--color-text-muted);font-size:1.1rem}.family-tree-error{color:var(--color-error)}.edit-hint{font-size:.85rem}.edit-hint a{color:var(--color-navy-secondary);text-decoration:none;font-weight:500}.edit-hint a:hover{text-decoration:underline}@media(max-width:768px){.zoom-controls{top:8px;right:8px}.legend{flex-wrap:wrap;gap:.75rem}.branch-tabs{padding:.4rem 0}.branch-tab{padding:.4rem .6rem;font-size:.78rem}}@media print{.family-tree-page{height:auto}.branch-tabs,.zoom-controls{display:none}}.members-page h2{margin-bottom:.25rem;color:var(--color-text-heading)}.members-count{color:var(--color-text-faint);font-size:.9rem;margin:0 0 1rem}.members-controls{display:flex;gap:.5rem;margin-bottom:1rem}.members-controls button{background:var(--color-bg-card);border:1px solid var(--color-border);padding:.35rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:500;color:var(--color-text-secondary);transition:background var(--transition-fast),border-color var(--transition-fast)}.members-controls button:hover{background:var(--color-bg-card-alt);border-color:var(--color-gold);color:var(--color-text-heading)}.members-search-wrapper{position:relative;margin-bottom:1.5rem}.members-search{width:100%;padding:.6rem 2.25rem .6rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text-primary)}.members-search:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.members-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;color:var(--color-text-faint);cursor:pointer;padding:0 .25rem;line-height:1}.members-search-clear:hover{color:var(--color-text-primary)}.members-search-result{color:var(--color-text-secondary);font-size:.85rem;margin:0 0 .75rem;font-style:italic}.member-form-grid-modal{display:flex;flex-direction:column;gap:1rem}.member-form-grid-modal label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--color-text-heading)}.member-form-grid-modal input,.member-form-grid-modal select{margin-top:.25rem;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.member-form-grid-modal input:focus,.member-form-grid-modal select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.member-form-error{color:var(--color-error);font-size:.85rem;margin-top:.5rem}.branch-section{background:var(--color-bg-card);border-radius:var(--radius-xl);margin-bottom:1rem;overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.branch-section:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}.branch-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:var(--color-bg-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.branch-header:hover{background:var(--color-bg-badge)}.branch-header h3{margin:0;font-size:1rem;color:var(--color-text-heading)}.branch-header .branch-count{font-weight:400;color:var(--color-text-faint);font-size:.85rem;margin-left:.5rem}.branch-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 .5rem;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;margin-left:.5rem;color:var(--color-text-heading)}.branch-toggle{color:var(--color-text-faint);font-size:.8rem;transition:transform .2s}.branch-toggle.open{transform:rotate(90deg)}.branch-members{padding:.5rem 0}.member-row{display:flex;align-items:center;padding:.4rem 1.25rem;gap:.75rem;transition:background .1s}.member-row:hover{background:var(--color-bg-hover)}.member-indent{flex-shrink:0}.member-info{flex:1;min-width:0}.member-name{font-weight:500;color:var(--color-text-heading)}.member-age-group{font-size:.8rem;color:var(--color-text-faint);margin-left:.5rem}.member-actions{display:flex;gap:.25rem;flex-shrink:0}.btn-member-action{background:none;border:1px solid transparent;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast)}.btn-member-action:hover{background:var(--color-bg-card-alt);border-color:var(--color-border);color:var(--color-text-heading)}.btn-add-child{color:var(--color-navy-secondary)}.btn-add-child:hover{color:var(--color-text-heading)}.btn-member-edit:hover{color:var(--color-gold)}.btn-member-delete:hover{color:var(--color-error)}.members-loading,.members-error{text-align:center;padding:3rem;color:var(--color-text-muted);font-size:1.1rem}.members-error{color:var(--color-error)}@media(max-width:768px){.member-actions{flex-direction:column}}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;animation:modal-slide-up .25s ease-out}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{position:relative;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;color:var(--color-text-heading);font-size:1.1rem}.modal-subtitle{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.85rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--color-text-faint);cursor:pointer;line-height:1;padding:0 .25rem}.modal-close:hover{color:var(--color-text-primary)}.modal-search{position:relative;padding:.75rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-search input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary);box-sizing:border-box}.modal-search input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.modal-search-clear{position:absolute;right:1.75rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;color:var(--color-text-faint);cursor:pointer;padding:0 .2rem;line-height:1}.modal-search-clear:hover{color:var(--color-text-primary)}.modal-body{flex:1;overflow-y:auto;padding:.5rem 1.5rem}.modal-branch-group{padding:.5rem 0}.modal-branch-group+.modal-branch-group{border-top:1px solid var(--color-border-light)}.modal-branch-header{display:flex;align-items:center;justify-content:space-between;padding:.3rem 0 .3rem .75rem;border-left:3px solid var(--color-border)}.modal-branch-label{font-size:.75rem;font-weight:700;color:var(--color-text-heading);text-transform:uppercase;letter-spacing:.03em}.modal-content .btn-select-branch{background:none;border:none;font-size:.7rem;color:var(--color-navy-secondary);cursor:pointer;padding:0;font-weight:500}.modal-content .btn-select-branch:hover{color:var(--color-gold);text-decoration:underline}.modal-member-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem 1.25rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--color-text-primary);transition:background var(--transition-fast)}.modal-member-item:hover{background:var(--color-bg-hover)}.modal-member-item input[type=checkbox]{accent-color:var(--color-navy-primary);cursor:pointer;width:16px;height:16px;flex-shrink:0}.modal-empty{text-align:center;color:var(--color-text-faint);padding:2rem;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.btn-modal-cancel{background:var(--color-bg-cancel);color:var(--color-text-primary);border:none;padding:.5rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;transition:background var(--transition-fast)}.btn-modal-cancel:hover{background:var(--color-bg-cancel-hover)}.btn-modal-register{background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border:none;padding:.5rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity var(--transition-fast)}.btn-modal-register:hover:not(:disabled){opacity:.9}.btn-modal-register:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.modal-content{max-height:90vh}.modal-footer{flex-direction:column}.btn-modal-register,.btn-modal-cancel{width:100%;text-align:center}}.meetings-page h2{margin-bottom:1rem;color:var(--color-text-heading)}.meetings-empty{text-align:center;color:var(--color-text-faint);padding:3rem 2rem;font-style:italic;border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card)}.meetings-empty:before{content:"📹";display:block;font-size:2rem;margin-bottom:.5rem}.meeting-cards{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.meeting-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal);animation:card-fade-in .4s ease-out both}.meeting-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.meeting-card:nth-child(1){animation-delay:0s}.meeting-card:nth-child(2){animation-delay:.05s}.meeting-card:nth-child(3){animation-delay:.1s}.meeting-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.meeting-card-header h3{margin:0;color:var(--color-text-heading)}.meeting-card-actions{display:flex;gap:.5rem}.meeting-date{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:.75rem}.meeting-zoom{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.meeting-zoom a{color:var(--color-link);text-decoration:none;font-weight:600}.meeting-zoom a:hover{text-decoration:underline}.meeting-phone{background:var(--color-bg-subtle);border-radius:var(--radius-lg);padding:.75rem 1rem;font-size:.9rem;margin-bottom:.75rem}.meeting-phone strong{color:var(--color-text-heading);display:block;margin-bottom:.25rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.meeting-phone-detail{color:var(--color-text-secondary);line-height:1.6}.meeting-phone-row{display:flex;align-items:center;gap:.5rem}.btn-copy{background:var(--color-bg-copy);border:none;padding:.15rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;color:var(--color-text-secondary);font-weight:600;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.btn-copy:hover{background:var(--color-bg-copy-hover);color:var(--color-text-heading)}.meeting-notes{color:var(--color-text-muted);font-style:italic;margin:.5rem 0 0;font-size:.9rem}.meeting-form{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-card)}.meeting-form h3{margin:0 0 1rem;color:var(--color-text-heading)}.meeting-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.meeting-form-grid .full-width{grid-column:1 / -1}.meeting-form label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--color-text-heading)}.meeting-form input,.meeting-form textarea{margin-top:.25rem;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.meeting-form textarea{resize:vertical;min-height:60px}.meeting-form input:focus,.meeting-form textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.meeting-form-actions{display:flex;gap:.5rem;margin-top:1rem}.btn-meeting-submit{background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border:none;padding:.5rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;transition:opacity var(--transition-fast)}.btn-meeting-submit:hover{opacity:.9}.btn-meeting-cancel{background:var(--color-bg-cancel);color:var(--color-text-primary);border:none;padding:.5rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;transition:background var(--transition-fast)}.btn-meeting-cancel:hover{background:var(--color-bg-cancel-hover)}.meeting-form-error{color:var(--color-error);font-size:.85rem;margin-top:.5rem}@media(max-width:768px){.meeting-form-grid{grid-template-columns:1fr}.meeting-card-header{flex-direction:column;gap:.5rem}}.events-page h2{margin-bottom:1rem;color:var(--color-text-heading)}.events-empty{text-align:center;color:var(--color-text-faint);padding:3rem 2rem;font-style:italic;border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card)}.events-empty:before{content:"🎉";display:block;font-size:2rem;margin-bottom:.5rem}.event-cards{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.event-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal);animation:card-fade-in .4s ease-out both}.event-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.event-card:nth-child(1){animation-delay:0s}.event-card:nth-child(2){animation-delay:.05s}.event-card:nth-child(3){animation-delay:.1s}.event-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.event-card-header h3{margin:0;color:var(--color-text-heading)}.event-card-actions{display:flex;gap:.5rem}.event-date{color:var(--color-text-secondary);font-size:.9rem;margin:.25rem 0 0}.event-details{margin-bottom:.75rem}.event-detail-row{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.9rem;margin-bottom:.25rem}.event-detail-icon{font-size:1rem;flex-shrink:0}.event-description{color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0 0}.event-notes{color:var(--color-text-muted);font-style:italic;margin:.5rem 0 0;font-size:.9rem}.event-registration{border-top:1px solid var(--color-border-light);padding-top:.75rem}.event-reg-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:var(--color-text-heading)}.btn-register-open{background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border:none;padding:.4rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:600;transition:opacity var(--transition-fast)}.btn-register-open:hover{opacity:.9}.event-reg-grouped{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.reg-branch-group{display:flex;flex-direction:column;gap:.25rem}.reg-branch-label{font-size:.75rem;font-weight:600;color:var(--color-text-heading);text-transform:uppercase;letter-spacing:.03em}.event-reg-badges{display:flex;flex-wrap:wrap;gap:.4rem}.reg-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-bg-badge);color:var(--color-text-heading);padding:.25rem .5rem;border-radius:20px;font-size:.8rem;font-weight:500}.reg-badge-remove{background:none;border:none;color:var(--color-error);font-size:1rem;cursor:pointer;padding:0 .15rem;line-height:1}.reg-badge-remove:hover{color:#e74c3c}.btn-add-event{background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border:none;padding:.5rem 1.25rem;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-weight:600;margin-top:.75rem;transition:opacity var(--transition-fast)}.btn-add-event:hover{opacity:.9}.event-modal{max-width:560px}.event-form-grid-modal{display:flex;flex-direction:column;gap:1rem}.event-form-grid-modal label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--color-text-heading)}.event-form-grid-modal input,.event-form-grid-modal textarea{margin-top:.25rem;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.event-form-grid-modal textarea{resize:vertical;min-height:60px}.event-form-grid-modal input:focus,.event-form-grid-modal textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.event-form-error{color:var(--color-error);font-size:.85rem;margin-top:.5rem}@media(max-width:768px){.event-card-header{flex-direction:column;gap:.5rem}}.budget-page h2{margin-bottom:1rem;color:var(--color-text-heading)}.budget-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.budget-summary-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.25rem;text-align:center;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.budget-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.budget-summary-number{font-size:2rem;font-weight:800;color:var(--color-text-heading)}.budget-summary-label{font-size:.85rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.budget-breakdown{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.budget-row{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.25rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.budget-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.budget-row-label{display:flex;flex-direction:column}.budget-row-title{font-weight:700;color:var(--color-text-heading);font-size:1rem}.budget-row-detail{font-size:.85rem;color:var(--color-text-faint);margin-top:.15rem}.budget-row-range{font-weight:700;font-size:1.1rem;color:var(--color-text-heading);text-align:right;white-space:nowrap}.budget-total{background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);border:none;border-radius:var(--radius-xl);padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.budget-total .budget-row-title{color:var(--color-gold);font-size:1.15rem}.budget-total .budget-row-detail{color:#fff9}.budget-total .budget-row-range{color:var(--color-gold);font-size:1.3rem}.payment-banner{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-lg);font-weight:600;margin-bottom:1.5rem;text-align:center}.payment-ticket-link{display:inline-block;padding:.45rem 1.25rem;background:#0000001f;color:inherit;border-radius:var(--radius-md);text-decoration:none;font-size:.85rem;font-weight:700;transition:background var(--transition-fast)}.payment-ticket-link:hover{background:#0003}.payment-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.payment-cancelled{background:#fff3cd;color:#856404;border:1px solid #ffeeba}[data-theme=dark] .payment-success{background:#27ae6026;color:#2ecc71;border-color:#27ae604d}[data-theme=dark] .payment-cancelled{background:#f1c40f26;color:#f1c40f;border-color:#f1c40f4d}.payment-empty{text-align:center;color:var(--color-text-faint);padding:3rem 2rem;font-style:italic;border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card)}.payment-empty:before{content:"💰";display:block;font-size:2rem;margin-bottom:.5rem}.payment-table-wrapper{background:var(--color-bg-card);border-radius:var(--radius-xl);overflow-x:auto;margin-bottom:2rem;box-shadow:var(--shadow-card)}.payment-table{width:100%;border-collapse:collapse;font-size:.9rem}.payment-table th{background:var(--color-bg-card-alt);color:var(--color-text-heading);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;padding:.75rem 1rem;text-align:left;border-bottom:2px solid var(--color-border)}.payment-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.payment-table tbody tr:last-child td{border-bottom:none}.payment-family{font-weight:600;color:var(--color-text-heading)}.payment-balance-due{color:var(--color-error);font-weight:600}.payment-balance-credit{color:var(--color-success);font-weight:600}.payment-status-badge{display:inline-block;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-paid{background:#d4edda;color:#155724}.status-partial{background:#fff3cd;color:#856404}.status-pending{background:#cce5ff;color:#004085}.status-unpaid{background:#f8d7da;color:#721c24}.status-overpaid{background:#d4edda;color:#155724}[data-theme=dark] .status-paid,[data-theme=dark] .status-overpaid{background:#27ae6033;color:#2ecc71}[data-theme=dark] .status-partial{background:#f1c40f33;color:#f1c40f}[data-theme=dark] .status-pending{background:#3498db33;color:#5dade2}[data-theme=dark] .status-unpaid{background:#e74c3c33;color:#e74c3c}.btn-pay{background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border:none;padding:.4rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:600;transition:opacity var(--transition-fast);white-space:nowrap}.btn-pay:hover{opacity:.9}.pay-inline{display:flex;gap:.35rem;align-items:center}.pay-amount-input{width:90px;padding:.3rem .5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.pay-amount-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.btn-pay-confirm{background:var(--color-success);color:var(--color-text-on-dark);border:none;padding:.3rem .6rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-weight:600}.btn-pay-confirm:hover{background:#2ecc71}.btn-pay-cancel{background:var(--color-bg-cancel);color:var(--color-text-primary);border:none;padding:.3rem .6rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem}.btn-pay-cancel:hover{background:var(--color-bg-cancel-hover)}.payment-error{color:var(--color-error);font-size:.85rem;padding:.5rem 1rem}.budget-pay-link-section{text-align:center;margin-top:1.5rem}.budget-pay-link-btn{display:inline-block;padding:.85rem 2rem;background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);color:var(--color-gold);border-radius:var(--radius-lg);font-size:1.05rem;font-weight:700;text-decoration:none;letter-spacing:.3px;transition:opacity var(--transition-fast),transform var(--transition-fast)}.budget-pay-link-btn:hover{opacity:.92;transform:translateY(-1px)}.budget-pay-link-note{color:var(--color-text-muted);font-size:.85rem;margin-top:.5rem}@media(max-width:768px){.budget-summary-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}}.pay-rsvp-page h2{margin-bottom:.25rem;color:var(--color-text-heading)}.pay-load-error{text-align:center;padding:3rem 1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);margin-top:1rem}.pay-load-error p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:1rem}.pay-retry-btn{padding:.6rem 1.5rem;background:var(--color-primary, #1a2342);color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:.95rem;cursor:pointer}.pay-retry-btn:hover{opacity:.9}.pay-stats-group{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:1.5rem}.pay-stats-group .pay-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:0}.pay-stats-group .pay-overview-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;border-top:1px solid var(--color-border)}.pay-stats-group .pay-overview-card:not(:last-child){border-right:1px solid var(--color-border)}.pay-overview-number{font-size:1.5rem;font-weight:700;color:var(--color-text-heading)}.pay-overview-green{color:var(--color-success, #27ae60)}.pay-overview-amber{color:var(--color-warning, #f39c12)}.pay-overview-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.pay-section-title{color:var(--color-text-heading);margin-bottom:1rem;font-size:1.1rem}.pay-section-subtitle{color:var(--color-text-secondary);font-size:.95rem;margin:0 0 1rem;line-height:1.5}.pay-branch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.pay-branch-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-top:4px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal);text-align:center;font-family:inherit;color:inherit}.pay-branch-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.pay-branch-name{font-size:1.1rem;font-weight:700;color:var(--color-text-heading)}.pay-branch-members{font-size:.8rem;color:var(--color-text-muted)}.pay-branch-amounts{width:100%;display:flex;flex-direction:column;gap:.2rem;margin:.25rem 0}.pay-branch-amount-row{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-muted)}.pay-branch-amount-row span:last-child{font-weight:700;color:var(--color-text-heading)}.pay-branch-amount-paid span:last-child{color:#27ae60}.pay-branch-amount-due span:last-child{color:var(--color-error)}.pay-branch-cost{font-size:1.25rem;font-weight:800;color:var(--color-text-heading)}.pay-branch-progress{width:100%;height:8px;background:var(--color-border-light, var(--color-border));border-radius:4px;overflow:hidden;margin-top:.5rem}.pay-branch-progress-fill{height:100%;border-radius:4px;transition:width .4s ease;min-width:0}.pay-branch-paid{font-size:.75rem;color:var(--color-text-faint)}.pay-branch-card-paid{border-top-color:#27ae60!important}.pay-branch-paid-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.2rem .6rem;border-radius:20px;background:#27ae6026;color:#27ae60;align-self:flex-start}[data-theme=dark] .pay-branch-paid-badge{background:#27ae6033;color:#2ecc71}.pay-all-paid-notice{padding:.85rem 1rem;text-align:center;font-weight:600;font-size:.9rem;color:#27ae60;background:#27ae6014;border-bottom:1px solid var(--color-border-light, var(--color-border))}[data-theme=dark] .pay-all-paid-notice{color:#2ecc71;background:#27ae601a}.pay-member-check-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#27ae60;flex-shrink:0}.pay-detail-view{animation:fadeSlideIn .25s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pay-back-btn{background:none;border:none;color:var(--color-navy-primary);font-size:.9rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;font-family:inherit}.pay-back-btn:hover{text-decoration:underline}[data-theme=dark] .pay-back-btn{color:var(--color-gold)}.pay-detail-header{background:var(--color-bg-card);border-left:5px solid var(--color-border);border-radius:var(--radius-xl);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-card)}.pay-detail-header h3{margin:0 0 .25rem;color:var(--color-text-heading);font-size:1.25rem}.pay-detail-header p{margin:0;color:var(--color-text-muted);font-size:.9rem}.pay-detail-paid-info{color:var(--color-success)!important;font-weight:600;margin-top:.25rem!important}.pay-detail-stats{display:flex;gap:1.5rem;margin-top:.75rem;flex-wrap:wrap}.pay-detail-stat{display:flex;flex-direction:column;gap:.15rem}.pay-detail-stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.pay-detail-stat-value{font-size:1.2rem;font-weight:800;color:var(--color-text-heading)}.pay-detail-stat-paid{color:#27ae60}.pay-detail-stat-due{color:var(--color-error)}.pay-select-controls{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.pay-select-controls button{background:var(--color-bg-card);border:1px solid var(--color-border);padding:.35rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:600;color:var(--color-text-primary);font-family:inherit;transition:background var(--transition-fast)}.pay-select-controls button:hover{background:var(--color-bg-card-alt)}.pay-selected-count{font-size:.85rem;color:var(--color-text-muted);margin-left:auto}.pay-members-list{display:flex;flex-direction:column;background:var(--color-bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card);margin-bottom:1.5rem}.pay-member-row{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid var(--color-border-light, var(--color-border));cursor:pointer;transition:background var(--transition-fast)}.pay-member-row:last-child{border-bottom:none}.pay-member-row:hover{background:var(--color-bg-card-alt)}.pay-member-row.selected{background:#1a23420a}[data-theme=dark] .pay-member-row.selected{background:#d4af370f}.pay-member-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-navy-primary);flex-shrink:0}.pay-member-name{flex:1;font-weight:500;color:var(--color-text-primary)}.pay-member-age{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .5rem;border-radius:20px;flex-shrink:0}.pay-age-legend{display:flex;gap:.8rem;flex-wrap:wrap;padding:.6rem 1rem;margin-bottom:.5rem;font-size:.8rem;color:var(--color-text-secondary, #666)}.pay-legend-item{display:flex;align-items:center;gap:.4rem}.pay-legend-pill{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .5rem;border-radius:20px}.age-adult{background:#1a23421a;color:var(--color-navy-primary)}.age-spouse{background:#27ae601f;color:#1e8449}.age-child{background:#3498db1f;color:#2980b9}.age-infant{background:#9b59b61f;color:#8e44ad}[data-theme=dark] .age-adult{background:#d4af3726;color:var(--color-gold)}[data-theme=dark] .age-spouse{background:#27ae6033;color:#58d68d}[data-theme=dark] .age-child{background:#3498db33;color:#5dade2}[data-theme=dark] .age-infant{background:#9b59b633;color:#bb8fce}.pay-member-fee{font-weight:700;font-size:.9rem;color:var(--color-text-heading);min-width:50px;text-align:right;flex-shrink:0}.pay-member-row.paid{opacity:.65;cursor:default;background:#27ae600f}.pay-member-row.paid:hover{background:#27ae600f}[data-theme=dark] .pay-member-row.paid{background:#27ae6014}.pay-member-row.paid input[type=checkbox]{accent-color:#27ae60}.pay-member-paid-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .6rem;border-radius:20px;background:#27ae6026;color:#27ae60;flex-shrink:0}[data-theme=dark] .pay-member-paid-badge{background:#27ae6033;color:#2ecc71}.pay-paid-count{color:#27ae60;font-weight:600}.pay-summary-bar{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.25rem 1.5rem;box-shadow:var(--shadow-card);position:sticky;bottom:1rem;border:2px solid var(--color-border)}.pay-summary-details{display:flex;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}.pay-summary-line{display:flex;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.pay-summary-line span:last-child{font-weight:600;color:var(--color-text-primary)}.pay-summary-total{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-top:2px solid var(--color-border);margin-bottom:.75rem}.pay-total-label{font-size:1rem;font-weight:700;color:var(--color-text-heading)}.pay-total-amount{font-size:1.5rem;font-weight:800;color:var(--color-text-heading)}.pay-checkout-btn{width:100%;padding:.85rem;background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);color:var(--color-gold);border:none;border-radius:var(--radius-lg);font-size:1.05rem;font-weight:700;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast);font-family:inherit;letter-spacing:.3px}.pay-checkout-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.pay-checkout-btn:disabled{opacity:.5;cursor:not-allowed}.pay-error{color:var(--color-error);font-size:.85rem;margin-top:.5rem;text-align:center}.pay-guests-divider{padding:.5rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);background:var(--color-bg-card-alt);border-bottom:1px solid var(--color-border-light, var(--color-border))}.pay-guest-row{position:relative}.pay-guest-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:var(--color-text-muted);flex-shrink:0}.pay-guest-remove{background:none;border:none;color:var(--color-text-faint);font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;transition:color var(--transition-fast);flex-shrink:0}.pay-guest-remove:hover{color:var(--color-error)}.pay-add-guest-section{margin-bottom:1.5rem}.pay-add-guest-btn{background:var(--color-bg-card);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:.65rem 1.25rem;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--color-navy-primary);font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast);width:100%}.pay-add-guest-btn:hover{background:var(--color-bg-card-alt);border-color:var(--color-navy-primary)}[data-theme=dark] .pay-add-guest-btn{color:var(--color-gold)}[data-theme=dark] .pay-add-guest-btn:hover{border-color:var(--color-gold)}.pay-guest-form{display:flex;gap:.5rem;align-items:center;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:.75rem 1rem;flex-wrap:wrap}.pay-guest-name-input{flex:1;min-width:150px;padding:.45rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.pay-guest-name-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.pay-guest-age-select{padding:.45rem .5rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.pay-guest-age-select:focus{outline:none;border-color:var(--color-gold)}.pay-guest-add-btn{background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-text-on-dark);border:none;padding:.45rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit;transition:opacity var(--transition-fast)}.pay-guest-add-btn:hover:not(:disabled){opacity:.9}.pay-guest-add-btn:disabled{opacity:.5;cursor:not-allowed}.pay-guest-cancel-btn{background:var(--color-bg-cancel);color:var(--color-text-primary);border:none;padding:.45rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-family:inherit}.pay-guest-cancel-btn:hover{background:var(--color-bg-cancel-hover)}.pay-summary-guest-note{font-style:italic}.pay-summary-angel-note{font-style:italic;color:var(--color-warning, #e67e22)!important}.pay-summary-angel-note span:last-child{color:var(--color-warning, #e67e22)!important;font-weight:700}.pay-angel-section{margin-bottom:1.5rem}.pay-angel-btn{display:flex;align-items:center;gap:.75rem;width:100%;background:var(--color-bg-card);border:2px dashed var(--color-warning, #e67e22);border-radius:var(--radius-lg);padding:.75rem 1.25rem;cursor:pointer;font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);text-align:left}.pay-angel-btn:hover{background:#e67e220a;border-color:#d35400;transform:translateY(-1px)}[data-theme=dark] .pay-angel-btn:hover{background:#e67e2214}.pay-angel-btn-icon{font-size:1.3rem;flex-shrink:0}.pay-angel-btn-icon-img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 20%;border:2px solid var(--color-warning, #e67e22);flex-shrink:0}.pay-angel-btn-text{display:flex;flex-direction:column;gap:.1rem}.pay-angel-btn-label{font-size:.9rem;font-weight:600;color:var(--color-warning, #e67e22)}.pay-angel-btn-hint{font-size:.78rem;color:var(--color-text-muted)}.pay-angel-form{background:var(--color-bg-card);border:2px solid var(--color-warning, #e67e22);border-radius:var(--radius-lg);padding:1rem 1.25rem}.pay-angel-description{margin-bottom:.75rem}.pay-angel-title{font-size:.95rem;font-weight:700;color:var(--color-warning, #e67e22)}.pay-angel-description p{margin:.3rem 0 0;font-size:.82rem;line-height:1.4;color:var(--color-text-secondary)}.pay-angel-input-row{display:flex;align-items:center;gap:.5rem}.pay-angel-dollar-sign{font-size:1.1rem;font-weight:700;color:var(--color-text-heading)}.pay-angel-amount-input{flex:1;max-width:120px;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:1.1rem;font-weight:700;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.pay-angel-amount-input:focus{outline:none;border-color:var(--color-warning, #e67e22);box-shadow:0 0 0 2px #e67e2233}.pay-angel-amount-input::-webkit-inner-spin-button,.pay-angel-amount-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pay-angel-amount-input[type=number]{-moz-appearance:textfield}.pay-angel-clear-btn{background:var(--color-bg-cancel);color:var(--color-text-primary);border:none;padding:.5rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-family:inherit}.pay-angel-clear-btn:hover{background:var(--color-bg-cancel-hover)}.pay-angel-promo{display:flex;align-items:center;text-decoration:none;color:var(--color-text-on-dark);padding:1.25rem;gap:1.25rem;background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);transition:opacity var(--transition-fast)}.pay-angel-promo:hover{opacity:.92}.pay-angel-promo-image{flex-shrink:0;width:90px;height:90px;border-radius:50%;overflow:hidden;border:3px solid var(--color-gold);box-shadow:0 2px 12px #0000004d}.pay-angel-promo-image img{width:100%;height:100%;object-fit:cover;object-position:center top}.pay-angel-promo-content{flex:1;display:flex;flex-direction:column;gap:.4rem;min-width:0}.pay-angel-promo-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.pay-angel-promo-title{margin:0;font-size:1rem;font-weight:700;color:var(--color-gold)}.pay-angel-promo-raised{font-size:1.1rem;font-weight:800;color:var(--color-gold);white-space:nowrap}.pay-angel-promo-track{height:8px;background:#ffffff26;border-radius:4px;overflow:hidden}.pay-angel-promo-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#f39c12,#e67e22,#d35400);transition:width 1s ease;min-width:4px}.pay-angel-promo-fill-complete{background:linear-gradient(90deg,#27ae60,#2ecc71)}.pay-angel-promo-bottom{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.pay-angel-promo-pct{font-weight:700;color:var(--color-gold)}.pay-angel-promo-pct-complete{color:#2ecc71}.pay-angel-promo-remaining{color:#fff9}.pay-angel-promo-goal{margin-left:auto;font-weight:600;color:#ffffff80}.pay-angel-promo-cta{margin:0;font-size:.78rem;line-height:1.4;color:#ffffff8c}@media(max-width:600px){.pay-stats-group .pay-overview-grid{grid-template-columns:1fr}.pay-stats-group .pay-overview-card:not(:last-child){border-right:none}.pay-branch-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pay-summary-details{flex-direction:column;gap:.35rem}.pay-member-row{padding:.6rem .75rem;gap:.5rem}.pay-member-age{display:none}.pay-guest-form{flex-direction:column}.pay-guest-name-input{width:100%}.pay-angel-promo-image{width:70px;height:70px}}.ticket-page{display:flex;justify-content:center;padding:1rem 0 3rem;animation:ticket-fade-in .4s ease-out}@keyframes ticket-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ticket-loading,.ticket-error{text-align:center;padding:3rem 1.5rem;color:var(--color-text-muted);font-size:1rem}.ticket-error{color:var(--color-error)}.ticket-card{width:100%;max-width:420px;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card),0 0 0 1px var(--color-border);overflow:hidden;position:relative}.ticket-card:after{content:"";position:absolute;top:160px;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--color-border) 0,var(--color-border) 6px,transparent 6px,transparent 12px)}.ticket-header{background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);padding:1.5rem 1.5rem 1.75rem;text-align:center}.ticket-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-gold);letter-spacing:.5px;text-transform:uppercase}.ticket-family{margin:.35rem 0 0;font-size:1.4rem;font-weight:800;color:var(--color-text-on-dark);letter-spacing:.3px}.ticket-payer{margin:.5rem 0 0;font-size:.85rem;font-weight:500;color:#fffc}.ticket-payer-email{margin:.15rem 0 0;font-size:.8rem;font-weight:400;color:#fff9}.ticket-qr{display:flex;justify-content:center;padding:1.75rem 1.5rem 1.25rem}.ticket-qr svg{border-radius:var(--radius-md);padding:12px;background:#fff;box-shadow:0 1px 4px #00000014}.ticket-checked-in-badge{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin:0 1.5rem 1rem;padding:.6rem 1rem;background:#27ae601a;border:1px solid rgba(39,174,96,.25);border-radius:var(--radius-lg);color:#27ae60;font-weight:700;font-size:.95rem;text-align:center;letter-spacing:.3px;text-transform:uppercase}[data-theme=dark] .ticket-checked-in-badge{background:#27ae6026;border-color:#27ae604d;color:#2ecc71}.ticket-checked-in-time{font-size:.75rem;font-weight:500;text-transform:none;letter-spacing:0;opacity:.8}.ticket-attendees{padding:0 1.5rem;margin-bottom:1rem}.ticket-attendees h3{margin:0 0 .5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.ticket-attendees ul{list-style:none;margin:0;padding:0}.ticket-attendee{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border-light, var(--color-border))}.ticket-attendee:last-child{border-bottom:none}.ticket-attendee-name{flex:1;font-weight:500;color:var(--color-text-primary);font-size:.95rem}.ticket-attendee-age{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.1rem .45rem;border-radius:20px}.ticket-attendee-age.age-adult{background:#1a23421a;color:var(--color-navy-primary)}.ticket-attendee-age.age-spouse{background:#27ae601f;color:#1e8449}.ticket-attendee-age.age-child{background:#3498db1f;color:#2980b9}.ticket-attendee-age.age-infant{background:#9b59b61f;color:#8e44ad}[data-theme=dark] .ticket-attendee-age.age-adult{background:#d4af3726;color:var(--color-gold)}[data-theme=dark] .ticket-attendee-age.age-spouse{background:#27ae6033;color:#58d68d}[data-theme=dark] .ticket-attendee-age.age-child{background:#3498db33;color:#5dade2}[data-theme=dark] .ticket-attendee-age.age-infant{background:#9b59b633;color:#bb8fce}.ticket-guest-tag{font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:20px;background:var(--color-gold-light);color:var(--color-gold)}.ticket-amount{display:flex;justify-content:space-between;align-items:center;margin:0 1.5rem;padding:.75rem 0;border-top:1px solid var(--color-border);font-size:.95rem}.ticket-amount span:first-child{color:var(--color-text-muted);font-weight:600}.ticket-amount span:last-child{font-weight:800;color:var(--color-text-heading);font-size:1.1rem}.ticket-checkin-btn{display:block;width:calc(100% - 3rem);margin:.5rem 1.5rem 1rem;padding:.85rem;background:linear-gradient(135deg,#27ae60,#219a52);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1.05rem;font-weight:700;cursor:pointer;font-family:inherit;letter-spacing:.3px;transition:opacity var(--transition-fast),transform var(--transition-fast)}.ticket-checkin-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.ticket-checkin-btn:disabled{opacity:.5;cursor:not-allowed}.ticket-send-section{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--color-border)}.ticket-send-label{margin:0 0 .5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.ticket-send-buttons{display:flex;gap:.5rem;margin-bottom:.75rem}.ticket-send-btn{padding:.5rem 1.25rem;background:var(--color-bg-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.85rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.ticket-send-btn:hover{background:var(--color-bg-hover);border-color:var(--color-navy-primary)}.ticket-send-btn.active{background:var(--color-navy-primary);color:var(--color-text-on-dark);border-color:var(--color-navy-primary)}[data-theme=dark] .ticket-send-btn.active{background:var(--color-gold);color:var(--color-navy-primary);border-color:var(--color-gold)}.ticket-send-hint{margin:0 0 .65rem;font-size:.8rem;color:var(--color-text-faint);font-weight:400}.ticket-send-disabled{margin:0;font-size:.85rem;color:var(--color-text-faint)}.ticket-send-form{display:flex;gap:.5rem;animation:ticket-fade-in .2s ease-out}.ticket-send-input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary)}.ticket-send-input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.ticket-send-submit{padding:.5rem 1.25rem;background:linear-gradient(135deg,var(--color-navy-primary),var(--color-navy-secondary));color:var(--color-gold);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity var(--transition-fast);white-space:nowrap}.ticket-send-submit:hover:not(:disabled){opacity:.9}.ticket-send-submit:disabled{opacity:.5;cursor:not-allowed}.ticket-send-result{margin:.5rem 0 0;font-size:.85rem;color:var(--color-success);font-weight:500}.ticket-back-link{text-align:center;padding:1rem 1.5rem 1.5rem}.ticket-back-link a{color:var(--color-navy-primary);font-weight:600;font-size:.9rem;text-decoration:none}.ticket-back-link a:hover{text-decoration:underline}[data-theme=dark] .ticket-back-link a{color:var(--color-gold)}@media print{.ticket-page{padding:0}.ticket-card{box-shadow:none;border:1px solid #ccc}.ticket-send-section,.ticket-checkin-btn,.ticket-back-link{display:none!important}}@media(max-width:480px){.ticket-card{border-radius:var(--radius-lg)}.ticket-header{padding:1.25rem 1rem 1.5rem}.ticket-family{font-size:1.2rem}.ticket-qr{padding:1.25rem 1rem 1rem}.ticket-attendees,.ticket-amount,.ticket-send-section{padding-left:1rem;padding-right:1rem}.ticket-checkin-btn{width:calc(100% - 2rem);margin-left:1rem;margin-right:1rem}.ticket-send-form{flex-direction:column}}.admin-page{max-width:700px;margin:0 auto}.admin-list{margin-bottom:2rem}.admin-list h3{color:var(--color-text-heading);margin-bottom:.75rem}.admin-empty{color:var(--color-text-faint);font-style:italic}.admin-cards{display:flex;flex-direction:column;gap:.5rem}.admin-card{display:flex;justify-content:space-between;align-items:center;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:.75rem 1rem;box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.admin-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}.admin-info{display:flex;flex-direction:column;gap:.15rem}.admin-name{font-weight:600;color:var(--color-text-heading)}.admin-email{font-size:.85rem;color:var(--color-text-muted)}.btn-remove-admin{background:var(--color-bg-card);color:var(--color-error);border:1px solid var(--color-error);padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:background var(--transition-normal)}.btn-remove-admin:hover{background:var(--color-error);color:var(--color-text-on-dark)}.admin-form{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-card)}.admin-form h3{margin:0 0 1rem;color:var(--color-text-heading)}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.admin-form label{display:flex;flex-direction:column;gap:.3rem;font-weight:600;font-size:.85rem;color:var(--color-text-secondary)}.admin-form input{padding:.5rem;border:1px solid var(--color-border-input-alt);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-bg-input);color:var(--color-text-primary)}.admin-form input:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.admin-form-error{color:var(--color-error);font-size:.85rem;margin-bottom:.75rem}.btn-add-admin{background:var(--color-navy-primary);color:var(--color-text-on-dark);border:none;padding:.6rem 1.5rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background var(--transition-normal)}.btn-add-admin:hover{background:var(--color-navy-secondary)}.btn-add-admin:disabled{opacity:.5;cursor:not-allowed}.admin-danger-zone{margin-bottom:2rem;border:1px solid var(--color-error);border-radius:var(--radius-xl);padding:1.5rem;background:var(--color-bg-card)}.admin-danger-zone h3{margin:0 0 .25rem;color:var(--color-error)}.admin-danger-desc{color:var(--color-text-muted);font-size:.85rem;margin:0 0 1rem}.admin-danger-actions{display:flex;flex-direction:column;gap:.75rem}.admin-danger-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-top:1px solid var(--color-border)}.admin-danger-item:first-child{border-top:none;padding-top:0}.admin-danger-item div{display:flex;flex-direction:column;gap:.15rem}.admin-danger-item strong{font-size:.9rem;color:var(--color-text-heading)}.admin-danger-item span{font-size:.8rem;color:var(--color-text-muted)}.btn-danger{background:var(--color-bg-card);color:var(--color-error);border:1px solid var(--color-error);padding:.45rem 1rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.btn-danger:hover{background:var(--color-error);color:#fff}@media(max-width:768px){.admin-form-grid{grid-template-columns:1fr}.admin-danger-item{flex-direction:column;align-items:flex-start}.btn-danger{width:100%;text-align:center}}.ph-page{max-width:800px;margin:0 auto}.ph-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.ph-stat-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.ph-stat-number{font-size:1.5rem;font-weight:700;color:var(--color-text-heading)}.ph-stat-green{color:var(--color-success, #27ae60)}.ph-stat-amber{color:var(--color-warning, #f39c12)}.ph-stat-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.ph-controls{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.ph-search{padding:.6rem .85rem;border:1px solid var(--color-border-input-alt);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-bg-input);color:var(--color-text-primary);width:100%}.ph-search:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.ph-filters{display:flex;gap:.5rem}.ph-filter-btn{padding:.4rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.ph-filter-btn.active{background:var(--color-navy-primary);color:var(--color-text-on-dark);border-color:var(--color-navy-primary)}.ph-filter-btn:hover:not(.active){border-color:var(--color-navy-primary)}.ph-list{display:flex;flex-direction:column;gap:.75rem}.ph-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1rem 1.25rem;border-left:4px solid var(--color-border)}.ph-card-completed{border-left-color:var(--color-success, #27ae60)}.ph-card-pending{border-left-color:var(--color-warning, #f39c12)}.ph-card-failed{border-left-color:var(--color-error, #e74c3c)}.ph-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.ph-card-title{display:flex;align-items:center;gap:.5rem}.ph-family-name{font-weight:700;font-size:1rem;color:var(--color-text-heading)}.ph-amount{font-weight:700;font-size:1.1rem;color:var(--color-text-heading)}.ph-status-badge{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.ph-status-completed{background:#27ae601f;color:#1e8449}.ph-status-pending{background:#f39c121f;color:#b7791f}.ph-status-failed{background:#e74c3c1f;color:#c0392b}.ph-card-details{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem;margin-bottom:.75rem}.ph-detail-row{display:flex;gap:.5rem;align-items:baseline}.ph-detail-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:4rem}.ph-detail-value{font-size:.85rem;color:var(--color-text-primary)}.ph-checked-in{color:var(--color-success, #27ae60);font-weight:600}.ph-line-items{border-top:1px solid var(--color-border);padding-top:.6rem}.ph-line-items-title{font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.ph-line-items-list{margin-top:.35rem;display:flex;flex-direction:column;gap:.2rem}.ph-line-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.2rem 0}.ph-li-name{flex:1;color:var(--color-text-primary);display:flex;align-items:center;gap:.35rem}.ph-guest-tag{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:var(--radius-sm);background:#8e44ad1f;color:#7d3c98;text-transform:uppercase}.ph-li-age{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:var(--radius-sm)}.ph-li-amount{font-weight:600;color:var(--color-text-secondary);min-width:3.5rem;text-align:right}.ph-card-footer{border-top:1px solid var(--color-border);padding-top:.6rem;margin-top:.5rem}.ph-ticket-link{font-size:.8rem;font-weight:600;color:var(--color-navy-primary);text-decoration:none}.ph-ticket-link:hover{text-decoration:underline}.ph-empty{text-align:center;color:var(--color-text-muted);font-style:italic;padding:2rem}.ph-error{color:var(--color-error);text-align:center;padding:2rem}[data-theme=dark] .ph-status-completed{background:#27ae6033;color:#58d68d}[data-theme=dark] .ph-status-pending{background:#f39c1233;color:#f5b041}[data-theme=dark] .ph-status-failed{background:#e74c3c33;color:#ec7063}[data-theme=dark] .ph-guest-tag{background:#8e44ad40;color:#bb8fce}.ph-angel-tag{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:var(--radius-sm);background:#e67e221f;color:#d35400;text-transform:uppercase}[data-theme=dark] .ph-angel-tag{background:#e67e2240;color:#f0a050}@media(max-width:600px){.ph-stats-grid,.ph-card-details{grid-template-columns:1fr}.ph-filters{flex-wrap:wrap}.ph-card-header{flex-direction:column;gap:.5rem}}.checkin-dashboard h2{margin-bottom:.25rem;color:var(--color-text-heading)}.checkin-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1.5rem}.checkin-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.checkin-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.25rem;text-align:center;box-shadow:var(--shadow-card)}.checkin-stat-number{font-size:2rem;font-weight:800;color:var(--color-text-heading)}.checkin-stat-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:.15rem}.checkin-progress-wrap{margin-bottom:2rem}.checkin-progress-bar{height:10px;background:var(--color-bg-subtle);border-radius:999px;overflow:hidden}.checkin-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success),#2ecc71);border-radius:999px;transition:width .5s ease}.checkin-progress-text{text-align:right;font-size:.8rem;color:var(--color-text-muted);margin-top:.35rem}.checkin-search-wrap{position:relative;margin-bottom:1.25rem}.checkin-search{width:100%;padding:.65rem 2.5rem .65rem .85rem;border:1px solid var(--color-border-input);border-radius:var(--radius-lg);font-size:.9rem;font-family:inherit;background:var(--color-bg-input);color:var(--color-text-primary);box-sizing:border-box}.checkin-search:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold-ring)}.checkin-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;color:var(--color-text-faint);cursor:pointer;padding:.25rem;line-height:1}.checkin-list{display:flex;flex-direction:column;gap:.5rem}.checkin-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-card);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.checkin-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-card-hover)}.checkin-card.is-checked-in{border-left:3px solid var(--color-success)}.checkin-card-info{flex:1;min-width:0}.checkin-card-family{font-weight:700;font-size:1rem;color:var(--color-text-heading)}.checkin-card-details{font-size:.8rem;color:var(--color-text-muted);margin-top:.2rem;display:flex;flex-wrap:wrap;gap:.5rem}.checkin-card-details span{white-space:nowrap}.checkin-card-email{color:var(--color-text-faint);font-size:.75rem}.checkin-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}.checkin-badge.checked-in{background:#27ae601f;color:#27ae60}[data-theme=dark] .checkin-badge.checked-in{background:#27ae6033;color:#2ecc71}.checkin-badge.not-checked-in{background:#0000000d;color:var(--color-text-faint)}[data-theme=dark] .checkin-badge.not-checked-in{background:#ffffff0f}.checkin-card-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.btn-checkin{padding:.45rem 1rem;background:linear-gradient(135deg,#27ae60,#219a52);color:#fff;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:opacity var(--transition-fast),transform var(--transition-fast)}.btn-checkin:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-checkin:disabled{opacity:.5;cursor:not-allowed}.btn-view-ticket{padding:.45rem .85rem;background:var(--color-bg-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;font-family:inherit;text-decoration:none;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-view-ticket:hover{background:var(--color-bg-hover);border-color:var(--color-navy-primary)}.checkin-time{font-size:.7rem;color:var(--color-text-faint)}.checkin-filters{display:flex;gap:.5rem;margin-bottom:1rem}.checkin-filter-btn{padding:.35rem .85rem;background:var(--color-bg-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.8rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.checkin-filter-btn:hover{background:var(--color-bg-hover)}.checkin-filter-btn.active{background:var(--color-navy-primary);color:var(--color-text-on-dark);border-color:var(--color-navy-primary)}[data-theme=dark] .checkin-filter-btn.active{background:var(--color-gold);color:var(--color-navy-primary);border-color:var(--color-gold)}.checkin-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.95rem}.checkin-loading{text-align:center;padding:3rem;color:var(--color-text-muted)}@media(max-width:600px){.checkin-card{flex-direction:column;align-items:flex-start}.checkin-card-actions{width:100%}.btn-checkin,.btn-view-ticket{flex:1;text-align:center}.checkin-summary{grid-template-columns:repeat(3,1fr)}}.gallery-page h2{margin-bottom:1rem;color:var(--color-text-heading)}.gallery-empty{text-align:center;color:var(--color-text-faint);padding:4rem 2rem;border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-card)}.gallery-empty p{margin:.25rem 0;font-size:1.1rem}.gallery-empty .gallery-empty-sub{font-size:.9rem;margin-top:.5rem}.gallery-grid{columns:4;column-gap:.75rem}.gallery-item{break-inside:avoid;margin-bottom:.75rem;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;position:relative;background:var(--color-bg-card-alt);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal);animation:card-fade-in .4s ease-out both}.gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow-card-hover)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s ease}.gallery-loading-more{text-align:center;padding:1.5rem;color:var(--color-text-muted);font-size:.9rem}.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:#000000eb;display:flex;align-items:center;justify-content:center;animation:lightbox-fade-in .2s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.gallery-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 40px #00000080;animation:lightbox-img-in .25s ease-out}@keyframes lightbox-img-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.gallery-lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fffc;font-size:2.5rem;cursor:pointer;line-height:1;padding:.25rem .5rem;transition:color var(--transition-fast);z-index:1001}.gallery-lightbox-close:hover{color:#fff}.gallery-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffd9;font-size:2.5rem;cursor:pointer;padding:.5rem 1rem;border-radius:var(--radius-md);transition:background var(--transition-fast),color var(--transition-fast);line-height:1;z-index:1001}.gallery-lightbox-nav:hover{background:#fff3;color:#fff}.gallery-lightbox-prev{left:1rem}.gallery-lightbox-next{right:1rem}.gallery-lightbox-caption{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);color:#ffffffd9;font-size:.9rem;text-align:center;background:#00000080;padding:.5rem 1.25rem;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-lightbox-counter{margin-left:1rem;color:#ffffff80;font-size:.8rem}@media(max-width:1024px){.gallery-grid{columns:3}}@media(max-width:768px){.gallery-grid{columns:2;column-gap:.5rem}.gallery-item{margin-bottom:.5rem}.gallery-lightbox-nav{font-size:2rem;padding:.4rem .75rem}.gallery-lightbox-prev{left:.5rem}.gallery-lightbox-next{right:.5rem}}@media(max-width:480px){.gallery-grid{columns:2;column-gap:.4rem}.gallery-item{margin-bottom:.4rem;border-radius:var(--radius-sm)}}.thankyou-page{max-width:800px;margin:0 auto}.thankyou-hero{position:relative;text-align:center;margin-bottom:1.5rem;border-radius:var(--radius-xl);overflow:hidden;background-size:cover;background-position:center top;background-repeat:no-repeat;min-height:320px;display:flex;align-items:flex-end}.thankyou-hero-overlay{width:100%;padding:5rem 1.5rem 1.5rem;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.75) 100%)}.thankyou-hero-title{margin:0 0 .5rem;font-size:1.4rem;color:#f5c542;text-shadow:0 1px 4px rgba(0,0,0,.4)}.thankyou-hero-desc{margin:0 auto;font-size:.9rem;line-height:1.6;color:#ffffffe6;max-width:550px;text-shadow:0 1px 3px rgba(0,0,0,.4)}.thermo-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-card)}.thermo-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.thermo-raised{font-size:1.4rem;font-weight:800;color:var(--color-warning, #e67e22)}.thermo-goal{font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.thermo-track{position:relative;height:28px;background:var(--color-border-light, var(--color-border));border-radius:14px;overflow:visible}.thermo-fill{height:100%;border-radius:14px;background:linear-gradient(90deg,#f39c12,#e67e22,#d35400);transition:width 1s ease;position:relative;min-width:28px}.thermo-fill-complete{background:linear-gradient(90deg,#27ae60,#2ecc71)}.thermo-bulb{position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#e67e22,#d35400);border:4px solid var(--color-bg-card);box-shadow:0 2px 8px #e67e224d}.thermo-fill-complete~.thermo-bulb{background:linear-gradient(135deg,#27ae60,#2ecc71);box-shadow:0 2px 8px #27ae604d}.thermo-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem}.thermo-pct{font-size:.9rem;font-weight:700;color:var(--color-warning, #e67e22)}.thermo-fill-complete~.thermo-bulb+.thermo-footer .thermo-pct{color:#27ae60}.thermo-remaining{font-size:.85rem;color:var(--color-text-secondary)}.thermo-angel-count{text-align:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border-light, var(--color-border));font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.thankyou-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.thankyou-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.5rem 1rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);text-align:center;position:relative}.thankyou-card-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.2rem .6rem;border-radius:20px;background:#e67e221f;color:#d35400;margin-bottom:.25rem}[data-theme=dark] .thankyou-card-badge{background:#e67e2233;color:#f0a050}.thankyou-card-name{font-size:1.1rem;font-weight:700;color:var(--color-text-heading)}.thankyou-card-family{font-size:.8rem;color:var(--color-text-muted)}.thankyou-card-amount{font-size:1.3rem;font-weight:800;color:var(--color-warning, #e67e22);margin-top:.25rem}.thankyou-card-date{font-size:.75rem;color:var(--color-text-faint)}.thankyou-empty{text-align:center;padding:3rem 1.5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.thankyou-empty-icon{font-size:2.5rem;margin-bottom:.5rem}.thankyou-empty h3{margin:0 0 .5rem;color:var(--color-text-heading)}.thankyou-empty p{font-size:.9rem;line-height:1.6;color:var(--color-text-secondary);max-width:450px;margin:0 auto}@media(max-width:600px){.thankyou-stats,.thankyou-grid{grid-template-columns:1fr}}.cmd-palette-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:center;padding-top:20vh;animation:cmd-fade-in .15s ease-out}@keyframes cmd-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cmd-slide-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.cmd-palette{background:var(--color-bg-card, #fff);border:1px solid var(--color-border, #e0e0e0);border-radius:12px;width:90%;max-width:520px;max-height:400px;display:flex;flex-direction:column;box-shadow:0 16px 70px #0000004d;animation:cmd-slide-in .15s ease-out;align-self:flex-start;overflow:hidden}.cmd-palette-input-wrap{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border, #e0e0e0)}.cmd-palette-search-icon{color:var(--color-text-muted, #888);flex-shrink:0}.cmd-palette-input{flex:1;border:none;outline:none;font-size:1rem;background:transparent;color:var(--color-text-primary, #333)}.cmd-palette-input::placeholder{color:var(--color-text-muted, #999)}.cmd-palette-kbd{background:var(--color-bg-page, #f5f5f5);border:1px solid var(--color-border, #ddd);border-radius:4px;padding:.1rem .4rem;font-size:.7rem;color:var(--color-text-muted, #888);font-family:inherit}.cmd-palette-list{flex:1;overflow-y:auto;padding:.375rem}.cmd-palette-empty{padding:1.5rem;text-align:center;color:var(--color-text-muted, #999);font-size:.9rem}.cmd-palette-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .75rem;border:none;background:transparent;cursor:pointer;border-radius:8px;font-size:.95rem;color:var(--color-text-primary, #333);text-align:left;transition:background .1s}.cmd-palette-item.selected{background:var(--color-navy-primary, #16213e);color:#fff}.cmd-palette-item.admin .cmd-palette-item-label{color:#e67e22}.cmd-palette-item.admin.selected .cmd-palette-item-label{color:#f9c74f}.cmd-palette-item-path{font-size:.78rem;color:var(--color-text-muted, #999);font-family:monospace}.cmd-palette-item.selected .cmd-palette-item-path{color:#fff9}.cmd-palette-footer{display:flex;gap:1rem;justify-content:center;padding:.5rem 1rem;border-top:1px solid var(--color-border, #e0e0e0);font-size:.75rem;color:var(--color-text-muted, #888)}.cmd-palette-footer kbd{background:var(--color-bg-page, #f5f5f5);border:1px solid var(--color-border, #ddd);border-radius:3px;padding:.05rem .3rem;font-size:.7rem;font-family:inherit}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg-page);color:var(--color-text-primary)}.app{max-width:1200px;margin:0 auto;padding:0 1rem}.app-header{background:linear-gradient(135deg,var(--color-navy-primary) 0%,var(--color-navy-dark) 50%,var(--color-navy-secondary) 100%);color:var(--color-text-on-dark);text-align:center;padding:1rem 1rem .75rem;margin:0 -1rem}.header-top{display:flex;justify-content:space-between;align-items:center}.header-right{display:flex;align-items:center;gap:.5rem}.app-header h1{margin:0;font-size:1.3rem;font-weight:700;letter-spacing:.5px;color:var(--color-gold)}.auth-section{display:flex;align-items:center;gap:.5rem}.auth-user-name{color:var(--color-text-on-dark-muted);font-size:.85rem;font-weight:500}.admin-badge{background:var(--color-gold);color:var(--color-navy-primary);font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.btn-logout{background:#ffffff26;color:var(--color-text-on-dark-muted);border:1px solid rgba(255,255,255,.25);padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:background var(--transition-normal)}.btn-logout:hover{background:#ffffff40;color:var(--color-text-on-dark)}.btn-theme-toggle{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background var(--transition-normal),transform var(--transition-normal);flex-shrink:0}.btn-theme-toggle:hover{background:#ffffff38;transform:rotate(15deg)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:20}.hamburger span{display:block;width:24px;height:2px;background:var(--color-text-on-dark);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.app-nav{display:flex;justify-content:center;gap:.25rem;margin-top:.75rem}.app-nav a{text-decoration:none;color:var(--color-text-on-dark-faint);font-weight:600;font-size:.9rem;padding:.45rem 1.25rem;border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:3px solid transparent;transition:background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.app-nav a:hover{background:#ffffff1a;color:var(--color-text-on-dark)}.app-nav a.active{background:var(--color-bg-page);color:var(--color-text-heading);border-bottom-color:var(--color-gold)}.app-nav a.nav-admin{color:#e67e22}.app-nav a.nav-admin:hover{color:#f39c12;background:#e67e2226}.app-nav a.nav-admin.active{color:#e67e22;border-bottom-color:#e67e22}.app-main{padding:1.5rem 0 3rem;animation:page-fade-in .3s ease-out}.rsvp-hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow-card)}.rsvp-hero-image{width:100%;display:block}.rsvp-hero-overlay{position:absolute;top:0;left:0;right:0;padding:1rem 1.25rem;background:linear-gradient(to bottom,rgba(22,33,62,.85) 0%,rgba(22,33,62,.6) 80%,transparent 100%)}.rsvp-hero-overlay .summary{margin-bottom:0}.rsvp-hero-overlay .summary h2{color:var(--color-gold);font-size:1.1rem;margin-bottom:.75rem}.rsvp-hero-overlay .summary-card{background:#ffffff26;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rsvp-hero-overlay .summary-number{color:var(--color-text-on-dark);font-size:1.6rem}.rsvp-hero-overlay .summary-label{color:var(--color-text-on-dark-muted)}.page-header{text-align:center;margin-bottom:1.5rem}.page-header h2{margin:0;font-size:1.6rem;color:var(--color-text-heading)}.page-header p{margin:.3rem 0 0;color:var(--color-text-muted);font-size:.95rem}@media(max-width:768px){.hamburger{display:flex}.app-nav{display:flex;flex-direction:column;overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .25s ease;margin-top:0}.app-nav.nav-open{max-height:500px;opacity:1;margin-top:.75rem}.app-nav a{border-radius:var(--radius-md);border-bottom:none;padding:.6rem 1rem;text-align:left}.app-nav a.active{background:#ffffff26;color:var(--color-gold);border-bottom:none}.app-nav a.nav-admin.active{color:#f39c12}}@media(max-width:480px){.header-top{flex-wrap:wrap;gap:.5rem}.app-header h1{font-size:1.1rem}.auth-user-name{display:none}}@media print{.app-header{display:none!important}}
