@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap";.currency-picker{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-blush)}.currency-selector{display:flex;align-items:center;gap:.5rem}.currency-icon{font-size:1rem}.currency-select{flex:1;padding:6px 8px;border:1px solid var(--color-blush);border-radius:var(--radius-sm);background:var(--color-white);font-size:var(--text-sm);color:var(--color-secondary);cursor:pointer}.currency-select:focus{outline:none;border-color:var(--color-gold)}.settings-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;opacity:.7;transition:opacity .2s}.settings-btn:hover{opacity:1}.current-rate{font-size:var(--text-xs);color:var(--color-secondary);margin-top:.5rem;text-align:center;opacity:.8}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-white);border-radius:var(--radius-lg);padding:2rem;width:90%;max-width:400px;box-shadow:var(--shadow-lg)}.modal-content h3{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.5rem;color:var(--color-primary)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-secondary);margin-bottom:1.5rem}.rates-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.rate-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-secondary);border-radius:var(--radius-md)}.rate-row label{font-weight:600;color:var(--color-secondary)}.rate-input-group{display:flex;align-items:center;gap:.5rem}.rate-input-group span{font-size:var(--text-sm);color:var(--color-secondary)}.rate-input-group input{width:100px;padding:6px 8px;border:1px solid var(--color-blush);border-radius:var(--radius-sm);text-align:right;font-size:var(--text-sm)}.rate-input-group input:focus{outline:none;border-color:var(--color-gold)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-secondary{background:var(--color-blush);color:var(--color-secondary);border:none;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm)}.btn-secondary:hover{background:var(--color-cream)}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--color-white);border-right:1px solid var(--color-blush);display:flex;flex-direction:column;overflow-y:auto;z-index:100}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--color-blush);position:relative}.logout-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.4;transition:opacity var(--transition-fast),transform var(--transition-fast);padding:.5rem;line-height:1;z-index:10}.logout-btn:hover{opacity:1;transform:scale(1.1)}.sidebar-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:500;color:var(--color-primary);margin-bottom:var(--space-2)}.sidebar-date{font-size:var(--text-sm);color:var(--color-secondary)}.sidebar-tagline{padding:var(--space-4) var(--space-6);background:var(--color-blush);margin:var(--space-4);border-radius:var(--radius-md)}.sidebar-tagline p{font-size:var(--text-sm);color:var(--color-secondary);font-style:italic;line-height:1.5}.sidebar-countdown{display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-6);margin:0 var(--space-4) var(--space-4);background:linear-gradient(135deg,var(--color-burgundy),var(--color-rose));border-radius:var(--radius-lg);color:var(--color-white)}.countdown-number{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:600;line-height:1}.countdown-label{font-size:var(--text-sm);opacity:.9;margin-top:var(--space-1)}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-secondary);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:all var(--transition-fast)}.nav-item:hover{background:var(--color-blush);color:var(--color-primary)}.nav-item-active,.nav-item-active:hover{background:var(--color-burgundy);color:var(--color-white)}.nav-icon{font-size:var(--text-lg);width:24px;text-align:center}.nav-label{flex:1}.sidebar-footer{padding:var(--space-6);border-top:1px solid var(--color-blush);text-align:center}.couple-names{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--color-primary)}.ampersand{color:var(--color-rose);font-style:italic;margin:0 var(--space-2)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--color-rose-light);border-radius:var(--radius-full)}.layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--space-8);background:var(--color-champagne);min-height:100vh}.page-header{text-align:center;margin-bottom:var(--space-8)}.page-title{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:400;color:var(--color-primary)}.page-title span{font-style:italic;color:var(--color-burgundy)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media(max-width:1400px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:1200px){.grid-3{grid-template-columns:repeat(2,1fr)}.main-content{padding:var(--space-6)}}@media(max-width:992px){.sidebar{width:80px}.sidebar .sidebar-tagline,.sidebar .sidebar-header p,.sidebar .nav-label,.sidebar .sidebar-footer{display:none}.sidebar .sidebar-title{font-size:var(--text-lg);text-align:center}.sidebar .countdown-label{display:none}.main-content{margin-left:80px}.grid-2,.grid-3{grid-template-columns:1fr}}.mobile-menu-btn{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:200;background:var(--color-white);border:1px solid var(--color-blush);border-radius:var(--radius-md);padding:10px;cursor:pointer;flex-direction:column;gap:4px;box-shadow:0 2px 8px #00000014}.mobile-menu-btn span{display:block;width:20px;height:2px;background:var(--color-primary);border-radius:2px;transition:all .2s}.sidebar-backdrop{display:none}@media(max-width:768px){.mobile-menu-btn{display:flex}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{width:var(--sidebar-width);transform:translate(-100%);transition:transform .3s ease}.sidebar .sidebar-tagline,.sidebar .sidebar-header p,.sidebar .nav-label,.sidebar .sidebar-footer{display:revert}.sidebar .sidebar-title{font-size:var(--text-2xl);text-align:left}.sidebar .countdown-label{display:revert}.sidebar.sidebar-open{transform:translate(0)}.main-content{margin-left:0;padding:var(--space-4);padding-top:60px}.page-title{font-size:var(--text-3xl)}.page-header{flex-direction:column;gap:var(--space-3)}}.budget-lock-container{display:flex;justify-content:center;align-items:center;min-height:400px;padding:2rem;background:var(--color-bg)}.budget-lock-card{background:#fff;padding:3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;max-width:400px;width:100%}.lock-icon{font-size:3rem;margin-bottom:1rem}.budget-lock-card h2{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:.5rem}.budget-lock-card p{color:var(--color-secondary);margin-bottom:2rem;font-size:var(--text-sm)}.budget-password-input{width:100%;padding:.75rem;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);margin-bottom:1rem;font-size:1rem;text-align:center}.error-message{color:var(--color-error);font-size:var(--text-xs);margin-bottom:1rem}.unlock-btn{width:100%;padding:.75rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:background .2s}.unlock-btn:hover{background:var(--color-primary-dark)}.dashboard{max-width:1400px;margin:0 auto}.hero-section{margin-bottom:var(--space-8)}.couple-hero{display:flex;justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.photo-gallery{display:flex;gap:var(--space-4)}.photo-frame{width:140px;height:180px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.photo-frame:hover img{transform:scale(1.05)}.couple-info{text-align:center;padding:var(--space-6)}.partner-name{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;letter-spacing:.15em;color:var(--color-primary);margin:var(--space-2) 0}.and-text{font-family:var(--font-serif);font-size:var(--text-lg);font-style:italic;color:var(--color-rose);margin:var(--space-3) 0}.wedding-date{font-size:var(--text-sm);letter-spacing:.1em;color:var(--color-secondary);margin-top:var(--space-4)}.countdown{font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;color:var(--color-burgundy);margin-top:var(--space-2)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.tasks-card{grid-column:1}.budget-card{grid-column:2}.guest-card,.vendor-card{grid-column:span 1}.events-card{grid-column:span 2}.budget-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.budget-stat{text-align:center;padding:var(--space-4);background:var(--color-blush);border-radius:var(--radius-md)}.stat-value{display:block;font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;color:var(--color-primary)}.stat-label{font-size:var(--text-xs);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.budget-progress{margin-top:var(--space-4)}.guest-content{display:flex;gap:var(--space-6);align-items:center}.guest-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.guest-stat{text-align:center;padding:var(--space-2)}.stat-number{display:block;font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;color:var(--color-primary)}.stat-text{font-size:var(--text-xs);color:var(--color-secondary)}.guest-chart{flex:1;min-width:150px}.vendor-legend{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.legend-item{display:flex;align-items:center;gap:var(--space-2)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-full)}.legend-label{flex:1;font-size:var(--text-sm);color:var(--color-secondary)}.legend-value{font-weight:600;color:var(--color-primary)}.events-grid{display:flex;justify-content:space-around;flex-wrap:wrap;gap:var(--space-6);padding:var(--space-4) 0}.event-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.event-circle{width:80px;height:80px}.circular-chart{display:block;max-width:100%;max-height:100%}.circle-bg{fill:none;stroke:var(--color-blush);stroke-width:3}.circle-fill{fill:none;stroke:var(--color-burgundy);stroke-width:3;stroke-linecap:round;animation:progress 1s ease-out forwards}@keyframes progress{0%{stroke-dasharray:0 100}}.circular-chart .percentage{fill:var(--color-primary);font-family:var(--font-serif);font-size:.5em;text-anchor:middle;font-weight:600}.event-name{font-size:var(--text-sm);font-weight:500;color:var(--color-primary);text-align:center}.event-label{font-size:var(--text-xs);color:var(--color-secondary)}.task-type{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-secondary)}.overdue-row{background:#c0392b0d}.overdue-date{color:#c0392b;font-weight:600}.empty-state{text-align:center;padding:var(--space-8);color:var(--color-secondary)}.empty-state p{font-size:var(--text-lg);margin-bottom:var(--space-3)}.link{color:var(--color-burgundy);text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}@media(max-width:1200px){.couple-hero{flex-direction:column;gap:var(--space-6)}.photo-gallery{justify-content:center}.dashboard-grid{grid-template-columns:1fr}.tasks-card,.budget-card,.guest-card,.vendor-card,.events-card{grid-column:1}}@media(max-width:768px){.photo-frame{width:100px;height:130px}.partner-name{font-size:var(--text-2xl)}.budget-stats{grid-template-columns:1fr}.guest-content{flex-direction:column}.events-grid{gap:var(--space-4)}.event-circle{width:60px;height:60px}}.budget-page{max-width:1400px;margin:0 auto}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.summary-card{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm)}.summary-value{display:block;font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;color:var(--color-primary);margin-bottom:var(--space-2)}.summary-label{font-size:var(--text-sm);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.charts-section{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.chart-card{min-height:350px}.chart-card .card-header{text-align:center;font-size:var(--text-sm);letter-spacing:.1em;color:var(--color-secondary);margin-bottom:var(--space-6)}.pie-chart-container{display:flex;align-items:center;gap:var(--space-4)}.pie-legend{flex:0 0 45%;display:flex;flex-direction:column;gap:var(--space-2)}.legend-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}.legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-name{flex:1;color:var(--color-secondary)}.legend-percent{font-weight:600;color:var(--color-primary)}.pie-chart{flex:1}.bar-chart-container{width:100%}.budget-table-section .card{padding:0;overflow:hidden}.budget-table{margin:0}.budget-table th{background:var(--color-blush);font-weight:600}.budget-table td,.budget-table th{padding:var(--space-3) var(--space-4);white-space:nowrap}.text-right{text-align:right}.category-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-burgundy)}.totals-row{background:var(--color-champagne)}.totals-row td{border-top:2px solid var(--color-gold-light);font-weight:600}.editing-row input{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);box-sizing:border-box}.editing-row input:focus{outline:none;border-color:var(--color-gold)}.editing-row input[type=number]{width:100px}.editing-row input[type=date]{width:130px}.sortable{cursor:pointer}.sortable:hover{color:var(--color-burgundy)}@media(max-width:1200px){.summary-cards{grid-template-columns:repeat(2,1fr)}.charts-section{grid-template-columns:1fr}.pie-chart-container{flex-direction:column}.pie-legend{flex:none;width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center}.legend-row{flex:0 0 auto;padding:var(--space-1) var(--space-2)}}@media(max-width:768px){.summary-cards{grid-template-columns:1fr}.summary-value{font-size:var(--text-2xl)}.budget-table td,.budget-table th{padding:var(--space-2);font-size:var(--text-xs)}}.venues-page{max-width:1400px;margin:0 auto}.venue-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-bottom:var(--space-10)}.venue-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-4)}.venue-card.selected{background:var(--color-blush);border-radius:var(--radius-lg)}.venue-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.venue-number{font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;font-weight:400;color:var(--color-primary)}.venue-image-wrapper{width:100%;max-width:180px;margin-bottom:var(--space-4)}.arch-frame{position:relative;width:100%;padding-bottom:140%;border-radius:50% 50% 0 0/30% 30% 0 0;overflow:hidden;box-shadow:var(--shadow-md)}.arch-frame img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.venue-card:hover .arch-frame img{transform:scale(1.05)}.venue-name{font-size:var(--text-sm);color:var(--color-secondary);text-align:center}.venue-info-section{margin-bottom:var(--space-8)}.section-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-style:italic;font-weight:400;text-align:center;color:var(--color-primary);margin-bottom:var(--space-6)}.comparison-table{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-4);overflow-x:auto;box-shadow:var(--shadow-sm)}.comparison-table table{width:100%;min-width:800px}.comparison-table th,.comparison-table td{padding:var(--space-3) var(--space-4);text-align:center;border-bottom:1px solid var(--color-blush);font-size:var(--text-sm)}.comparison-table th{font-weight:600;color:var(--color-primary);background:var(--color-champagne)}.comparison-table .label-column,.comparison-table .label-cell{text-align:left;font-weight:500;color:var(--color-secondary);width:200px;background:var(--color-champagne)}.comparison-table .selected-column{background:#be7b7b1a;font-weight:500}.comparison-table tbody tr:last-child td{border-bottom:none}@media(max-width:1200px){.venue-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.venue-cards{grid-template-columns:1fr}.venue-image-wrapper{max-width:150px}.comparison-table{padding:var(--space-2)}}.venue-card-actions{display:flex;gap:.5rem;margin-top:var(--space-2)}.add-venue-card{border:2px dashed var(--color-gold-light);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:280px;transition:all .2s ease}.add-venue-card:hover{border-color:var(--color-gold);background:var(--color-champagne)}.add-venue-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-secondary)}.add-icon{font-size:2rem;color:var(--color-gold)}.comparison-table input[type=text],.comparison-table input[type=number],.comparison-table select{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);box-sizing:border-box}.comparison-table input:focus,.comparison-table select:focus{outline:none;border-color:var(--color-gold)}.comparison-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.loading-container{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:var(--text-lg);color:var(--color-secondary)}.guests-page{min-width:0;max-width:1600px;margin:0 auto}.guests-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-8)}.summary-card{padding:var(--space-5)}.readiness-card{grid-column:span 2;padding:var(--space-5);border-left:4px solid var(--color-gold)}.readiness-card.is-ready{border-left-color:var(--color-success)}.readiness-heading{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;margin-bottom:var(--space-4)}.readiness-heading .summary-title{margin:0;text-align:left}.readiness-kicker{display:block;margin-bottom:var(--space-1);color:var(--color-secondary);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.readiness-status{padding:.35rem .65rem;border-radius:var(--radius-full);color:var(--color-primary);background:var(--color-champagne);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.readiness-card.is-ready .readiness-status{color:#365132;background:#7d9a7833}.readiness-card>p,.readiness-issues p{margin:0;color:var(--color-secondary);line-height:1.55}.readiness-issues{display:grid;gap:var(--space-4)}.readiness-issues strong{display:block;margin-bottom:var(--space-1);color:var(--color-primary)}.readiness-issues small{color:var(--color-secondary)}.summary-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;text-align:center;color:var(--color-primary);margin-bottom:var(--space-4)}.attendance-content{display:flex;gap:var(--space-4);align-items:center}.attendance-stats{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.stat-item{display:flex;flex-direction:column;text-align:left}.stat-number{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;color:var(--color-primary);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--color-secondary)}.attendance-chart{flex:1;display:flex;flex-direction:column;align-items:center;min-width:250px;height:160px}.chart-legend{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-secondary)}.legend-dot{width:8px;height:8px;border-radius:var(--radius-full)}.dietary-chart{margin-top:var(--space-2)}.events-summary{display:flex;flex-direction:column}.other-events-grid{display:flex;justify-content:space-around;gap:var(--space-4);margin-top:auto}.event-summary-item{display:flex;flex-direction:column;align-items:center;text-align:center}.event-title{font-size:var(--text-sm);font-weight:500;color:var(--color-primary);margin-bottom:var(--space-2)}.event-circle-small{width:60px;height:60px;border:3px solid var(--color-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.circle-number{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:600;color:var(--color-primary)}.event-subtitle{font-size:var(--text-xs);color:var(--color-secondary)}.event-note{font-size:var(--text-xs);color:var(--color-secondary);opacity:.7}.guests-table-section .card{min-width:0;max-width:100%;padding:0;overflow:hidden}.table-scroll-top{height:18px;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-color:var(--color-burgundy) var(--color-blush);scrollbar-gutter:stable}.table-scroll-top:focus-visible{outline:2px solid var(--color-gold);outline-offset:-2px}.table-scroll-top::-webkit-scrollbar{height:12px}.table-scroll-top::-webkit-scrollbar-track{background:var(--color-blush)}.table-scroll-top::-webkit-scrollbar-thumb{background:var(--color-burgundy);border:2px solid var(--color-blush);border-radius:999px}.table-scroll-top-track{height:1px}.table-scroll{position:relative;overflow:auto;overscroll-behavior:contain;max-width:100%;max-height:clamp(560px,72vh,780px);scrollbar-color:var(--color-burgundy) var(--color-blush);scrollbar-gutter:stable}.table-scroll::-webkit-scrollbar{width:12px;height:12px}.table-scroll::-webkit-scrollbar-track{background:var(--color-blush)}.table-scroll::-webkit-scrollbar-thumb{background:var(--color-burgundy);border:2px solid var(--color-blush);border-radius:999px}.guests-table{min-width:1700px;border-collapse:collapse}.guests-table th,.guests-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-align:left;border-bottom:1px solid var(--color-blush);white-space:nowrap}.guests-table th{background:var(--color-blush);font-weight:600;color:var(--color-secondary);position:sticky;top:0;z-index:10}.guests-table thead tr:first-child th{top:0;z-index:20;height:40px}.guests-table thead tr:nth-child(2) th{top:40px;z-index:10;background:var(--color-white);border-bottom:2px solid var(--color-blush)}.header-group{text-align:center;background:var(--color-champagne)!important;border-bottom:1px solid var(--color-gold-light);font-family:var(--font-serif);font-size:var(--text-sm);font-weight:500;color:var(--color-primary)}.row-number-col,.row-number-cell{width:48px;min-width:48px;text-align:center!important;color:var(--color-secondary);font-variant-numeric:tabular-nums}.row-number-cell{background:var(--color-white);font-weight:600}.guests-table tbody tr:hover .row-number-cell,.guests-table .editing-row .row-number-cell{background:var(--color-blush)}.name-cell{font-weight:500;color:var(--color-primary);min-width:140px}.address-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis}.email-link{color:var(--color-burgundy);text-decoration:underline}.email-link:hover{color:var(--color-rose)}.checkbox-cell{text-align:center;width:40px}.table-checkbox{appearance:none;width:16px;height:16px;border:2px solid var(--color-gold);border-radius:3px;background:var(--color-white);cursor:pointer;position:relative}.table-checkbox:checked{background:var(--color-burgundy);border-color:var(--color-burgundy)}.table-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-white);font-size:10px;font-weight:700}.guests-table tbody tr:hover{background:var(--color-blush)}.action-col{position:sticky!important;right:0;z-index:30!important;width:96px;min-width:96px;text-align:center;background:var(--color-white)!important;box-shadow:-8px 0 16px #4a4a6814}.action-cell{position:sticky;right:0;z-index:5;width:96px;min-width:96px;background:var(--color-white);box-shadow:-8px 0 16px #4a4a6814}.guests-table tbody tr:hover .action-cell,.guests-table .editing-row .action-cell{background:var(--color-blush)}.row-actions{display:flex;gap:var(--space-2);justify-content:center;align-items:center}.guests-table .icon-btn{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-secondary);background:transparent;cursor:pointer;font-size:1rem;line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.guests-table .icon-btn:hover,.guests-table .icon-btn:focus-visible{border-color:var(--color-gold-light);background-color:var(--color-champagne);outline:none}.guests-table .save-btn:hover,.guests-table .save-btn:focus-visible{background-color:#7d9a7833}.guests-table .cancel-btn:hover,.guests-table .cancel-btn:focus-visible,.guests-table .delete-btn:hover,.guests-table .delete-btn:focus-visible{background-color:#c45c5c33}.guests-table .confirm-delete-btn{color:var(--color-white);background:var(--color-burgundy)}.guests-table .confirm-delete-btn:hover,.guests-table .confirm-delete-btn:focus-visible{color:var(--color-white);background:var(--color-primary)}.guests-table .icon-btn:disabled{cursor:wait;opacity:.65}.guest-delete-error{padding:.75rem 1rem;margin:0;border-bottom:1px solid rgba(196,92,92,.25);color:var(--color-burgundy);background:#c45c5c1f;font-size:var(--text-sm)}.guests-table input[type=text],.guests-table input[type=email],.guests-table select{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-sans);background:var(--color-white)}.guests-table select{background-image:none;min-width:100px}.mini-input{margin-left:8px;width:80px!important;display:inline-block!important}.editing-row{background-color:#fff9f9!important;border-left:3px solid var(--color-rose)}.website-rsvp-mode{display:inline-flex;padding:.3rem .55rem;border-radius:var(--radius-full);color:var(--color-primary);background:var(--color-blush);font-size:var(--text-xs);font-weight:600;text-transform:capitalize}.website-rsvp-mode.mode-in-person{color:#365132;background:#7d9a7833}.website-rsvp-mode.mode-online{color:var(--color-burgundy);background:#be7b7b2e}.expected-attendance{display:inline-flex;padding:.3rem .55rem;border-radius:var(--radius-full);color:var(--color-secondary);background:var(--color-champagne);font-size:var(--text-xs);font-weight:600}.expected-attendance.expected-in-person{color:#365132;background:#7d9a7833}.expected-attendance.expected-online{color:var(--color-burgundy);background:#be7b7b2e}@media(max-width:1200px){.guests-summary{grid-template-columns:1fr}.attendance-content{flex-direction:column}.attendance-stats{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.stat-item{text-align:center}}@media(max-width:768px){.other-events-grid{flex-direction:column;align-items:center}}.tabs{display:flex;gap:.5rem;background:var(--color-blush);padding:4px;border-radius:var(--radius-md)}.tab-btn{padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-secondary);background:transparent;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#ffffff80}.tab-btn.active{background:var(--color-white);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.vendors-page{padding:2rem}.page-header{margin-bottom:2rem}.vendors-summary{margin-bottom:2rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-stat{background:var(--color-white);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-label{font-size:var(--text-sm);color:var(--color-secondary);margin-top:.25rem}.stat-value.confirmed{color:var(--color-success)}.stat-value.shortlisted{color:var(--color-secondary)}.vendors-table-section{margin-top:1.5rem}.search-input{padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-md);flex:1;max-width:300px;font-size:var(--text-sm)}.vendors-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.vendors-table th,.vendors-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-blush)}.vendors-table thead{background:var(--color-cream)}.vendors-table th{font-weight:600;color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.vendors-table th.sortable{cursor:pointer}.vendors-table th.sortable:hover{color:var(--color-primary)}.vendors-table tbody tr:hover{background:var(--background-secondary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500;text-transform:capitalize}.status-badge.confirmed{background:#7d9a7826;color:#558b44}.status-badge.shortlisted{background:#4a4a681a;color:var(--color-secondary)}.status-badge.not-selected{background:#722f371a;color:var(--color-burgundy)}.category-badge{display:inline-block;padding:4px 8px;background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-secondary)}.money-cell{font-family:Roboto Mono,monospace;color:var(--color-secondary)}.contact-link{color:var(--color-burgundy);text-decoration:none}.contact-link:hover{text-decoration:underline}.social-link{color:var(--color-secondary);text-decoration:none;font-size:var(--text-xs);display:inline-block;margin-top:2px}.social-link:hover{color:var(--color-burgundy)}@media(max-width:768px){.vendors-page{padding:1rem}.table-controls{flex-direction:column}.search-input{max-width:100%}}.tasks-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.page-title{font-family:var(--font-serif);font-size:2.5rem;font-weight:400}.page-title span{font-style:italic;color:var(--color-gold)}.tasks-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.summary-stat{background:var(--color-white);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);display:block}.stat-label{font-size:var(--text-xs);color:var(--color-secondary);margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}.stat-value.completed{color:var(--color-success)}.stat-value.in-progress{color:var(--color-gold)}.stat-value.on-hold{color:var(--color-secondary)}.stat-value.overdue{color:#c0392b}.tasks-table-section{margin-top:1.5rem}.table-controls{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;border-bottom:1px solid var(--color-blush);align-items:center}.search-input{padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-md);flex:1;max-width:250px;font-size:var(--text-sm)}.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-white)}.table-scroll{overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.tasks-table th,.tasks-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-blush)}.tasks-table thead{background:var(--color-cream)}.tasks-table th{font-weight:600;color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.tasks-table th.sortable{cursor:pointer}.tasks-table th.sortable:hover{color:var(--color-primary)}.tasks-table tbody tr:hover{background:var(--background-secondary)}.type-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500}.type-badge.diy-assembly{background:#c9a95926;color:#b8940e}.type-badge.to-do{background:#722f371a;color:var(--color-burgundy)}.type-badge.follow-up{background:#4a4a681a;color:var(--color-secondary)}.type-badge.decision-needed{background:#c0392b1a;color:#c0392b}.type-badge.appointment{background:#7d9a7826;color:#558b44}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500}.status-badge.not-started{background:#4a4a681a;color:var(--color-secondary)}.status-badge.in-progress{background:#c9a95926;color:#b8940e}.status-badge.on-hold{background:#c0392b1a;color:#c0392b}.status-badge.completed{background:#7d9a7826;color:#558b44}.status-badge.cancelled{background:#0000000d;color:#666;text-decoration:line-through}.owner-badge{display:inline-block;padding:2px 8px;background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-secondary)}.due-date{font-size:var(--text-sm)}.due-date.overdue{color:#c0392b;font-weight:600}.due-date.soon{color:#b8940e}.action-cell{white-space:nowrap}.icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;border-radius:var(--radius-sm);transition:background-color .2s ease}.icon-btn:hover{background:var(--color-blush)}.save-btn:hover{background:#7d9a7833}.cancel-btn:hover,.delete-btn:hover{background:#722f3726}.editing-row{background:var(--background-secondary)}.editing-row input,.editing-row select{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);box-sizing:border-box}.editing-row input:focus,.editing-row select:focus{outline:none;border-color:var(--color-gold)}.editing-row input[type=date]{width:140px}.card-footer{padding:1rem;text-align:right;border-top:1px solid var(--color-blush)}.notes-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-secondary);font-size:var(--text-xs)}@media(max-width:768px){.tasks-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.table-controls{flex-direction:column}.search-input{max-width:100%}.tasks-summary{grid-template-columns:repeat(2,1fr)}}.timeline-page{max-width:1000px;margin:0 auto}.timeline-container{position:relative;padding:var(--space-8) 0;margin-top:var(--space-4)}.timeline-container:before{content:"";position:absolute;left:120px;top:0;bottom:0;width:2px;background:var(--color-blush)}.timeline-item{display:flex;margin-bottom:var(--space-8);position:relative}.timeline-time{width:100px;text-align:right;padding-right:var(--space-6);font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;color:var(--color-primary);line-height:1.2}.timeline-date-label{font-size:var(--text-xs);color:var(--color-secondary);font-weight:400;margin-top:var(--space-1);opacity:.8}.timeline-dot{position:absolute;left:121px;top:6px;width:12px;height:12px;border-radius:50%;transform:translate(-50%);z-index:1;border:2px solid white;box-shadow:0 0 0 2px var(--color-blush)}.timeline-content{flex:1;margin-left:var(--space-10);padding:var(--space-4) var(--space-6);transition:transform .2s,box-shadow .2s}.timeline-content:hover{transform:translate(5px);box-shadow:var(--shadow-md)}.event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.event-category{font-size:var(--text-xs);font-weight:700;letter-spacing:.05em}.event-title{font-family:var(--font-serif);font-size:var(--text-xl);color:var(--color-primary);margin-bottom:var(--space-2)}.event-location{font-size:var(--text-sm);color:var(--color-secondary);margin-bottom:var(--space-2);font-weight:500}.event-description{font-size:var(--text-sm);color:var(--color-text);line-height:1.5}.event-actions{display:flex;gap:var(--space-2);opacity:0;transition:opacity .2s}.timeline-content:hover .event-actions{opacity:1}.event-actions button{background:none;border:none;cursor:pointer;font-size:var(--text-base);padding:var(--space-1);border-radius:var(--radius-sm)}.event-actions button:hover{background:var(--color-blush)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;padding:var(--space-8);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg)}.modal-content h2{font-family:var(--font-serif);margin-bottom:var(--space-6);color:var(--color-primary)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-1);color:var(--color-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-blush);border-radius:var(--radius-sm);font-family:inherit}.form-group textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6)}.tab-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.tab-btn.active:hover{box-shadow:0 4px 8px #722f374d}@media(max-width:768px){.timeline-container:before{left:20px}.timeline-dot{left:21px}.timeline-time{width:80px;font-size:var(--text-sm);padding-right:var(--space-4)}.timeline-content{margin-left:40px}.tabs-container{flex-wrap:wrap;gap:.5rem!important}.tab-btn{padding:.4rem 1rem!important;font-size:var(--text-sm)}}.calendar-page{max-width:1200px;margin:0 auto}.calendar-main-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--space-8);margin-top:var(--space-6);align-items:start}.calendar-controls{display:flex;align-items:center;gap:var(--space-6)}.calendar-controls h2{font-family:var(--font-serif);color:var(--color-primary);min-width:200px;text-align:center}.btn-icon{background:none;border:none;font-size:var(--text-xl);color:var(--color-primary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-full);transition:background .2s}.btn-icon:hover{background:var(--color-blush)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-blush);border:1px solid var(--color-blush);border-radius:var(--radius-lg);overflow:hidden}.calendar-header-day{background:#fff;padding:var(--space-3);text-align:center;font-weight:600;font-size:var(--text-xs);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-blush)}.calendar-day{background:#fff;min-height:100px;padding:var(--space-2);display:flex;flex-direction:column;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.calendar-day:hover{background:var(--color-bg);border-color:var(--color-blush)}.calendar-day.selected{border-color:var(--color-primary);background:var(--color-bg)}.calendar-day.empty{background:var(--color-bg);cursor:default}.calendar-day.today{background:snow}.calendar-day.today .day-number{background:var(--color-burgundy);color:#fff;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.day-number{font-size:var(--text-sm);font-weight:600;color:var(--color-secondary)}.day-indicators{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:4px}.indicator{width:10px;height:10px;border-radius:50%;box-shadow:0 1px 2px #0000001a}.indicator.task{background-color:var(--color-rose)}.indicator.payment{background-color:var(--color-gold)}.indicator.appointment{background-color:var(--color-secondary)}.indicator.meeting{background-color:#7d9a78}.indicator.milestone{background-color:var(--color-primary)}.details-section{display:flex;flex-direction:column;gap:var(--space-6)}.day-details,.monthly-overview{padding:var(--space-6)}.details-header,.overview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);border-bottom:1px solid var(--color-blush);padding-bottom:var(--space-2)}.details-header h3,.overview-header h3{font-family:var(--font-serif);color:var(--color-primary);font-size:var(--text-lg);margin:0}.view-toggle{display:flex;background:var(--color-bg);border-radius:20px;padding:2px;border:1px solid var(--color-blush)}.toggle-btn{background:none;border:none;padding:4px 12px;border-radius:18px;font-size:var(--text-xs);font-weight:600;color:var(--color-secondary);cursor:pointer;transition:all .2s}.toggle-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.details-list,.overview-list{display:flex;flex-direction:column;gap:var(--space-3);max-height:400px;overflow-y:auto}.detail-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);position:relative;border-left:4px solid #ccc}.detail-item.task{border-left-color:var(--color-rose)}.detail-item.payment{border-left-color:var(--color-gold)}.detail-item.appointment{border-left-color:var(--color-secondary)}.detail-item.meeting{border-left-color:#7d9a78}.detail-item.milestone{border-left-color:var(--color-primary)}.item-icon{font-size:1.2rem}.item-title{font-weight:600;color:var(--color-primary);margin:0}.item-meta{font-size:.8rem;color:var(--color-secondary);margin:0}.item-actions{margin-left:auto;display:flex;gap:8px;opacity:.5}.detail-item:hover .item-actions{opacity:1}.item-actions button{background:none;border:none;cursor:pointer;font-size:1rem;padding:2px}.overview-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-bg)}.overview-date{font-weight:700;color:var(--color-primary);min-width:25px}.overview-title{flex:1;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-tag{font-size:.7rem;text-transform:uppercase;font-weight:700;padding:2px 6px;border-radius:10px}.cat-tag.task{background:#fdf2f2;color:var(--color-rose)}.cat-tag.payment{background:#fefcf0;color:#b7791f}.cat-tag.event{background:#f0f7f0;color:#2f855a}.calendar-legend{margin-top:var(--space-6);padding:var(--space-4)}.calendar-legend h3{font-family:var(--font-serif);font-size:var(--text-base);margin-bottom:var(--space-3)}.legend-items{display:flex;flex-wrap:wrap;gap:var(--space-4)}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:var(--space-2)}.dot.task{background:var(--color-rose)}.dot.payment{background:var(--color-gold)}.dot.appointment{background:var(--color-secondary)}.dot.meeting{background:#7d9a78}.dot.milestone{background:var(--color-primary)}@media(max-width:1024px){.calendar-main-layout{grid-template-columns:1fr}.details-section{order:-1}}@media(max-width:768px){.calendar-day{min-height:70px}.calendar-controls h2{min-width:150px;font-size:var(--text-lg)}}.moodboard-page{max-width:1400px;margin:0 auto}.category-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8);justify-content:center}.category-tabs .tab-btn{padding:.5rem 1.25rem;border-radius:20px;border:1px solid var(--color-blush);background:transparent;color:var(--color-secondary);cursor:pointer;font-weight:500;font-size:var(--text-sm);transition:all .2s ease}.category-tabs .tab-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.category-tabs .tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.moodboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.moodboard-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;aspect-ratio:3/4;box-shadow:var(--shadow-md);transition:transform .3s ease,box-shadow .3s ease}.moodboard-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.card-image{width:100%;height:100%;object-fit:cover;display:block}.card-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--space-4);background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);color:#fff;transform:translateY(100%);transition:transform .3s ease}.moodboard-card:hover .card-overlay{transform:translateY(0)}.card-category{display:inline-block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--color-gold);color:var(--color-primary);padding:2px 8px;border-radius:10px;margin-bottom:var(--space-2)}.card-title{font-family:var(--font-serif);font-size:var(--text-lg);margin-bottom:var(--space-1)}.card-notes{font-size:var(--text-sm);opacity:.8;line-height:1.4;max-height:3rem;overflow:hidden;text-overflow:ellipsis}.moodboard-card .delete-btn{position:absolute;top:var(--space-2);right:var(--space-2);background:#ffffffe6;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.moodboard-card:hover .delete-btn{opacity:1}.moodboard-card .delete-btn:hover{background:var(--color-rose)}.empty-state{text-align:center;padding:var(--space-12);max-width:400px;margin:var(--space-8) auto}.empty-state p{color:var(--color-secondary);margin-bottom:var(--space-4)}@media(max-width:768px){.moodboard-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4)}.category-tabs{gap:var(--space-1)}.category-tabs .tab-btn{padding:.4rem .8rem;font-size:var(--text-xs)}}.seating-page{max-width:1400px;margin:0 auto}.event-tabs{display:flex;gap:var(--space-2)}.event-tabs .tab-btn{padding:.5rem 1.5rem;border-radius:20px;border:1px solid var(--color-blush);background:transparent;color:var(--color-secondary);cursor:pointer;font-weight:600;font-size:var(--text-sm);transition:all .2s ease}.event-tabs .tab-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.event-tabs .tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.seating-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{text-align:center;padding:var(--space-4)}.stat-number{display:block;font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:700;color:var(--color-primary)}.stat-label{font-size:var(--text-sm);color:var(--color-secondary)}.seating-layout{display:grid;grid-template-columns:1fr 340px;gap:var(--space-6);align-items:start}.hall-container{padding:var(--space-6)}.hall-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.hall-header h3{font-family:var(--font-serif);color:var(--color-primary);font-size:var(--text-lg)}.hall-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.btn-outline{background:transparent;border:1px solid var(--color-blush);color:var(--color-secondary);padding:.4rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:all .2s}.btn-outline:hover{border-color:var(--color-rose);color:var(--color-rose)}.stage-label{text-align:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-burgundy) 100%);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);letter-spacing:.05em;margin-bottom:var(--space-4)}.hall-grid{position:relative;width:100%;padding-top:100%;background:linear-gradient(180deg,#fdf8f5,#fef6f0);border:2px solid var(--color-blush);border-radius:var(--radius-lg);overflow:visible}.aisle-line{position:absolute;left:50%;top:4%;height:20%;width:2px;background:repeating-linear-gradient(to bottom,var(--color-blush) 0px,var(--color-blush) 8px,transparent 8px,transparent 16px);transform:translate(-50%);z-index:1}.aisle-label{position:absolute;left:50%;top:22%;transform:translate(-50%);font-size:.6rem;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.1em;z-index:2}.table-group{position:absolute;width:12%;transform:translate(-50%,-50%);cursor:pointer;transition:transform .2s ease;z-index:5}.table-group:hover{transform:translate(-50%,-50%) scale(1.08);z-index:10}.table-group.selected{transform:translate(-50%,-50%) scale(1.12);z-index:20}.table-group.family-table{width:15%}.table-svg{width:100%;height:auto;overflow:visible}.table-circle{fill:#fff;stroke:var(--color-blush);stroke-width:2;transition:all .2s}.table-group.selected .table-circle{stroke:var(--color-primary);stroke-width:3;fill:#fffaf7}.family-table .table-circle{stroke:var(--color-burgundy);stroke-width:2.5;fill:#fffdf9}.table-number{font-size:8px;font-weight:700;fill:var(--color-primary);font-family:var(--font-serif)}.table-count{font-size:5px;fill:var(--color-secondary)}.seat{stroke:#fff;stroke-width:1.5;transition:all .15s ease;cursor:pointer}.seat.empty{fill:#e8e8e8}.seat.filled{fill:var(--color-primary)}.seat.plus-one{fill:var(--color-gold)}.seat.hovered{stroke:var(--color-primary);stroke-width:2;r:8}.tooltip-bg{fill:var(--color-primary);opacity:.92}.tooltip-text{font-size:5px;fill:#fff;font-weight:600}.table-name-label{display:block;text-align:center;font-size:.55rem;color:var(--color-secondary);font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hall-legend{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-secondary)}.legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:var(--space-1);vertical-align:middle}.legend-dot.filled{background:var(--color-primary)}.legend-dot.plus-one{background:var(--color-gold)}.legend-dot.empty{background:#e8e8e8}.seating-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.table-detail{padding:var(--space-4)}.detail-header{margin-bottom:var(--space-3)}.detail-header h3{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:var(--space-2)}.detail-header h3 small{font-size:var(--text-sm);color:var(--color-secondary);font-weight:400}.table-name-input{width:100%;padding:var(--space-2);border:1px solid var(--color-blush);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-bg)}.table-name-input:focus{outline:none;border-color:var(--color-primary)}.seat-list{display:flex;flex-direction:column;gap:4px;max-height:350px;overflow-y:auto}.seat-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--color-bg)}.seat-row.occupied{background:#f5f0ed}.seat-num{font-weight:700;color:var(--color-primary);min-width:50px;font-size:.75rem}.seat-guest{flex:1;font-size:.8rem}.seat-guest small{color:var(--color-secondary)}.seat-empty{flex:1;color:#ccc;font-style:italic;font-size:.8rem}.unseat-btn{background:none;border:none;color:var(--color-rose);font-size:1.1rem;cursor:pointer;padding:0 4px;opacity:.5;transition:opacity .2s}.unseat-btn:hover{opacity:1}.unassigned-panel{padding:var(--space-4)}.unassigned-panel h3{font-family:var(--font-serif);color:var(--color-primary);font-size:var(--text-base);margin-bottom:var(--space-3)}.search-input{width:100%;padding:var(--space-2);border:1px solid var(--color-blush);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-3);background:var(--color-bg)}.search-input:focus{outline:none;border-color:var(--color-primary)}.unassigned-list{display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.unassigned-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--text-sm);transition:background .2s}.unassigned-item:hover{background:var(--color-blush)}.guest-name{font-weight:500}.plus-badge{display:inline-block;font-size:.65rem;background:var(--color-gold);color:#fff;padding:1px 5px;border-radius:8px;margin-left:4px;font-weight:700}.btn-sm{padding:2px 8px;font-size:.7rem;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;border:none;cursor:pointer;font-weight:600;transition:background .2s}.btn-sm:hover{background:var(--color-burgundy)}.btn-sm:disabled{background:#ccc;cursor:not-allowed}.empty-msg{text-align:center;color:var(--color-secondary);font-style:italic;padding:var(--space-4)}@media(max-width:1024px){.seating-layout{grid-template-columns:1fr}.seating-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.seating-stats{grid-template-columns:1fr 1fr}.table-group{width:14%}.table-group.family-table{width:17%}.hall-actions{width:100%;justify-content:center}}.prayer-page{display:flex;justify-content:center}.pg{width:100%;max-width:720px;margin:0 auto;padding:1rem}.hdr{text-align:center;padding-bottom:1.5rem;border-bottom:.5px solid var(--color-border-tertiary, #eaeaea);margin-bottom:1.5rem}.rings{display:flex;justify-content:center;margin-bottom:.8rem}.ring{width:24px;height:24px;border-radius:50%;border:2.5px solid #C4A35A;background:transparent}.ring+.ring{margin-left:-8px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-tertiary, #888);margin-bottom:.3rem}.hdr h1{font-size:22px;font-weight:500;color:var(--color-text-primary, #333);margin-bottom:.3rem;font-family:var(--font-serif)}.sub{font-size:13px;color:var(--color-text-secondary, #666);font-style:italic;font-family:var(--font-serif)}.tracker{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;padding:.85rem 1rem;background:var(--color-background-secondary, #fafafa);border-radius:var(--radius-lg, 8px)}.tr-bar{flex:1;height:5px;background:var(--color-background-primary, #fff);border-radius:3px;overflow:hidden;border:.5px solid var(--color-border-tertiary, #eaeaea)}.tr-fill{height:100%;background:#c4a35a;border-radius:3px;transition:width .4s ease}.tr-label{font-size:12px;color:var(--color-text-secondary, #666);white-space:nowrap}.week-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:1.5rem}.wk-dot{width:44px;padding:5px 0;border-radius:var(--radius-md, 6px);border:.5px solid var(--color-border-tertiary, #eaeaea);background:var(--color-background-primary, #fff);cursor:pointer;text-align:center;transition:all .12s;flex-shrink:0}.wk-dot:hover{background:var(--color-background-secondary, #fafafa)}.wk-dot.active{border-color:#c4a35a;background:#faeeda}.wk-dot.done{border-color:#639922;background:#eaf3de}.wk-num{font-size:11px;font-weight:500;color:var(--color-text-secondary, #666)}.wk-dot.active .wk-num{color:#633806}.wk-dot.done .wk-num{color:#27500a}.wk-check{font-size:9px;color:#639922;height:11px}.add-btn{width:44px;padding:5px 0;border-radius:var(--radius-md, 6px);border:.5px dashed var(--color-border-secondary, #ccc);background:transparent;cursor:pointer;text-align:center;font-size:18px;color:var(--color-text-tertiary, #888);transition:all .12s;flex-shrink:0;line-height:1}.add-btn:hover{background:var(--color-background-secondary, #fafafa);color:var(--color-text-primary, #333)}.prayer-page .card{background:var(--color-background-primary, #fff);border:.5px solid var(--color-border-tertiary, #eaeaea);border-radius:var(--radius-lg, 8px);padding:1.25rem;border-left:3px solid #C4A35A}.card-eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-tertiary, #888);margin-bottom:.3rem}.card-week{font-size:19px;font-weight:500;color:var(--color-text-primary, #333);margin-bottom:.15rem}.card-theme{font-size:13px;color:var(--color-text-secondary, #666);margin-bottom:1rem}.verse-row{display:flex;gap:8px;align-items:flex-start;padding:.65rem .9rem;background:var(--color-background-secondary, #fafafa);border-radius:var(--radius-md, 6px);margin-bottom:1.25rem}.verse-bar{width:3px;background:#c4a35a;border-radius:2px;flex-shrink:0;align-self:stretch}.verse-text{font-size:13px;font-style:italic;color:var(--color-text-primary, #333);line-height:1.6;font-family:var(--font-serif)}.verse-ref{font-size:11px;color:#8b6914;margin-top:3px;font-style:normal;font-family:var(--font-sans)}.pts-label{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-tertiary, #888);margin-bottom:0}.pt-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:.85rem;cursor:pointer}.pt-check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--color-border-secondary, #ccc);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#639922;transition:all .15s}.pt-row.checked .pt-check{background:#eaf3de;border-color:#639922}.pt-title{font-size:13px;font-weight:500;color:var(--color-text-primary, #333);margin-bottom:2px;transition:all .2s ease}.pt-row.checked .pt-title{color:var(--color-text-tertiary, #888);text-decoration:line-through;text-decoration-color:var(--color-border-secondary, #ccc)}.pt-text{font-size:13px;color:var(--color-text-secondary, #666);line-height:1.6;transition:all .2s ease}.pt-row.checked .pt-text{color:var(--color-text-tertiary, #888)}.divider{height:.5px;background:var(--color-border-tertiary, #eaeaea);margin:.85rem 0}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.btn-done{padding:7px 16px;font-size:12px;border-radius:var(--radius-md, 6px);border:.5px solid #639922;background:#eaf3de;color:#27500a;cursor:pointer;transition:all .12s}.btn-done:hover{background:#c0dd97}.btn-undone{padding:7px 16px;font-size:12px;border-radius:var(--radius-md, 6px);border:.5px solid var(--color-border-secondary, #ccc);background:transparent;color:var(--color-text-secondary, #666);cursor:pointer;transition:all .12s}.btn-next{padding:7px 16px;font-size:12px;border-radius:var(--radius-md, 6px);border:.5px solid var(--color-border-secondary, #ccc);background:transparent;color:var(--color-text-primary, #333);cursor:pointer;transition:all .12s}.btn-next:hover{background:var(--color-background-secondary, #fafafa)}.pt-prog{font-size:11px;color:var(--color-text-tertiary, #888);margin-left:auto;align-self:center}.home-page{max-width:1440px;margin:0 auto;padding:2.5rem}.home-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2.5rem 3rem;background:linear-gradient(115deg,#f2dfd7,#f7f3e9 58%,#e4efdf);border-radius:24px;position:relative;overflow:hidden}.home-hero:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(114,47,55,.18);border-radius:50%;right:-85px;top:-115px}.home-eyebrow,.section-kicker{color:var(--color-burgundy);font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.home-hero h1{margin:.25rem 0 .55rem;font-size:clamp(2.6rem,5vw,4.5rem)}.home-hero h1 em{color:var(--color-burgundy);font-weight:400}.home-intro{max-width:530px;color:var(--color-secondary);font-size:var(--text-lg)}.home-today{position:relative;z-index:1;min-width:155px;padding:1.1rem 1.25rem;background:#ffffffb8;border:1px solid rgba(255,255,255,.92);border-radius:var(--radius-lg);text-align:right;box-shadow:var(--shadow-sm)}.home-today span,.home-today small{display:block;color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em}.home-today strong{display:block;margin:.15rem 0;font-family:var(--font-serif);color:var(--color-burgundy);font-size:var(--text-2xl)}.home-tabs{display:inline-flex;gap:.25rem;margin:2rem 0 1.5rem;padding:.3rem;background:#eee6dc;border-radius:var(--radius-full)}.home-tab{padding:.65rem 1.4rem;color:var(--color-secondary);border-radius:var(--radius-full);font-size:var(--text-sm)}.home-tab.active{background:var(--color-white);color:var(--color-burgundy);box-shadow:var(--shadow-sm);font-weight:700}.home-error{margin-bottom:1.25rem;padding:.8rem 1rem;color:var(--color-error);background:#fbe9e8;border-radius:var(--radius-md)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.25rem}.section-heading h2{margin-top:.2rem;font-size:var(--text-3xl)}.section-heading>p{max-width:420px;color:var(--color-secondary);text-align:right}.home-form,.finance-form{background:var(--color-white);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg)}.home-form{display:grid;grid-template-columns:2fr repeat(4,minmax(100px,1fr)) auto;gap:.65rem;margin-bottom:1.5rem;padding:.8rem}.meal-form{grid-template-columns:1.6fr repeat(5,minmax(110px,1fr)) auto}.home-form input,.home-form select,.finance-form input,.finance-form select{min-width:0;padding:.7rem .75rem;border:1px solid #e5d8d0;border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-white)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:.8rem;overflow-x:auto;padding-bottom:.5rem}.day-card{min-height:235px;background:#ffffffbf;border:1px solid #eadfda;border-radius:var(--radius-lg);overflow:hidden}.day-card.is-today{border-color:var(--color-gold);box-shadow:0 5px 18px #c9a9592e}.day-card header{padding:.8rem 1rem;border-bottom:1px solid #eee4df}.day-card header span{display:block;color:var(--color-rose);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.day-card header strong{font-family:var(--font-serif);font-size:var(--text-lg)}.routine-list{padding:.65rem;display:grid;gap:.55rem}.empty-slot{padding:.8rem .45rem;color:#a49a97;font-size:var(--text-sm);font-style:italic}.routine-card{display:flex;justify-content:space-between;gap:.5rem;padding:.6rem;background:#f7f2ec;border-left:3px solid var(--color-rose);border-radius:var(--radius-sm)}.routine-card.category-prayer{border-left-color:var(--color-gold)}.routine-card.category-chore{border-left-color:var(--color-success)}.routine-card.category-date-night{border-left-color:var(--color-burgundy)}.routine-card.category-outing{border-left-color:#798aaf}.routine-card span,.routine-card small{display:block;color:var(--color-secondary);font-size:.68rem}.routine-card strong{display:block;font-size:var(--text-sm);line-height:1.3}.item-actions{display:inline-flex;align-items:flex-start;gap:.15rem}.item-actions button,.meal-entry .item-actions button,.cup-card .item-actions button{color:var(--color-rose);font-size:1.1rem;line-height:1;padding:0 .15rem}.item-actions button:first-child{color:var(--color-secondary)}.meal-board{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:.8rem;overflow-x:auto;padding-bottom:.5rem}.meal-day{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem}.meal-day h3{margin-bottom:.65rem;font-size:var(--text-lg)}.meal-slot{min-height:88px;padding:.65rem 0;border-top:1px solid var(--color-blush)}.meal-slot>span{color:var(--color-rose);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.meal-slot p{color:#b7afaa}.meal-entry{position:relative;padding:.3rem 3.1rem .2rem 0}.meal-entry strong,.meal-entry small{display:block;font-size:var(--text-sm);line-height:1.35}.meal-entry small{color:var(--color-secondary);font-size:.7rem}.meal-entry .item-actions{position:absolute;right:0;top:.2rem}.finance-display-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-3.65rem 0 1.25rem}.visibility-toggles{display:flex;gap:.4rem}.visibility-toggle{padding:.45rem .7rem;color:var(--color-secondary);background:var(--color-white);border:1px solid #e5d8d0;border-radius:var(--radius-full);font-size:var(--text-xs)}.visibility-toggle.active{border-color:var(--color-burgundy);color:var(--color-burgundy);background:var(--color-blush);font-weight:700}.exchange-rate{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;color:var(--color-secondary);font-size:var(--text-sm)}.exchange-rate label{display:flex;align-items:center;gap:.25rem;color:var(--color-burgundy);font-weight:700}.exchange-rate input{width:88px;padding:.55rem .65rem;border:1px solid #e5d8d0;border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-white)}.finance-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.25rem}.finance-overview div{padding:1.15rem;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.finance-overview span{display:block;color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.finance-overview strong{display:block;margin-top:.35rem;font-family:var(--font-serif);font-size:var(--text-xl)}.finance-overview small,.cup-amounts small,.transaction b small{display:block;color:var(--color-secondary);font-family:var(--font-sans);font-size:.68rem;font-weight:400}.finance-overview .is-good{color:var(--color-success)}.starter-cups{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;background:#fbf4ed;border:1px dashed var(--color-gold);border-radius:var(--radius-lg)}.starter-cups h3{font-size:var(--text-xl)}.starter-cups p{max-width:640px;color:var(--color-secondary)}.cup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:.8rem}.cup-card{padding:1rem;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.cup-card header{display:flex;justify-content:space-between}.cup-card header span{color:var(--color-rose);font-size:var(--text-xs);font-weight:700}.cup-card h3{font-size:var(--text-xl)}.cup-amounts{display:flex;justify-content:space-between;gap:.5rem;margin:.9rem 0}.cup-amounts span{font-size:.7rem;color:var(--color-secondary)}.cup-amounts strong{display:block;color:var(--color-primary);font-size:var(--text-sm)}.cup-meter{height:5px;overflow:hidden;background:var(--color-blush);border-radius:99px}.cup-meter i{display:block;height:100%;background:var(--color-burgundy);border-radius:inherit}.finance-forms{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:.9rem;margin:1.5rem 0}.finance-form{display:grid;gap:.65rem;padding:1rem}.finance-form h3{font-size:var(--text-xl)}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.transaction-list{padding:1.2rem;background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.transaction-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.transaction-heading h3{font-size:var(--text-xl)}.transaction-heading span{color:var(--color-secondary);font-size:var(--text-xs)}.transaction{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-top:1px solid var(--color-blush)}.transaction>div:first-child{display:grid;grid-template-columns:22px auto;column-gap:.55rem}.transaction>div:first-child>span{grid-row:span 2;align-self:center}.transaction small{color:var(--color-secondary);font-size:var(--text-xs)}.transaction b.income,.transaction span.income{color:var(--color-success)}.transaction b.expense,.transaction span.expense{color:var(--color-burgundy)}.transaction-value{display:flex;align-items:center;gap:.55rem;text-align:right}.transaction-value button{color:var(--color-secondary);font-size:var(--text-xs);text-decoration:underline}@media(max-width:900px){.home-page{padding:1rem}.home-hero,.section-heading,.starter-cups{align-items:flex-start;flex-direction:column}.section-heading>p{text-align:left}.home-form,.meal-form{grid-template-columns:repeat(2,1fr)}.home-form input:first-child{grid-column:span 2}.week-grid,.meal-board{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.day-card{min-height:180px}.finance-overview,.finance-forms{grid-template-columns:repeat(2,1fr)}.cup-form{grid-column:span 2}.finance-display-controls{align-items:flex-start;flex-direction:column;margin:0 0 1.25rem}.exchange-rate{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:520px){.home-hero{padding:1.5rem}.home-today{text-align:left}.home-form,.meal-form,.finance-overview,.finance-forms,.inline-fields,.week-grid,.meal-board{grid-template-columns:1fr}.home-form input:first-child,.cup-form{grid-column:auto}.home-form .btn{width:100%}.transaction-heading{align-items:flex-start;flex-direction:column}.finance-overview strong{font-size:var(--text-lg)}.visibility-toggles,.exchange-rate{width:100%}.visibility-toggle{flex:1}.exchange-rate{align-items:stretch;flex-direction:column}.exchange-rate label{width:100%;justify-content:space-between}.exchange-rate input{width:145px}.exchange-rate .btn{width:100%}}.login-container{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.login-overlay{position:absolute;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-card{background:#fffffff2;padding:3rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;text-align:center;z-index:10;max-width:400px;width:90%;animation:fadeIn .5s ease-out}.login-card h1{color:#722f37;margin-bottom:.5rem;font-family:Playfair Display,serif}.login-card p{color:#4a4a68;margin-bottom:2rem;font-size:.9rem}.login-card form{display:flex;flex-direction:column;gap:1rem}.password-field{position:relative}.login-card .password-field input{box-sizing:border-box;width:100%;padding:12px 46px 12px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;text-align:center;transition:border-color .2s}.login-card .password-field input:focus{outline:none;border-color:#c9a959}.login-card .login-submit{padding:12px;background:#722f37;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;font-weight:600;transition:background .2s}.login-card .login-submit:hover{background:#8b3a44}.login-card .password-toggle{position:absolute;top:50%;right:8px;display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;color:#4a4a68;background:transparent;transform:translateY(-50%)}.login-card .password-toggle:hover,.login-card .password-toggle:focus-visible{color:#722f37;background:#722f3714;outline:none}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.error-message{margin-top:1rem;color:#e74c3c;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lisbon-site,.lisbon-maintenance{--lisbon-ivory: #f7efe3;--lisbon-champagne: #e8d7bf;--lisbon-terracotta: #a85532;--lisbon-terracotta-dark: #7d3e27;--lisbon-espresso: #3f302a;--lisbon-sage: #7b806d;--lisbon-white: #fffdf8;color:var(--lisbon-espresso);background:var(--lisbon-ivory);font-family:DM Sans,sans-serif;font-synthesis:none}.lisbon-site *,.lisbon-site *:before,.lisbon-site *:after,.lisbon-maintenance *,.lisbon-maintenance *:before,.lisbon-maintenance *:after{box-sizing:border-box}.lisbon-site{min-width:320px;min-height:100vh;background:radial-gradient(circle at 88% 8%,rgb(232 215 191 / 45%),transparent 24rem),var(--lisbon-ivory)}.lisbon-site a{color:inherit}.lisbon-site button,.lisbon-site input,.lisbon-site select,.lisbon-site textarea{font:inherit}.lisbon-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:minmax(10rem,1fr) auto minmax(10rem,1fr);align-items:center;gap:2rem;min-height:5.25rem;padding:1rem clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid rgb(63 48 42 / 14%);background:#f7efe3e5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.lisbon-monogram{font-family:Libre Caslon Display,Georgia,serif;font-size:1.15rem;text-decoration:none}.lisbon-nav{display:flex;gap:clamp(.8rem,1.7vw,1.75rem);padding:0;margin:0;list-style:none}.lisbon-mobile-nav{display:none}.lisbon-nav a{color:#3f302ab8;font-size:.74rem;font-weight:600;letter-spacing:.09em;text-decoration:none;text-transform:uppercase}.lisbon-nav a[aria-current=page]{color:var(--lisbon-terracotta)}.lisbon-site .lisbon-rsvp-action{justify-self:end;padding:.75rem 1.15rem;border-radius:999px;color:var(--lisbon-white);background:var(--lisbon-terracotta);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-decoration:none;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}.lisbon-section,.lisbon-rsvp-panel{width:min(72rem,calc(100% - 2.5rem));min-height:calc(100vh - 5.25rem);padding:clamp(4rem,9vw,9rem) 0;margin:0 auto}.lisbon-welcome{width:min(78rem,calc(100% - 2.5rem));padding:clamp(2.5rem,5vw,5rem) 0 clamp(5rem,8vw,8rem);margin:0 auto}.lisbon-welcome-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(22rem,1.08fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;min-height:min(42rem,calc(100vh - 8.5rem))}.lisbon-welcome-copy h1{max-width:9ch;margin:.25rem 0 1.5rem;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(4rem,8vw,7.4rem);font-weight:400;letter-spacing:-.055em;line-height:.86}.lisbon-welcome-introduction{max-width:38rem;margin:0;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7}.lisbon-welcome-details{display:flex;justify-content:space-between;gap:1.5rem;align-items:end;padding:1.25rem 0;margin-top:2rem;border-top:1px solid rgb(63 48 42 / 25%);border-bottom:1px solid rgb(63 48 42 / 25%)}.lisbon-welcome-details p{margin:.35rem 0;font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.lisbon-welcome-details .lisbon-countdown{display:flex;gap:.75rem;align-items:baseline;margin:0;color:var(--lisbon-terracotta-dark);letter-spacing:normal;text-transform:none}.lisbon-countdown strong{font-family:Libre Caslon Display,Georgia,serif;font-size:3rem;font-weight:400}.lisbon-countdown span{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.lisbon-site .lisbon-primary-link{display:inline-flex;padding:.9rem 1.25rem;margin-top:1.5rem;border-radius:999px;color:var(--lisbon-white);background:var(--lisbon-terracotta);font-weight:600;text-decoration:none;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.lisbon-site .lisbon-primary-link:hover,.lisbon-site .lisbon-primary-link:focus-visible,.lisbon-site .lisbon-rsvp-action:hover,.lisbon-site .lisbon-rsvp-action:focus-visible{background:var(--lisbon-terracotta-dark);box-shadow:0 .8rem 2rem #7d3e272e;transform:translateY(-2px)}.lisbon-hero-media-wrap{position:relative;height:clamp(28rem,54vw,42rem);padding:0 0 clamp(1rem,3vw,2.5rem) clamp(1rem,3vw,2.5rem);animation:lisbon-clip-reveal .85s cubic-bezier(.22,1,.36,1) both;animation-delay:.18s}.lisbon-hero-media{height:100%;min-height:0;box-shadow:0 1.5rem 4rem #3f302a29}.lisbon-hero-media img{animation:lisbon-image-settle 1.2s cubic-bezier(.22,1,.36,1) both}.lisbon-hero-date{position:absolute;bottom:0;left:0;padding:.85rem 1rem;border:1px solid rgb(168 85 50 / 22%);border-radius:999px;color:var(--lisbon-terracotta-dark);background:var(--lisbon-white);font-size:.72rem;font-weight:600;letter-spacing:.16em}.lisbon-page-directory{padding-top:clamp(3rem,6vw,5rem);margin-top:clamp(2rem,5vw,4rem);border-top:1px solid rgb(63 48 42 / 18%)}.lisbon-directory-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:2rem;align-items:start;margin-bottom:2rem}.lisbon-directory-heading h2{max-width:16ch;margin:0;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:400;letter-spacing:-.04em;line-height:.95}.lisbon-page-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.lisbon-page-card-grid .lisbon-reveal{height:100%}.lisbon-page-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:14.5rem;height:100%;padding:1.5rem;overflow:hidden;border:1px solid rgb(63 48 42 / 14%);border-radius:1.5rem;background:#fffdf8b8;text-decoration:none;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.lisbon-page-card:after{position:absolute;right:-2rem;bottom:-4rem;width:10rem;height:10rem;border:1px solid rgb(168 85 50 / 18%);border-radius:50%;content:"";transition:transform .32s ease}.lisbon-page-card>span{color:var(--lisbon-terracotta);font-size:.72rem;font-weight:600;letter-spacing:.15em}.lisbon-page-card strong{align-self:end;max-width:10ch;margin:2rem 0 1rem;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(2rem,3vw,3.1rem);font-weight:400;letter-spacing:-.035em;line-height:.95}.lisbon-page-card small{color:#3f302ab8;font-weight:600}.lisbon-page-card i{position:absolute;right:1.5rem;bottom:1.25rem;color:var(--lisbon-terracotta-dark);font-family:Libre Caslon Display,Georgia,serif;font-size:1.6rem;font-style:normal}.lisbon-page-card--schedule,.lisbon-page-card--faq{background:var(--lisbon-champagne)}.lisbon-page-card--stay{color:var(--lisbon-white);background:var(--lisbon-terracotta-dark)}.lisbon-page-card--stay>span,.lisbon-page-card--stay i,.lisbon-page-card--stay small{color:var(--lisbon-white)}.lisbon-page-card:hover,.lisbon-page-card:focus-visible{border-color:#a855327a;box-shadow:0 1.2rem 3rem #3f302a24;outline:none;transform:translateY(-6px)}.lisbon-page-card:hover:after,.lisbon-page-card:focus-visible:after{transform:translate(-1rem,-1rem) scale(1.08)}.lisbon-hero-entrance{animation:lisbon-rise-in .72s cubic-bezier(.22,1,.36,1) both}.lisbon-welcome-copy h1{animation-delay:70ms}.lisbon-welcome-introduction{animation-delay:.14s}.lisbon-welcome-details{animation-delay:.21s}.lisbon-reveal{height:100%;opacity:0;transform:translateY(2rem);transition:opacity .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay),transform .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay)}.lisbon-reveal.is-visible{opacity:1;transform:none}.lisbon-page-entrance{animation:lisbon-rise-in .72s cubic-bezier(.22,1,.36,1) both}.lisbon-reveal .lisbon-media,.lisbon-reveal .lisbon-story-video{clip-path:inset(0 0 12% 0 round 999px 999px 1.5rem 1.5rem);transition:clip-path .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay)}.lisbon-reveal.is-visible .lisbon-media,.lisbon-reveal.is-visible .lisbon-story-video{clip-path:inset(0 round 999px 999px 1.5rem 1.5rem)}@keyframes lisbon-rise-in{0%{opacity:0;transform:translateY(1.5rem)}}@keyframes lisbon-clip-reveal{0%{opacity:0;clip-path:inset(0 0 100% 0 round 999px 999px 1.5rem 1.5rem);transform:translateY(1.5rem)}to{opacity:1;clip-path:inset(0 round 999px 999px 1.5rem 1.5rem);transform:none}}@keyframes lisbon-image-settle{0%{transform:scale(1.08)}to{transform:scale(1)}}.lisbon-story-list{display:grid;gap:5rem;margin-top:5rem}.lisbon-story-block{display:grid;grid-template-columns:1fr minmax(16rem,.75fr);gap:clamp(2rem,7vw,7rem);align-items:center}.lisbon-story-list>.lisbon-reveal:nth-child(2n) .lisbon-story-block>div{order:2}.lisbon-story-block h2,.lisbon-event-card h2,.lisbon-image-card h2,.lisbon-question-grid h2,.lisbon-party-group>h2{margin:0 0 1rem;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:400}.lisbon-story-block h2 span{display:block;margin-bottom:.65rem;color:var(--lisbon-terracotta);font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.18em}.lisbon-story-block p,.lisbon-event-card p,.lisbon-image-card p,.lisbon-question-grid p,.lisbon-person-card p,.lisbon-faq-list p{line-height:1.7}.lisbon-story-block .lisbon-media,.lisbon-story-video{box-shadow:0 1.4rem 3.5rem #3f302a24}.lisbon-story-block .lisbon-media img{height:auto}.lisbon-story-video{position:relative;justify-self:center;width:min(100%,23rem);aspect-ratio:9 / 16;margin:0;overflow:hidden;border-radius:999px 999px 1.5rem 1.5rem;background:linear-gradient(180deg,var(--lisbon-espresso),var(--lisbon-terracotta-dark))}.lisbon-story-video video{display:block;width:100%;height:100%;object-fit:contain}.lisbon-video-controls{position:absolute;right:1rem;bottom:1rem;left:1rem;display:flex;justify-content:flex-end;gap:.5rem}.lisbon-video-controls button{padding:.65rem .85rem;border:1px solid rgb(255 253 248 / 38%);border-radius:999px;color:var(--lisbon-white);background:#3f302ab8;-webkit-backdrop-filter:blur(.7rem);backdrop-filter:blur(.7rem);cursor:pointer;font:inherit;font-size:.75rem;font-weight:600;transition:background-color .18s ease,transform .18s ease}.lisbon-video-controls button:hover,.lisbon-video-controls button:focus-visible{background:var(--lisbon-terracotta);transform:translateY(-2px)}.lisbon-story-video figcaption{position:absolute;top:1.25rem;left:1.25rem;max-width:calc(100% - 2.5rem);padding:.55rem .75rem;border-radius:999px;color:var(--lisbon-white);background:#3f302a94;font-size:.75rem;-webkit-backdrop-filter:blur(.7rem);backdrop-filter:blur(.7rem)}.lisbon-card-list,.lisbon-card-grid,.lisbon-question-grid,.lisbon-moments-grid{display:grid;gap:1.5rem;margin-top:4rem}.lisbon-card-list{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.lisbon-card-grid,.lisbon-question-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.lisbon-card-list>.lisbon-reveal,.lisbon-card-grid>.lisbon-reveal,.lisbon-question-grid>.lisbon-reveal{height:100%}.lisbon-event-card,.lisbon-question-grid article{height:100%;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgb(63 48 42 / 16%);border-radius:1.5rem;background:#fffdf88c;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.lisbon-image-card .lisbon-media,.lisbon-person-card .lisbon-media{margin-bottom:1.5rem}.lisbon-image-card .lisbon-media{aspect-ratio:4 / 3}.lisbon-person-card .lisbon-media{min-height:24rem}.lisbon-image-card{display:flex;height:100%;flex-direction:column;padding-bottom:1rem;border:1px solid transparent;border-radius:999px 999px 1.5rem 1.5rem;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.lisbon-image-card .lisbon-media img{transition:transform .65s cubic-bezier(.22,1,.36,1)}.lisbon-image-card:hover .lisbon-media img{transform:scale(1.035)}.lisbon-event-card:hover,.lisbon-event-card:focus-within,.lisbon-question-grid article:hover,.lisbon-question-grid article:focus-within,.lisbon-image-card:hover,.lisbon-image-card:focus-within{border-color:#a855325c;box-shadow:0 1.1rem 2.8rem #3f302a1c;transform:translateY(-4px)}.lisbon-image-card>div,.lisbon-image-card-content{padding:0 .5rem}.lisbon-link-row a{display:inline-block;margin:1rem 1rem 0 0;color:var(--lisbon-terracotta-dark);font-weight:600}.lisbon-image-card-content{display:flex;flex:1;flex-direction:column}.lisbon-stay-card-footer{display:grid;gap:1rem;align-items:start;margin-top:auto;padding-top:1.25rem}.lisbon-stay-card-footer small{color:#3f302aad;line-height:1.55}.lisbon-site .lisbon-stay-action{display:inline-flex;width:fit-content;gap:.5rem;align-items:center;padding:.75rem 1rem;border:1px solid rgb(168 85 50 / 42%);border-radius:999px;color:var(--lisbon-terracotta-dark);font-size:.82rem;font-weight:600;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}.lisbon-site .lisbon-stay-action:hover,.lisbon-site .lisbon-stay-action:focus-visible{color:var(--lisbon-white);background:var(--lisbon-terracotta-dark);transform:translateY(-2px)}.lisbon-link-row{display:flex;flex-wrap:wrap}.lisbon-party-group{margin-top:5rem}.lisbon-person-card h3{margin:.2rem 0 .75rem;font-family:Libre Caslon Display,Georgia,serif;font-size:2rem;font-weight:400}.lisbon-faq-list{max-width:54rem;margin-top:4rem}.lisbon-faq-list details{padding:1.5rem 0;border-bottom:1px solid rgb(63 48 42 / 20%)}.lisbon-faq-list details[open] p{animation:lisbon-faq-open .3s ease both}.lisbon-faq-list summary{cursor:pointer;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(1.35rem,3vw,2rem)}.lisbon-link-list{display:grid;max-width:50rem;margin-top:4rem}.lisbon-link-list a{display:flex;justify-content:space-between;gap:2rem;padding:1.25rem 0;border-bottom:1px solid rgb(63 48 42 / 20%);font-family:Libre Caslon Display,Georgia,serif;font-size:1.6rem;text-decoration:none;transition:color .18s ease,padding-inline .18s ease}.lisbon-link-list a:hover,.lisbon-link-list a:focus-visible{padding-inline:.5rem;color:var(--lisbon-terracotta-dark);outline:none}.lisbon-moments-grid{grid-template-columns:repeat(12,1fr)}.lisbon-moments-grid>.lisbon-reveal{grid-column:span 4}.lisbon-moments-grid .lisbon-media{min-height:28rem}.lisbon-moment-wide{grid-column:span 8!important}.lisbon-video{height:100%;grid-column:span 8;overflow:hidden;margin:0;border-radius:1.5rem;background:var(--lisbon-espresso)}.lisbon-video iframe{display:block;width:100%;aspect-ratio:16 / 9;border:0}.lisbon-video figcaption{padding:.9rem 1rem;color:var(--lisbon-white)}.lisbon-moments-grid>.lisbon-reveal:nth-child(3n+2){margin-top:4rem}@keyframes lisbon-faq-open{0%{opacity:0;transform:translateY(-.5rem)}}.lisbon-rsvp-placeholder{padding:clamp(1.5rem,4vw,3rem);border-radius:1.5rem;background:var(--lisbon-white);line-height:1.7}.lisbon-section-heading{max-width:48rem}.lisbon-section h1,.lisbon-rsvp-panel h1,.lisbon-maintenance h1{max-width:14ch;margin:.25rem 0 1.5rem;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(3.5rem,9vw,8rem);font-weight:400;letter-spacing:-.045em;line-height:.92}.lisbon-section-heading>p:last-child,.lisbon-rsvp-panel header>p:last-child{max-width:44rem;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.75}.lisbon-eyebrow{margin:0 0 1.25rem;color:var(--lisbon-terracotta);font-size:.74rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.lisbon-media{overflow:hidden;margin:0;border-radius:999px 999px 1.5rem 1.5rem;background:var(--lisbon-champagne)}.lisbon-media img{display:block;width:100%;height:100%;object-fit:cover}.lisbon-media figcaption{padding:.75rem 1rem;font-size:.78rem}.lisbon-media--fallback{display:grid;min-height:20rem;place-items:center;color:var(--lisbon-terracotta-dark);font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(2.5rem,9vw,7rem);background:linear-gradient(140deg,transparent 48%,rgb(168 85 50 / 14%) 49% 51%,transparent 52%),var(--lisbon-champagne)}.lisbon-maintenance{display:grid;min-height:100vh;align-content:center;justify-items:center;padding:2rem;text-align:center}.lisbon-maintenance h1{max-width:none}.lisbon-maintenance>p:last-child{max-width:36rem;line-height:1.7}.lisbon-rsvp-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}@media(max-width:1280px){.lisbon-header{grid-template-columns:1fr auto auto;gap:.75rem}.lisbon-header nav{display:none}.lisbon-mobile-nav{position:relative;display:block;justify-self:end}.lisbon-mobile-nav summary{cursor:pointer;font-size:.76rem;font-weight:600;letter-spacing:.1em;list-style:none;text-transform:uppercase}.lisbon-mobile-nav summary::-webkit-details-marker{display:none}.lisbon-mobile-nav nav{position:absolute;z-index:30;top:calc(100% + 1rem);right:0;display:grid;width:min(18rem,calc(100vw - 2.5rem));padding:.75rem;border:1px solid rgb(63 48 42 / 14%);border-radius:1rem;background:var(--lisbon-white);box-shadow:0 1rem 3rem #3f302a2e}.lisbon-mobile-nav a{padding:.7rem .8rem;border-radius:.5rem;text-decoration:none}.lisbon-mobile-nav a[aria-current=page]{color:var(--lisbon-terracotta);background:var(--lisbon-ivory)}}@media(max-width:860px){.lisbon-rsvp-panel,.lisbon-welcome-hero,.lisbon-story-block{grid-template-columns:1fr}.lisbon-welcome-hero{gap:2.5rem;min-height:0}.lisbon-welcome-copy h1{font-size:clamp(3.8rem,18vw,6.5rem)}.lisbon-hero-media-wrap{height:clamp(30rem,115vw,42rem)}.lisbon-directory-heading{grid-template-columns:1fr;gap:.75rem}.lisbon-page-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lisbon-story-list>.lisbon-reveal:nth-child(2n) .lisbon-story-block>div{order:initial}.lisbon-moments-grid{grid-template-columns:1fr 1fr}.lisbon-moments-grid>.lisbon-reveal{grid-column:span 1}.lisbon-moments-grid .lisbon-media{min-height:20rem}.lisbon-moment-wide{grid-column:1 / -1}.lisbon-moments-grid>.lisbon-reveal:nth-child(3n+2){margin-top:0}}@media(max-width:580px){.lisbon-header{padding:.85rem 1rem}.lisbon-monogram{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lisbon-welcome,.lisbon-section,.lisbon-rsvp-panel{width:min(100% - 2rem,72rem)}.lisbon-welcome{padding-top:2rem}.lisbon-welcome-details{display:grid;align-items:start}.lisbon-page-card-grid{grid-template-columns:1fr}.lisbon-page-card{min-height:12.5rem}.lisbon-card-grid,.lisbon-question-grid{grid-template-columns:1fr}.lisbon-story-video{width:min(100%,21rem)}}@media(prefers-reduced-motion:reduce){.lisbon-site *,.lisbon-site *:before,.lisbon-site *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lisbon-reveal{opacity:1;transform:none}.lisbon-reveal .lisbon-media,.lisbon-reveal .lisbon-story-video{clip-path:none}}.website-editor-page{max-width:1800px;margin:0 auto}.website-editor-header{display:flex;justify-content:space-between;gap:var(--space-6);align-items:flex-end;margin-bottom:var(--space-4)}.website-editor-header h1{margin:.25rem 0;font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.5rem);font-weight:500}.website-editor-header p{margin:0;color:var(--color-secondary)}.website-editor-kicker{color:var(--color-burgundy);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.website-editor-actions{display:flex;gap:var(--space-3);align-items:center}.website-revision-summary{display:flex;flex-direction:column;align-items:flex-end;color:var(--color-secondary);font-size:var(--text-xs)}.website-status{display:flex;justify-content:space-between;gap:var(--space-4);padding:.8rem 1rem;margin-bottom:var(--space-5);border:1px solid var(--color-gold-light);border-radius:var(--radius-md);color:var(--color-secondary);background:var(--color-champagne);font-size:var(--text-sm)}.website-status.has-errors{border-color:var(--color-error);color:var(--color-error);background:#c45c5c14}.website-editor-shell{display:grid;grid-template-columns:12rem minmax(23rem,.8fr) minmax(31rem,1.2fr);min-height:70vh;overflow:hidden;border:1px solid var(--color-gold-light);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-md)}.website-editor-tabs{display:flex;flex-direction:column;gap:.25rem;padding:var(--space-4);border-right:1px solid var(--color-blush);background:var(--color-champagne)}.website-editor-tabs>button{padding:.7rem .8rem;border-radius:var(--radius-sm);color:var(--color-secondary);text-align:left}.website-editor-tabs>button:hover,.website-editor-tabs>button.active{color:var(--color-burgundy);background:var(--color-white)}.website-editor-tabs>button.active{font-weight:700;box-shadow:var(--shadow-sm)}.website-history{padding-top:var(--space-5);margin-top:var(--space-4);border-top:1px solid var(--color-gold-light)}.website-history h2{margin:0 0 var(--space-2);color:var(--color-secondary);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.website-history button{display:flex;width:100%;justify-content:space-between;gap:var(--space-2);padding:.5rem 0;color:var(--color-secondary);font-size:var(--text-xs);text-align:left}.website-form-panel{max-height:calc(100vh - 12rem);overflow-y:auto;padding:clamp(1.25rem,2.5vw,2rem)}.website-form-heading,.website-array-heading,.website-array-actions,.website-preview-toolbar{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.website-form-heading{padding-bottom:var(--space-4);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-blush)}.website-form-heading h2{margin:.25rem 0 0;font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:500}.website-preview-label{color:var(--color-secondary);font-size:var(--text-xs)}.website-field-group{display:grid;gap:var(--space-4);padding:0;margin:0;border:0}.website-field-group .website-field-group{padding:var(--space-4);border:1px solid var(--color-blush);border-radius:var(--radius-md)}.website-field-group legend{padding:0 var(--space-2);color:var(--color-primary);font-family:var(--font-serif);font-size:var(--text-lg)}.website-field{display:grid;gap:.4rem;color:var(--color-secondary);font-size:var(--text-sm);font-weight:600}.website-field input,.website-field select,.website-field textarea{width:100%;padding:.75rem;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);color:var(--color-primary);background:var(--color-white);font:inherit;font-weight:400}.website-field textarea{resize:vertical;line-height:1.55}.website-field input:focus,.website-field select:focus,.website-field textarea:focus,.website-preview-toolbar select:focus{outline:3px solid rgba(190,123,123,.2);border-color:var(--color-burgundy)}.website-field-error{color:var(--color-error);font-weight:500}.website-toggle{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;padding:.85rem 1rem;border:1px solid var(--color-blush);border-radius:var(--radius-sm)}.website-toggle span{display:grid;gap:.2rem}.website-toggle small{color:var(--color-secondary)}.website-toggle input{width:1.2rem;height:1.2rem;accent-color:var(--color-burgundy)}.website-array-field{display:grid;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-blush)}.website-array-heading h3{margin:0;font-family:var(--font-serif);font-size:var(--text-lg)}.website-array-heading small{color:var(--color-secondary)}.website-array-list{display:grid;gap:var(--space-4)}.website-array-item{padding:var(--space-4);border:1px solid var(--color-gold-light);border-radius:var(--radius-md);background:#f7f3e973}.website-array-actions{padding-bottom:var(--space-3);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-blush);color:var(--color-secondary);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.website-array-actions div{display:flex;gap:.3rem}.website-array-actions button,.website-add-media,.website-remove-media{padding:.35rem .55rem;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);color:var(--color-secondary);background:var(--color-white);font-size:var(--text-xs)}.website-array-actions button:disabled{opacity:.35}.website-add-media{width:100%;padding:.75rem;border-style:dashed}.website-remove-media{justify-self:start;color:var(--color-error)}.website-preview-panel{min-width:0;border-left:1px solid var(--color-blush);background:#ddd7cf}.website-preview-toolbar{min-height:3.5rem;padding:.75rem 1rem;color:#4a433d;background:#eee9e2;font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.website-preview-toolbar select{max-width:11rem;padding:.45rem;border:1px solid #c8bfb5;border-radius:.35rem;color:#4a433d;background:#fff;font:inherit;text-transform:none}.website-preview-viewport{height:calc(100vh - 15.5rem);overflow:auto;background:var(--lisbon-ivory, #f7efe3)}.website-preview-viewport .lisbon-header{position:relative;grid-template-columns:1fr auto auto}.website-preview-viewport .lisbon-header nav{display:none}.website-preview-viewport .lisbon-section,.website-preview-viewport .lisbon-rsvp-panel{width:min(100% - 2rem,72rem)}.website-empty-state{max-width:44rem;padding:var(--space-8);margin:10vh auto;text-align:center}.rsvp-review-queue{display:grid;gap:var(--space-4);padding-top:var(--space-8);margin-top:var(--space-8);border-top:2px solid var(--color-blush)}.rsvp-review-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.rsvp-review-header h2{margin:.25rem 0;font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:500}.rsvp-review-header p{margin:0;color:var(--color-secondary);font-size:var(--text-sm)}.rsvp-review-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.rsvp-review-summary div{display:grid;gap:.15rem;padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-champagne)}.rsvp-review-summary strong{color:var(--color-primary);font-family:var(--font-serif);font-size:var(--text-xl)}.rsvp-review-summary span{color:var(--color-secondary);font-size:var(--text-xs)}.rsvp-review-filters{display:flex;gap:.4rem}.rsvp-review-filters button{padding:.55rem .8rem;border-radius:var(--radius-full);color:var(--color-secondary);background:var(--color-champagne);font-size:var(--text-xs)}.rsvp-review-filters button.active{color:var(--color-white);background:var(--color-burgundy)}.rsvp-review-message,.rsvp-review-empty{padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-secondary);background:var(--color-champagne)}.rsvp-review-list{display:grid;gap:var(--space-4)}.rsvp-review-card{padding:var(--space-4);border:1px solid var(--color-gold-light);border-radius:var(--radius-md)}.rsvp-review-card-heading{display:flex;justify-content:space-between;gap:var(--space-3)}.rsvp-review-card h3{margin:.5rem 0 0;color:var(--color-primary);font-family:var(--font-serif);font-size:var(--text-lg)}.rsvp-review-badge,.rsvp-review-mode{display:inline-flex;padding:.3rem .55rem;border-radius:var(--radius-full);color:var(--color-secondary);background:var(--color-champagne);font-size:var(--text-xs);font-weight:700;text-transform:capitalize}.rsvp-review-badge.status-pending{color:#704f0c;background:#c9a95938}.rsvp-review-badge.status-approved{color:#365132;background:#7d9a7833}.rsvp-review-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:var(--space-4) 0}.rsvp-review-details div{display:grid;gap:.2rem}.rsvp-review-details dt{color:var(--color-secondary);font-size:var(--text-xs);font-weight:700;text-transform:uppercase}.rsvp-review-details dd{margin:0;overflow-wrap:anywhere}.rsvp-review-card>p{color:var(--color-secondary);font-size:var(--text-sm);line-height:1.55}.rsvp-review-actions{display:grid;gap:var(--space-3);padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-blush)}.rsvp-link-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.rsvp-link-action select{min-width:0;padding:.65rem;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);background:var(--color-white)}.rsvp-dismiss-button{justify-self:start;color:var(--color-error);font-size:var(--text-sm)}@media(max-width:1400px){.website-editor-shell{grid-template-columns:11rem minmax(22rem,1fr)}.website-preview-panel{grid-column:1 / -1;border-top:1px solid var(--color-blush);border-left:0}.website-preview-viewport{height:42rem}}@media(max-width:800px){.website-editor-header,.website-editor-actions{align-items:stretch;flex-direction:column}.website-revision-summary{align-items:flex-start}.website-editor-shell{display:block}.website-editor-tabs{flex-flow:row wrap;border-right:0;border-bottom:1px solid var(--color-blush)}.website-editor-tabs>button{flex:1 1 8rem}.website-history{width:100%}.rsvp-review-summary{grid-template-columns:1fr 1fr}.rsvp-link-action{grid-template-columns:1fr}.website-form-panel{max-height:none}}:root{--color-primary: #1a1a2e;--color-secondary: #4a4a68;--color-rose: #be7b7b;--color-rose-light: #d4a5a5;--color-blush: #f8e8e8;--color-burgundy: #722f37;--color-champagne: #f7f3e9;--color-gold: #c9a959;--color-gold-light: #e8d5a3;--color-white: #ffffff;--color-success: #7d9a78;--color-warning: #e6a23c;--color-error: #c45c5c;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Lato", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--sidebar-width: 260px;--header-height: 80px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-primary);background-color:var(--color-champagne)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.3;color:var(--color-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}a{color:var(--color-burgundy);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-rose)}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-sans);font-size:var(--text-base)}img{max-width:100%;height:auto;display:block}.text-center{text-align:center}.text-serif{font-family:var(--font-serif)}.text-italic{font-style:italic}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}.card-header{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-4);color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);transition:all var(--transition-base)}.btn-primary{background:var(--color-burgundy);color:var(--color-white)}.btn-primary:hover{background:var(--color-rose)}.btn-secondary{background:var(--color-blush);color:var(--color-burgundy)}.btn-secondary:hover{background:var(--color-rose-light)}.btn-outline{background:transparent;border:1px solid var(--color-gold);color:var(--color-primary)}.btn-outline:hover{background:var(--color-gold-light)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th{font-family:var(--font-sans);font-weight:600;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-gold-light);color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-blush);color:var(--color-primary)}tr:hover td{background:var(--color-blush)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.badge-success{background:#7d9a7826;color:var(--color-success)}.badge-warning{background:#e6a23c26;color:var(--color-warning)}.badge-error{background:#c45c5c26;color:var(--color-error)}.badge-info{background:#be7b7b26;color:var(--color-rose)}.progress-bar{height:8px;background:var(--color-blush);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-rose) 0%,var(--color-burgundy) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow)}.input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gold-light);border-radius:var(--radius-md);background:var(--color-white);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-rose);box-shadow:0 0 0 3px #be7b7b26}.input::placeholder{color:var(--color-secondary);opacity:.6}.checkbox-wrapper{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.checkbox{appearance:none;width:18px;height:18px;border:2px solid var(--color-gold);border-radius:var(--radius-sm);background:var(--color-white);cursor:pointer;transition:all var(--transition-fast)}.checkbox:checked{background:var(--color-burgundy);border-color:var(--color-burgundy)}.checkbox:checked:after{content:"✓";display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:12px;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-blush);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-rose-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-rose)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}
