.hero{background:linear-gradient(135deg, var(--color-cream) 0%, var(--color-cream-light) 50%, var(--color-cream) 100%);min-height:100vh;padding:var(--space-4xl) var(--space-lg);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 80%,#c45c261a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#722f371a 0%,#0000 50%),radial-gradient(circle at 40% 40%,#d4af370d 0%,#0000 40%);position:absolute;inset:0}.hero__content{text-align:center;z-index:10;max-width:900px}.hero__subtitle{font-size:var(--text-2xl);color:var(--color-burnt-orange);margin-bottom:var(--space-lg)}@media (min-width:768px){.hero__subtitle{font-size:var(--text-3xl)}}.hero__names{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}@media (min-width:768px){.hero__names{justify-content:center;gap:var(--space-lg);flex-direction:row}}.hero__name{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--color-burgundy);font-weight:600;line-height:1.1}@media (min-width:768px){.hero__name{font-size:var(--text-5xl)}}.hero__name--bride{color:var(--color-burgundy)}.hero__name--groom{color:var(--color-burgundy-dark)}.hero__ampersand{font-family:var(--font-accent);font-size:var(--text-3xl);color:var(--color-gold)}@media (min-width:768px){.hero__ampersand{font-size:var(--text-4xl)}}.hero__ornament{justify-content:center;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.hero__ornament-line{background:linear-gradient(90deg, transparent, var(--color-gold), transparent);width:60px;height:2px}@media (min-width:768px){.hero__ornament-line{width:100px}}.hero__ornament-icon{color:var(--color-gold);font-size:var(--text-xl)}.hero__date{margin-bottom:var(--space-2xl);flex-direction:column;align-items:center;display:flex}.hero__date-day{font-family:var(--font-display);font-size:var(--text-5xl);color:var(--color-burgundy);font-weight:700;line-height:1}.hero__date-month{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-burnt-orange);text-transform:uppercase;letter-spacing:4px;font-weight:500}.hero__date-year{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-gray-700);letter-spacing:2px}.hero__photos{justify-content:center;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}@media (min-width:768px){.hero__photos{gap:var(--space-2xl)}}.hero__photo{text-align:center}.hero__photo-frame{border:3px solid var(--color-gold);border-radius:var(--radius-lg);background-color:var(--color-white);width:140px;height:180px;box-shadow:var(--shadow-lg);transition:transform var(--transition-base);overflow:hidden}@media (min-width:768px){.hero__photo-frame{width:180px;height:240px}}.hero__photo-frame:hover{transform:scale(1.05)}.hero__photo-placeholder{background:linear-gradient(135deg, var(--color-cream-light), var(--color-cream));width:100%;height:100%;color:var(--color-gray-500);flex-direction:column;justify-content:center;align-items:center;display:flex}.hero__photo-icon{margin-bottom:var(--space-sm);font-size:48px}@media (min-width:768px){.hero__photo-icon{font-size:64px}}.hero__photo-label{font-size:var(--text-xs);text-align:center;padding:0 var(--space-sm)}.hero__photo-name{font-family:var(--font-accent);font-size:var(--text-xl);color:var(--color-burgundy);margin-top:var(--space-sm)}.hero__photo-heart{width:48px;height:48px;color:var(--color-gold);animation:2s ease-in-out infinite pulse}@media (max-width:500px){.hero__photo-heart{display:none}}.hero__countdown{margin-bottom:var(--space-2xl)}.hero__countdown-label{font-size:var(--text-lg);color:var(--color-gray-700);margin-bottom:var(--space-lg)}.hero__cta{box-shadow:var(--shadow-lg)}.hero__cta:hover{box-shadow:var(--shadow-xl)}.hero__scroll-indicator{bottom:var(--space-xl);align-items:center;gap:var(--space-sm);color:var(--color-gray-500);font-size:var(--text-sm);flex-direction:column;animation:2s ease-in-out infinite float;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hero__scroll-indicator svg{width:24px;height:24px}.invitation-container{color:#1f1f1f;background:#f7f1e8;max-width:100%;margin:0 auto;font-family:Georgia,serif}.invite{background:#f7f1e8;max-width:1120px;margin:0 auto;position:relative;overflow:hidden}.invite__hero{margin-bottom:140px;padding:clamp(48px,3.2vw,44px);position:relative}@media (min-width:768px){.invite__hero{margin-bottom:420px}}.invite__hero-grid{grid-template-columns:1fr;align-items:start;gap:16px;display:grid}.invite__names{align-content:start;display:grid;position:relative}.invite__names-logo{width:50%;height:auto;display:block}.invite__name{letter-spacing:.02em;font-family:American Typewriter,Georgia,serif;font-size:clamp(56px,12vw,160px);font-weight:600;line-height:.95}.invite__amp{color:#869303;margin:-.15em 0;font-family:American Typewriter,Georgia,serif;font-size:clamp(84px,16vw,240px);font-weight:400;line-height:.9}.invite__photo{display:grid}.invite__hero-photo{object-fit:cover;width:75%;height:auto;min-height:clamp(220px,52vw,520px);display:block;position:absolute;top:0;right:0}@media (max-width:768px){.invite__hero-photo{width:85%}}.invite__intro{text-transform:uppercase;letter-spacing:.14em;max-width:30ch;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(12px,2.7vw,20px);font-weight:700;line-height:1.22}@media (min-width:768px){.invite__intro{margin-top:48px}}.invite__calendar{position:relative}.invite__calendar-grid{border:1px solid #00000073;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.invite__calendar-cell{text-align:center;border-bottom:1px solid #00000040;border-right:1px solid #00000040;position:relative}.invite__calendar-cell:last-child{border-right:none}.invite__calendar-cell--selected{background:0 0}.invite__calendar-weekday{text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid #00000040;padding:12px 0;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(10px,2.2vw,16px);font-weight:700}.invite__calendar-day{justify-content:center;align-items:center;padding:48px 32px;font-family:American Typewriter,Georgia,serif;font-size:clamp(54px,12vw,156px);font-weight:400;line-height:1;display:flex}.invite__calendar-cell--selected .invite__calendar-day{background-image:url(/heart.png);background-position:50%;background-repeat:no-repeat;background-size:clamp(40px,24vw,240px)}.invite__calendar-badge{flex-direction:column;align-items:center;margin-top:-48px;margin-bottom:24px;padding:0 10px;display:flex}.invite__calendar-badge-month,.invite__calendar-badge-year{text-transform:uppercase;letter-spacing:.18em;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(9px,2vw,14px);font-weight:700}.invite__section{padding:clamp(18px,3.2vw,44px);position:relative}.invite__title{margin:0 0 12px;font-family:American Typewriter,Georgia,serif;font-size:clamp(26px,5.5vw,64px);font-weight:600;line-height:1.1}@media (max-width:768px){.invite__title{text-align:center}}.invite__title--green{color:#869303}.invite__title--red{color:#b72c02}.invite__venue{flex-wrap:wrap;align-items:center;gap:14px;padding:8px 0;display:flex}@media (max-width:768px){.invite__venue{justify-content:center}}.invite__venue-logo{object-fit:contain;width:120px;min-width:120px;height:70px}.invite__venue-name{font-family:American Typewriter,Georgia,serif;font-size:clamp(20px,3.4vw,44px);font-weight:600;line-height:1.1}.invite__venue-address{text-transform:uppercase;letter-spacing:.12em;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(12px,2.2vw,18px);font-weight:700}.invite__date{text-transform:uppercase;letter-spacing:.18em;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(14px,2.8vw,22px);font-weight:700}@media (max-width:768px){.invite__date{text-align:center}}.invite__note{font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(14px,2.8vw,22px);font-weight:600;line-height:1.4}@media (max-width:768px){.invite__note{text-align:center}}.invite__after-note{margin:24px 0;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(14px,2.8vw,22px);font-weight:600;line-height:1.4}@media (max-width:768px){.invite__after-note{text-align:center}}.invite__final-note{text-align:center;text-transform:uppercase;margin-bottom:24px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(14px,2.8vw,22px);font-weight:600;line-height:1.4}@media (max-width:768px){.invite__final-note{text-align:center}}.invite__schedule{gap:24px;padding:20px 0;display:grid;position:relative}.invite__schedule:before{content:"";pointer-events:none;background:#000000d9;width:2px;position:absolute;top:55px;bottom:60px;left:50%;transform:translate(-50%)}.invite__schedule-row{grid-template-columns:1fr auto 1fr;align-items:flex-start;column-gap:8px;display:grid;position:relative}.invite__schedule-row:before{content:"";z-index:1;background:#000000d9;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.invite__schedule-row>:nth-child(2){width:0}.invite__schedule-note{text-transform:uppercase;letter-spacing:.12em;color:#333;padding:12px 16px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(10px,2vw,14px);font-weight:700;line-height:1.3}.invite__schedule-row:nth-child(odd) .invite__schedule-note{text-align:right;grid-column:1}.invite__schedule-row:nth-child(2n) .invite__schedule-note{text-align:left;grid-column:3}.invite__schedule-card{padding:8px 16px}.invite__schedule-row:nth-child(odd) .invite__schedule-card{text-align:left;grid-column:3}.invite__schedule-row:nth-child(2n) .invite__schedule-card{text-align:right;grid-column:1}.invite__schedule-event{font-family:American Typewriter,Courier New,serif;font-size:clamp(20px,5vw,48px);font-weight:600;line-height:1.05}.invite__schedule-event--olive{color:#869303}.invite__schedule-event--green{color:#036647}.invite__schedule-event--brick{color:#b72c02}.invite__schedule-event--orange{color:#f15a24}.invite__schedule-time{letter-spacing:.15em;color:#333;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(14px,2.8vw,20px);font-weight:700}.invite__autumn{flex-direction:column;gap:16px;padding:20px 0;display:flex}.invite__autumn-row{align-items:center;gap:16px;display:flex;position:relative}.invite__autumn-image{border-radius:4px;height:60px;overflow:hidden}@media (min-width:768px){.invite__autumn-image{height:80px}}.invite__autumn-image img{object-fit:cover;width:100%;height:100%}.invite__autumn-image--wide{width:80%}.invite__autumn-image--small{width:70%}.invite__autumn-heart{flex-shrink:0;width:32px;height:32px}.invite__autumn-heart img{object-fit:contain;width:100%;height:100%}.invite__autumn-row:first-child{justify-content:flex-start}.invite__autumn-row:first-child .invite__autumn-image{margin-left:auto}.invite__autumn-row--2{justify-content:space-between;padding-left:5%}.invite__autumn-row--2 .invite__autumn-image{width:75%}.invite__autumn-row--3{justify-content:space-between;padding-left:10%}.invite__autumn-row--4{padding-left:0;padding-right:5%}.invite__autumn-row--4 .invite__autumn-image{width:75%}.invite__autumn-row--5{justify-content:space-between}.invite__autumn-row--5 .invite__autumn-image{width:80%}.invite__autumn-row--5 .invite__autumn-heart{margin-left:auto}.invite__cta{margin-bottom:24px;padding:0 clamp(18px,3.2vw,44px) clamp(18px,3.2vw,44px)}.invite__cta-button{text-align:center;color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#f15a24;border-radius:999px;width:100%;padding:14px 18px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:clamp(14px,3.4vw,28px);font-weight:700;text-decoration:none;display:block}@media (min-width:768px){.invite__hero-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:4px}.invite__names-logo{width:min(100%,640px)}.invite__schedule-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:16px}}.rsvp-container{color:#1f1f1f;background:#f7f1e8;max-width:600px;min-height:100vh;margin:0 auto;padding:clamp(24px,5vw,48px);font-family:Sofia Sans,system-ui,-apple-system,sans-serif}.rsvp-header{text-align:center;margin-bottom:48px;position:relative}.back-button{text-transform:uppercase;letter-spacing:.1em;color:#036647;padding:8px 0;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700;text-decoration:none;transition:color .2s;position:absolute;top:0;left:0}.back-button:hover{color:#869303}.rsvp-header h1{color:#036647;margin:0;padding-top:32px;font-family:American Typewriter,Georgia,serif;font-size:clamp(28px,6vw,42px);font-weight:600;line-height:1.1}.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.spinner{border:3px solid #86930333;border-top-color:#869303;border-radius:50%;width:48px;height:48px;margin-bottom:24px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state p{text-transform:uppercase;letter-spacing:.14em;color:#666;font-size:14px;font-weight:700}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.error-icon{margin-bottom:16px;font-size:48px}.error-state p{text-transform:uppercase;letter-spacing:.1em;color:#b72c02;margin-bottom:24px;font-size:14px;font-weight:700}.retry-button{color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:#b72c02;border:none;border-radius:999px;padding:14px 32px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:700;transition:background .2s}.retry-button:hover{background:#8a2201}.search-section{margin-bottom:48px}.search-header{text-align:center;margin-bottom:32px}.search-header h2{color:#869303;margin:0 0 8px;font-family:American Typewriter,Georgia,serif;font-size:clamp(24px,5vw,36px);font-weight:600}.search-header p{text-transform:uppercase;letter-spacing:.12em;color:#666;margin:0;font-size:12px;font-weight:700}.search-container{margin-bottom:24px;position:relative}.search-input{box-sizing:border-box;background:#fff;border:2px solid #00000026;border-radius:12px;outline:none;width:100%;padding:18px 56px 18px 24px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:600;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:#869303;box-shadow:0 0 0 4px #8693031a}.search-input::placeholder{color:#999;font-weight:500}.search-icon{pointer-events:none;font-size:20px;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.guests-list{flex-direction:column;gap:8px;display:flex}.guest-item{cursor:pointer;background:#fff;border:2px solid #00000014;border-radius:12px;justify-content:space-between;align-items:center;padding:18px 24px;transition:all .2s;display:flex}.guest-item:hover{background:#03664708;border-color:#036647}.guest-name{color:#1f1f1f;font-family:American Typewriter,Georgia,serif;font-size:18px;font-weight:600}.select-arrow{color:#036647;font-size:20px;transition:transform .2s}.guest-item:hover .select-arrow{transform:translate(4px)}.no-results{text-align:center;background:#b72c020d;border:2px dashed #b72c0233;border-radius:12px;padding:40px 20px}.no-results p{color:#666;margin:0 0 8px;font-size:14px;font-weight:600}.no-results p:first-child{color:#b72c02}.form-section{margin-bottom:48px}.form-header{text-align:center;margin-bottom:40px}.form-header h2{color:#869303;margin:0 0 8px;font-family:American Typewriter,Georgia,serif;font-size:clamp(24px,5vw,36px);font-weight:600}.form-header p{text-transform:uppercase;letter-spacing:.12em;color:#666;margin:0;font-size:12px;font-weight:700}.rsvp-form{flex-direction:column;gap:32px;display:flex}.form-group{flex-direction:column;gap:12px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.14em;color:#333;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}.radio-group{flex-direction:column;gap:10px;display:flex}.radio-option{cursor:pointer;background:#fff;border:2px solid #0000001a;border-radius:12px;align-items:center;gap:14px;padding:16px 20px;transition:all .2s;display:flex}.radio-option:hover{border-color:#0003}.radio-option:has(input:checked){background:#03664708;border-color:#036647}.radio-option input[type=radio]{accent-color:#036647;cursor:pointer;width:20px;height:20px}.radio-text{color:#1f1f1f;font-family:American Typewriter,Georgia,serif;font-size:16px;font-weight:500}.form-textarea{resize:vertical;box-sizing:border-box;background:#fff;border:2px solid #0000001a;border-radius:12px;outline:none;width:100%;min-height:100px;padding:16px 20px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:15px;font-weight:500;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{border-color:#869303;box-shadow:0 0 0 4px #8693031a}.form-textarea::placeholder{color:#999}.form-actions{gap:12px;margin-top:16px;display:flex}.secondary-button{color:#036647;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:2px solid #036647;border-radius:999px;flex:1;padding:16px 24px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:700;transition:all .2s}.secondary-button:hover{color:#fff;background:#036647}.primary-button{color:#fff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:#f15a24;border:none;border-radius:999px;flex:2;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-family:Sofia Sans,system-ui,-apple-system,sans-serif;font-size:14px;font-weight:700;transition:background .2s;display:flex}.primary-button:hover:not(:disabled){background:#d94d1a}.primary-button:disabled{cursor:not-allowed;background:#ccc}.button-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.success-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.success-icon{margin-bottom:24px;font-size:64px}.success-section h2{color:#036647;margin:0 0 16px;font-family:American Typewriter,Georgia,serif;font-size:clamp(32px,7vw,48px);font-weight:600}.success-section p{color:#666;margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.5}.success-section p:last-child{color:#999;font-size:13px}@media (max-width:480px){.form-actions{flex-direction:column}.secondary-button,.primary-button{flex:none;width:100%}.back-button{text-align:left;margin-bottom:16px;display:block;position:relative}}.search-hint{text-align:center;padding:24px 16px}.search-hint p{color:#999;margin:0;font-size:13px;font-weight:600}.admin-container{background:#f5f5f5;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-section{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:400px;padding:3rem;box-shadow:0 20px 40px #0000001a}.login-card h1{color:#333;margin:0 0 1rem;font-size:2rem;font-weight:600}.login-card p{color:#666;margin:0 0 2rem;font-size:1rem}.login-form .form-group{text-align:left;margin-bottom:1.5rem}.login-form .form-group label{color:#555;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.login-form .form-input{border:2px solid #e0e0e0;border-radius:10px;width:100%;padding:.8rem 1rem;font-size:1rem;transition:border-color .2s}.login-form .form-input:focus{border-color:#667eea;outline:none}.login-form .error-message{color:#c33;background:#fee;border-radius:8px;margin-bottom:1.5rem;padding:.8rem;font-size:.9rem}.login-form .login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:transform .2s;display:flex}.login-form .login-button:hover:not(:disabled){transform:translateY(-2px)}.login-form .login-button:disabled{opacity:.7;cursor:not-allowed}.login-form .login-button .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.dashboard-section{min-height:100vh}.dashboard-header{z-index:100;background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 2rem;position:sticky;top:0}.dashboard-header .header-content{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.dashboard-header .header-content h1{color:#333;margin:0;font-size:1.5rem;font-weight:600}.dashboard-header .header-content .logout-button{color:#fff;cursor:pointer;background:#dc3545;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;transition:background .2s}.dashboard-header .header-content .logout-button:hover{background:#c82333}.stats-section{max-width:1400px;margin:0 auto;padding:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{text-align:center;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #0000001a}.stat-card .stat-number{color:#333;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.stat-card .stat-label{color:#666;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.stat-card.stat-attending .stat-number{color:#28a745}.stat-card.stat-not-attending .stat-number{color:#dc3545}.stat-card.stat-pending .stat-number{color:#ffc107}.food-stats{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 15px #0000001a}.food-stats h3{color:#333;margin:0 0 1rem;font-size:1.2rem;font-weight:600}.food-stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;display:grid}.food-stat{background:#f8f9fa;border-radius:8px;justify-content:space-between;align-items:center;padding:.8rem;display:flex}.food-stat .food-label{color:#555;font-size:.9rem}.food-stat .food-count{color:#333;font-size:1.1rem;font-weight:700}.controls-section{max-width:1400px;margin:0 auto;padding:0 2rem 2rem}.filters-row{background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 4px 15px #0000001a}.create-guest{flex:1;align-items:center;gap:.75rem;min-width:260px;display:flex}.inline-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.55rem .75rem;font-size:.9rem}.inline-input:focus{border-color:#667eea;outline:none}.actions-cell,.delete-cell{white-space:nowrap}.action-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;margin-right:.4rem;padding:.45rem .7rem;font-size:.8rem;transition:background .2s}.action-btn:hover:not(:disabled){background:#5469d4}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn.action-btn--ghost{color:#667eea;background:0 0;border:2px solid #667eea}.action-btn.action-btn--ghost:hover:not(:disabled){background:#667eea14}.action-btn.action-btn--danger{background:#dc3545}.action-btn.action-btn--danger:hover:not(:disabled){background:#c82333}.search-filter{flex:1;min-width:200px}.search-filter .search-input{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:.8rem 1rem;font-size:.9rem}.search-filter .search-input:focus{border-color:#667eea;outline:none}.filter-controls{gap:1rem;display:flex}.filter-select{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.8rem 1rem;font-size:.9rem}.filter-select:focus{border-color:#667eea;outline:none}.export-button{color:#fff;cursor:pointer;white-space:nowrap;background:#28a745;border:none;border-radius:8px;padding:.8rem 1.2rem;font-size:.9rem;transition:background .2s}.export-button:hover{background:#218838}.loading-state,.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.loading-state .spinner,.error-state .spinner{border:4px solid #667eea33;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.loading-state p,.error-state p{color:#666;margin-bottom:1rem;font-size:1.1rem}.loading-state .retry-button,.error-state .retry-button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;padding:.8rem 1.5rem;font-size:.9rem}.loading-state .retry-button:hover,.error-state .retry-button:hover{background:#5469d4}.table-section{max-width:1400px;margin:0 auto;padding:0 2rem 2rem}.table-container{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.guests-table{border-collapse:collapse;width:100%}.guests-table thead{background:#f8f9fa}.guests-table thead th{text-align:left;color:#333;border-bottom:2px solid #e0e0e0;padding:1rem;font-size:.9rem;font-weight:600}.guests-table tbody tr:hover{background:#f8f9fa}.guests-table tbody tr td{border-bottom:1px solid #f0f0f0;padding:1rem;font-size:.9rem}.guests-table tbody tr td:last-child{border-bottom:none}.name-cell{color:#333;font-weight:500}.status-badge{text-transform:uppercase;border-radius:20px;padding:.3rem .8rem;font-size:.8rem;font-weight:500}.status-badge.status-attending{color:#155724;background:#d4edda}.status-badge.status-not-attending{color:#721c24;background:#f8d7da}.status-badge.status-pending{color:#856404;background:#fff3cd}.notes-cell{max-width:300px}.notes-cell .notes-text{white-space:pre-wrap;word-break:break-word;display:block}.notes-cell .no-notes{color:#999;font-style:italic}.no-results{text-align:center;color:#666;padding:2rem;font-style:italic}@media (max-width:768px){.login-card{margin:1rem;padding:2rem}.dashboard-header{padding:1rem}.dashboard-header .header-content{text-align:center;flex-direction:column;gap:1rem}.dashboard-header .header-content h1{font-size:1.3rem}.stats-section,.controls-section,.table-section{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.filters-row{flex-direction:column;align-items:stretch}.filters-row .search-filter{min-width:auto}.filters-row .filter-controls{flex-direction:column}.filters-row .create-guest{min-width:auto}.table-container{overflow-x:auto}.guests-table{min-width:600px}.guests-table thead th,.guests-table tbody td{padding:.8rem .5rem;font-size:.8rem}}@media (max-width:480px){.stats-grid,.food-stats-grid{grid-template-columns:1fr}}:root{--color-burnt-orange:#c2703e;--color-burnt-orange-light:#d4896a;--color-burnt-orange-dark:#a55c32;--color-burgundy:#6b3a3a;--color-burgundy-light:#8b5a5a;--color-burgundy-dark:#4a2828;--color-gold:#c9a962;--color-gold-light:#dbc48a;--color-gold-dark:#a88b4a;--color-cream:#f8f5f0;--color-cream-light:#fffcf7;--color-cream-dark:#ede8e0;--color-olive:#7d8b4e;--color-olive-light:#9baa6e;--color-olive-dark:#5f6b3a;--color-forest:#2d4a3e;--color-forest-light:#3d6454;--color-forest-dark:#1d3028;--color-blush:#d4a574;--color-blush-light:#e8c4a0;--color-blush-dark:#b8865a;--color-white:#fff;--color-black:#1a1a1a;--color-gray-100:#f7f7f7;--color-gray-200:#ebebeb;--color-gray-300:#dedede;--color-gray-500:#999;--color-gray-700:#666;--color-gray-900:#333;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-accent:"Great Vibes", "Dancing Script", cursive;--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .375vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .625vw, 1.25rem);--text-xl:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--text-3xl:clamp(2rem, 1.5rem + 2.5vw, 3rem);--text-4xl:clamp(2.5rem, 2rem + 2.5vw, 4rem);--text-5xl:clamp(3rem, 2.5rem + 2.5vw, 5rem);--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--max-width:1200px;--header-height:80px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-gray-900);background-color:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;font-weight:400;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}
