@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Montserrat:wght@300;400;500;600&display=swap";:root{--primary-color: #c9b8a8;--secondary-color: #8b7355;--background-color: #faf8f5;--text-color: #2c2c2c;--accent-color: #d4c4b0;--font-primary: "Cormorant Garamond", serif;--font-secondary: "Montserrat", sans-serif;--border-color: #e8e0d8;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .06);--shadow-medium: 0 8px 30px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-secondary);background-color:var(--background-color);color:var(--text-color);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:400;letter-spacing:.05em}a{color:inherit;text-decoration:none}button{font-family:var(--font-secondary);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-secondary);outline:none}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-fade-in-delay-1{animation:fadeIn .8s ease-out .2s forwards;opacity:0}.animate-fade-in-delay-2{animation:fadeIn .8s ease-out .4s forwards;opacity:0}.animate-fade-in-delay-3{animation:fadeIn .8s ease-out .6s forwards;opacity:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background-color)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--secondary-color)}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-container{background:#fff;border-radius:16px;padding:2rem;max-width:420px;width:90%;text-align:center;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .3s ease-out}.modal-icon-wrapper{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.75rem}.modal-info .modal-icon-wrapper{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.modal-success .modal-icon-wrapper{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.modal-warning .modal-icon-wrapper{background:linear-gradient(135deg,#fff8e1,#ffecb3)}.modal-error .modal-icon-wrapper,.modal-danger .modal-icon-wrapper{background:linear-gradient(135deg,#ffebee,#ffcdd2)}.modal-icon{display:flex;align-items:center;justify-content:center}.modal-success .modal-icon{color:#2e7d32;font-weight:700}.modal-error .modal-icon,.modal-danger .modal-icon{color:#c62828;font-weight:700}.modal-title{font-family:var(--font-primary);font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:var(--text-color)}.modal-message{font-size:.95rem;color:#666;line-height:1.6;margin-bottom:1.75rem}.modal-actions{display:flex;gap:.75rem;justify-content:center}.modal-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.modal-btn-cancel{background:#f5f5f5;border:1px solid #e0e0e0;color:#666}.modal-btn-cancel:hover{background:#eee;border-color:#bdbdbd}.modal-btn-confirm{border:none;color:#fff}.modal-btn-info{background:linear-gradient(135deg,#42a5f5,#1976d2)}.modal-btn-info:hover{background:linear-gradient(135deg,#1e88e5,#1565c0);transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.modal-btn-success{background:linear-gradient(135deg,#66bb6a,#43a047)}.modal-btn-success:hover{background:linear-gradient(135deg,#4caf50,#388e3c);transform:translateY(-1px);box-shadow:0 4px 12px #43a0474d}.modal-btn-warning{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.modal-btn-warning:hover{background:linear-gradient(135deg,var(--secondary-color) 0%,#6b5544 100%);transform:translateY(-1px);box-shadow:0 4px 12px #8b73554d}.modal-btn-error,.modal-btn-danger{background:linear-gradient(135deg,#ef5350,#e53935)}.modal-btn-error:hover,.modal-btn-danger:hover{background:linear-gradient(135deg,#e53935,#c62828);transform:translateY(-1px);box-shadow:0 4px 12px #e539354d}.navbar{position:fixed;top:0;left:0;right:0;background:#faf8f5f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1rem 0;border-bottom:1px solid var(--border-color)}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-family:var(--font-primary);font-size:1.5rem;font-weight:500;letter-spacing:.1em;color:var(--text-color);transition:color .3s ease}.navbar-logo:hover{color:var(--secondary-color)}.navbar-menu{display:flex;list-style:none;gap:2.5rem;align-items:center}.navbar-menu a{font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-color);transition:color .3s ease;position:relative}.navbar-menu a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--secondary-color);transition:width .3s ease}.navbar-menu a:hover,.navbar-menu a.active{color:var(--secondary-color)}.navbar-menu a:hover:after,.navbar-menu a.active:after{width:100%}.navbar-rsvp-highlight{background:var(--primary-color)!important;color:#fff!important;padding:.5rem 1.25rem;border-radius:2px;transition:all .3s ease}.navbar-rsvp-highlight:after{display:none!important}.navbar-rsvp-highlight:hover{background:var(--secondary-color)!important;transform:translateY(-1px)}.navbar-logout{font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-color);background:none;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:2px;transition:all .3s ease}.navbar-logout:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media(max-width:768px){.navbar-container{flex-direction:column;gap:1rem}.navbar-menu{gap:1.5rem;flex-wrap:wrap;justify-content:center}}.floral-decoration{position:absolute;width:180px;height:360px;color:var(--secondary-color);opacity:.6;pointer-events:none;z-index:1}.floral-decoration.left{left:5%;top:50%;transform:translateY(-50%)}.floral-decoration.right{right:5%;top:50%;transform:translateY(-50%) scaleX(-1)}.floral-decoration svg{width:100%;height:100%}.floral-decoration .stem{stroke-dasharray:400;stroke-dashoffset:400;animation:drawStem 2s ease-out forwards}.floral-decoration .flower-main{opacity:0;animation:fadeInFlower 1s ease-out 1s forwards}.floral-decoration .leaf{stroke-dasharray:100;stroke-dashoffset:100;animation:drawLeaf 1s ease-out .5s forwards}.floral-decoration .bud{opacity:0;animation:fadeInFlower .8s ease-out 1.2s forwards}.floral-decoration .swirl{stroke-dasharray:100;stroke-dashoffset:100;animation:drawLeaf 1s ease-out 1.5s forwards}.floral-decoration .dot{opacity:0;animation:fadeInDot .5s ease-out 1.8s forwards}@keyframes drawStem{to{stroke-dashoffset:0}}@keyframes drawLeaf{to{stroke-dashoffset:0}}@keyframes fadeInFlower{to{opacity:1}}@keyframes fadeInDot{to{opacity:.7}}@media(max-width:1200px){.floral-decoration{width:120px;height:240px}}@media(max-width:768px){.floral-decoration{display:none}}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden}.hero-content{text-align:center;position:relative;z-index:10;max-width:800px}.hero-image-wrapper{margin-bottom:3rem}.hero-image{width:350px;height:420px;object-fit:cover;filter:grayscale(100%);transition:filter .5s ease;will-change:filter;transform:translateZ(0);backface-visibility:hidden}.hero-image:hover{filter:grayscale(0%)}.hero-image-placeholder{width:350px;height:420px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto}.hero-image-placeholder span{font-family:var(--font-primary);font-size:1.2rem;color:#fff;opacity:.8}.couple-names{font-size:4rem;font-weight:400;letter-spacing:.15em;margin-bottom:1.5rem;text-transform:uppercase}.ampersand{font-style:italic;font-weight:300;opacity:.8}.wedding-date{font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;color:var(--secondary-color);margin-bottom:.5rem}.wedding-venue{font-size:1rem;color:var(--text-color);opacity:.8;margin-bottom:2.5rem}.rsvp-button{display:inline-block;background:var(--primary-color);color:#fff;padding:1rem 4rem;font-size:.9rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;border-radius:2px;transition:all .3s ease;box-shadow:var(--shadow-soft)}.rsvp-button:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--secondary-color),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;height:40px}50%{opacity:1;height:60px}}.welcome-section{padding:6rem 2rem;text-align:center;background:#fff}.welcome-section h2{font-size:2.5rem;margin:1.5rem 0;letter-spacing:.1em}.welcome-message{max-width:600px;margin:0 auto 1.5rem;font-size:1.1rem;line-height:1.8;color:var(--text-color);opacity:.9}.ornament{color:var(--primary-color);font-size:1rem;letter-spacing:.5em}.details-section{padding:6rem 2rem;text-align:center}.details-section h2{font-size:2.5rem;margin-bottom:3rem;letter-spacing:.1em}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.detail-card{background:#fff;padding:3rem 2rem;border-radius:4px;box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.detail-icon{width:50px;height:50px;margin:0 auto 1.5rem;color:var(--secondary-color)}.detail-icon svg{width:100%;height:100%}.detail-card h3{font-size:1.5rem;margin-bottom:.5rem;letter-spacing:.1em}.detail-card p{font-size:1rem;color:var(--text-color);margin-bottom:.5rem}.detail-subtitle{font-size:.85rem;color:var(--secondary-color);font-style:italic}.countdown-section{padding:6rem 2rem;text-align:center;background:#fff}.countdown-section h2{font-size:2.5rem;margin-bottom:3rem;letter-spacing:.1em}.countdown{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:100px}.countdown-number{font-family:var(--font-primary);font-size:4rem;font-weight:300;color:var(--secondary-color);line-height:1}.countdown-label{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-color);opacity:.7;margin-top:.5rem}.countdown-separator{font-family:var(--font-primary);font-size:3rem;color:var(--primary-color);opacity:.5}.registry-section{padding:5rem 2rem;text-align:center;background:linear-gradient(135deg,var(--background-color) 0%,rgba(255,255,255,.8) 100%)}.registry-section h2{font-size:2.5rem;margin-bottom:1.5rem;letter-spacing:.1em}.registry-message{max-width:550px;margin:0 auto 2rem;font-size:1.05rem;line-height:1.8;color:var(--text-color);opacity:.85}.registry-link{display:inline-block;background:var(--primary-color);color:#fff;padding:1rem 2.5rem;border-radius:4px;font-size:.95rem;letter-spacing:.15em;text-transform:uppercase;transition:all .3s ease}.registry-link:hover{background:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.footer{padding:4rem 2rem;text-align:center;background:var(--background-color);border-top:1px solid var(--border-color)}.footer-ornament{width:100px;margin:0 auto 2rem;color:var(--primary-color)}.footer-ornament svg{width:100%}.footer-names{font-family:var(--font-primary);font-size:1.8rem;letter-spacing:.1em;margin-bottom:.5rem}.footer-date{font-size:.9rem;letter-spacing:.15em;color:var(--secondary-color);margin-bottom:1rem}.footer-text{font-size:.85rem;color:var(--text-color);opacity:.6}@media(max-width:768px){.hero-section{padding-top:10rem}.story-section,.details-preview-section,.rsvp-section{padding-top:4rem}.couple-names{font-size:2.5rem}.hero-image,.hero-image-placeholder{width:280px;height:340px}.countdown-number{font-size:2.5rem}.countdown-item{min-width:70px}.countdown-separator{font-size:2rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem 2rem}.login-container{display:flex;align-items:center;justify-content:center;position:relative;max-width:900px;width:100%}.login-card{width:100%;max-width:450px;background:#fff;padding:3rem;border-radius:4px;box-shadow:var(--shadow-medium);animation:fadeIn .6s ease-out}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;margin-bottom:.5rem;letter-spacing:.05em}.login-header p{color:var(--text-color);opacity:.7;font-size:.95rem}.login-error{background:#fff5f5;color:#c53030;padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.9rem;text-align:center;border:1px solid #feb2b2}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.85rem;font-weight:500;letter-spacing:.05em;color:var(--text-color)}.form-group input{padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #c9b8a833}.form-group input::placeholder{color:#ccc}.login-button{background:var(--primary-color);color:#fff;padding:1rem;font-size:.9rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border-radius:4px;transition:all .3s ease;margin-top:.5rem}.login-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.login-footer p{font-size:.9rem;color:var(--text-color);opacity:.8}.toggle-button{background:none;color:var(--secondary-color);font-weight:500;margin-left:.5rem;transition:color .3s ease}.toggle-button:hover{color:var(--primary-color);text-decoration:underline}.login-decoration{position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:200px;color:var(--primary-color);opacity:.3;animation:float 6s ease-in-out infinite;pointer-events:none}.login-decoration svg{width:100%;height:auto}@media(max-width:900px){.login-decoration{display:none}}@media(max-width:768px){.login-page{padding-top:11rem}.login-card{padding:2rem}}.planning-loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-color);opacity:.7}.planning-dashboard{max-width:1200px;margin:0 auto}.countdown-hero{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:16px;padding:3rem;color:#fff;text-align:center;position:relative;overflow:hidden;margin-bottom:2rem}.countdown-content{position:relative;z-index:1}.countdown-label{display:block;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;opacity:.9;margin-bottom:.5rem}.countdown-days{display:block;font-family:var(--font-primary);font-size:6rem;font-weight:300;line-height:1;margin:.5rem 0}.countdown-date{font-size:1.1rem;opacity:.9}.countdown-decoration{position:absolute;right:2rem;top:50%;transform:translateY(-50%);font-size:5rem;opacity:.2}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem;background:#fff;border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.quick-action-icon{font-size:1.5rem}.quick-action-btn span:last-child{font-size:.85rem;color:var(--text-color)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.stat-icon{font-size:2rem;padding:.75rem;background:var(--background-color);border-radius:12px}.stat-content{flex:1}.stat-value{display:block;font-size:1.75rem;font-weight:600;color:var(--text-color);line-height:1.2}.stat-label{display:block;font-size:.85rem;color:var(--text-color);opacity:.7;margin-bottom:.5rem}.stat-details{display:flex;gap:1rem;font-size:.8rem;color:var(--text-color);opacity:.6}.stat-progress{height:6px;background:var(--background-color);border-radius:3px;overflow:hidden;margin-top:.5rem}.stat-progress-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .5s ease}.dashboard-section h3{font-size:1.25rem;margin-bottom:1rem;color:var(--text-color)}.getting-started-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.start-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease}.start-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.start-icon{font-size:2rem;display:block;margin-bottom:.75rem}.start-card h4{font-size:1rem;margin-bottom:.5rem;color:var(--text-color)}.start-card p{font-size:.85rem;color:var(--text-color);opacity:.7;line-height:1.5}.budget-tracker{max-width:1200px;margin:0 auto}.budget-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.budget-stat{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:center}.budget-stat.total{border-left:4px solid var(--primary-color)}.budget-stat.spent{border-left:4px solid #e74c3c}.budget-stat.remaining{border-left:4px solid #27ae60}.budget-stat.pending{border-left:4px solid #f39c12}.budget-stat-value{font-size:1.75rem;font-weight:600;display:block}.budget-stat-label{font-size:.85rem;color:var(--text-color);opacity:.7}.budget-categories{margin-bottom:2rem}.category-list{display:flex;flex-direction:column;gap:.75rem}.category-row{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;display:grid;grid-template-columns:1fr 120px 120px 120px 100px;align-items:center;gap:1rem}.category-name{font-weight:500;display:flex;align-items:center;gap:.5rem}.category-progress-wrapper{grid-column:1 / -1;margin-top:.5rem}.category-progress{height:4px;background:var(--background-color);border-radius:2px;overflow:hidden}.category-progress-fill{height:100%;background:var(--primary-color);transition:width .3s ease}.category-progress-fill.over-budget{background:#e74c3c}.budget-items-section{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.budget-items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.budget-items-header h3{margin:0}.add-expense-btn{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.add-expense-btn:hover{background:var(--secondary-color)}.expense-list{display:flex;flex-direction:column;gap:.5rem}.expense-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:1rem;padding:.75rem 1rem;background:var(--background-color);border-radius:6px;align-items:center;font-size:.9rem}.expense-name{font-weight:500}.expense-category{color:var(--secondary-color);font-size:.8rem}.expense-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;text-transform:uppercase}.expense-status.paid{background:#d4edda;color:#155724}.expense-status.pending{background:#fff3cd;color:#856404}.expense-status.deposit{background:#cce5ff;color:#004085}.task-manager{max-width:1000px;margin:0 auto}.task-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.task-filter-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:#fff;border-radius:20px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.task-filter-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.task-timeline-group{margin-bottom:2rem}.task-timeline-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.task-timeline-header h3{margin:0;font-size:1.1rem}.task-count-badge{background:var(--background-color);padding:.25rem .5rem;border-radius:10px;font-size:.75rem}.task-list{display:flex;flex-direction:column;gap:.5rem}.task-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.task-item:hover{border-color:var(--primary-color)}.task-item.completed{opacity:.6}.task-checkbox{width:22px;height:22px;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.task-checkbox:hover{border-color:var(--primary-color)}.task-checkbox.checked{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.task-content{flex:1}.task-title{font-weight:500;color:var(--text-color)}.task-item.completed .task-title{text-decoration:line-through}.task-description{font-size:.85rem;color:var(--text-color);opacity:.7;margin-top:.25rem}.task-meta{display:flex;gap:1rem;align-items:center}.task-due-date{font-size:.8rem;color:var(--secondary-color)}.task-due-date.overdue{color:#e74c3c}.task-assignee{font-size:.75rem;background:var(--background-color);padding:.25rem .5rem;border-radius:4px}.add-task-row{display:flex;gap:.5rem;margin-bottom:1.5rem}.add-task-row input{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem}.add-task-row button{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer}.guest-manager{max-width:1200px;margin:0 auto}.guest-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.guest-stat-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;text-align:center}.guest-stat-value{font-size:2rem;font-weight:600;color:var(--text-color)}.guest-stat-label{font-size:.8rem;color:var(--text-color);opacity:.7}.guest-actions-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.guest-search{flex:1;min-width:200px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem}.guest-action-btn{padding:.75rem 1.25rem;border:1px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.guest-action-btn.primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.guest-action-btn.active{background:var(--secondary-color);color:#fff;border-color:var(--secondary-color)}.guest-action-btn.has-changes{animation:pulse-save 1.5s ease-in-out infinite;box-shadow:0 0 0 3px #c9b8a866}@keyframes pulse-save{0%,to{box-shadow:0 0 0 3px #c9b8a866}50%{box-shadow:0 0 0 6px #c9b8a833}}.guest-action-btn.delete-btn{background:#fff5f5;border-color:#e74c3c;color:#e74c3c;padding:.25rem .5rem;font-size:.9rem}.guest-action-btn.delete-btn:hover{background:#e74c3c;color:#fff}.guest-table-wrapper{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.guest-table{width:100%;border-collapse:collapse}.guest-table th,.guest-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.guest-table th{background:var(--background-color);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.guest-table tr:last-child td{border-bottom:none}.guest-table tr:hover{background:var(--background-color)}.guest-status{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.active-filters-bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff3e0;border:1px solid #ffe0b2;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap;font-size:.85rem}.filter-tag{display:flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#fff;border:1px solid var(--border-color);border-radius:20px;font-size:.8rem}.filter-tag button{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;opacity:.6;padding:0;margin-left:.25rem}.filter-tag button:hover{opacity:1;color:#e74c3c}.clear-all-filters{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.8rem;text-decoration:underline;margin-left:auto}.filterable-header{position:relative}.header-content{display:flex;align-items:center;gap:.5rem}.filter-btn{background:none;border:none;cursor:pointer;font-size:.6rem;opacity:.5;padding:.25rem;transition:all .2s ease}.filter-btn:hover,.filter-btn.active{opacity:1;color:var(--primary-color)}.column-filter-dropdown{position:absolute;top:100%;left:0;min-width:180px;max-height:250px;overflow-y:auto;background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;margin-top:.25rem}.filter-option{padding:.5rem 1rem;cursor:pointer;font-size:.85rem;font-weight:400;text-transform:none;letter-spacing:normal}.filter-option:hover{background:var(--background-color)}.filter-option.selected{background:var(--primary-color);color:#fff}.plus-one-badge{margin-left:.5rem;padding:.15rem .5rem;background:#e8f5e9;color:#2e7d32;border-radius:10px;font-size:.65rem;font-weight:500}.plus-ones-count{margin-left:.5rem;padding:.15rem .4rem;background:#f3e5f5;color:#7b1fa2;border-radius:10px;font-size:.7rem;font-weight:600}.has-plus-ones td{border-bottom:1px dashed var(--border-color)!important}.plus-one-row{background:#fafafa}.plus-one-row td{padding-left:2.5rem}.plus-one-row td:first-child{padding-left:2rem}.plus-one-indent{color:#999;margin-right:.5rem}.plus-one-label{margin-left:.5rem;padding:.15rem .5rem;background:#f3e5f5;color:#7b1fa2;border-radius:10px;font-size:.65rem;font-weight:500}.plus-one-label.rsvp-guest,.plus-one-label.rsvp-plus-one{background:#e3f2fd;color:#1565c0}.rsvp-guest-row{background:#f8fbff}.add-name-btn{padding:.3rem .6rem;font-size:.75rem;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #90caf9;border-radius:4px;color:#1565c0;cursor:pointer;transition:all .2s ease;font-weight:500}.add-name-btn:hover{background:linear-gradient(135deg,#bbdefb,#90caf9);transform:translateY(-1px);box-shadow:0 2px 4px #1565c033}.guest-status.attending{background:#d4edda;color:#155724}.guest-status.declined{background:#f8d7da;color:#721c24}.guest-status.pending{background:#fff3cd;color:#856404}.guest-status.invited{background:#cce5ff;color:#004085}.vendor-manager{max-width:1200px;margin:0 auto}.vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.vendor-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s ease}.vendor-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #00000014}.vendor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.vendor-category-badge{font-size:.75rem;padding:.25rem .5rem;background:var(--background-color);border-radius:4px;color:var(--secondary-color)}.vendor-name{font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.vendor-contact{font-size:.9rem;color:var(--text-color);opacity:.8}.vendor-details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.vendor-detail-row{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.5rem}.vendor-status{padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.vendor-status.booked{background:#d4edda;color:#155724}.vendor-status.pending{background:#fff3cd;color:#856404}.vendor-status.contacted{background:#cce5ff;color:#004085}.email-builder{max-width:1400px;margin:0 auto}.email-builder-layout{display:grid;grid-template-columns:280px 1fr 300px;gap:1.5rem;min-height:600px}.email-components-panel{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1rem}.email-components-panel h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;color:var(--text-color);opacity:.7}.email-component-btn{width:100%;padding:.75rem 1rem;margin-bottom:.5rem;background:var(--background-color);border:1px dashed var(--border-color);border-radius:8px;cursor:grab;display:flex;align-items:center;gap:.75rem;font-size:.9rem;transition:all .2s ease}.email-component-btn:hover{border-color:var(--primary-color);border-style:solid}.email-canvas{background:#f5f5f5;border-radius:12px;padding:2rem;display:flex;justify-content:center}.email-preview-container{width:600px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;min-height:500px}.email-preview-header{background:var(--background-color);padding:1rem;border-radius:8px 8px 0 0;font-size:.8rem;color:var(--text-color);opacity:.7}.email-preview-body{padding:2rem;min-height:400px}.email-drop-zone{border:2px dashed var(--border-color);border-radius:8px;padding:3rem 2rem;text-align:center;color:var(--text-color);opacity:.5}.email-drop-zone.drag-over{border-color:var(--primary-color);background:#c9b8a81a}.email-settings-panel{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1rem}.email-settings-panel h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;color:var(--text-color);opacity:.7}.email-block{padding:1rem;margin-bottom:.5rem;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease;position:relative}.email-block:hover{border-color:var(--primary-color)}.email-block.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px #c9b8a84d}.email-block-actions{position:absolute;top:.5rem;right:.5rem;display:none;gap:.25rem}.email-block:hover .email-block-actions{display:flex}.email-block-action-btn{width:24px;height:24px;border:none;background:var(--primary-color);color:#fff;border-radius:4px;cursor:pointer;font-size:.75rem}.email-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.email-template-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease}.email-template-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.email-template-preview{height:150px;background:var(--background-color);display:flex;align-items:center;justify-content:center;font-size:3rem}.email-template-info{padding:1rem}.email-template-info h4{font-size:.95rem;margin-bottom:.25rem}.email-template-info p{font-size:.8rem;color:var(--text-color);opacity:.7}.planning-form-group{margin-bottom:1rem}.planning-form-group label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:var(--text-color)}.planning-form-group input,.planning-form-group select,.planning-form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem}.planning-form-group input:focus,.planning-form-group select:focus,.planning-form-group textarea:focus{outline:none;border-color:var(--primary-color)}.planning-form-group .checkbox-inline{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;background:var(--background-color);border-radius:6px;transition:all .2s ease}.planning-form-group .checkbox-inline:hover{background:#c9b8a826}.planning-form-group .checkbox-inline input[type=checkbox]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--primary-color)}.planning-form-group .checkbox-inline span{font-size:.9rem;color:var(--text-color)}.planning-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.planning-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.planning-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.planning-modal-header h2{margin:0;font-size:1.25rem}.planning-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.5}.planning-modal-close:hover{opacity:1}.planning-modal-body{padding:1.5rem}.planning-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color)}.planning-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.planning-btn-secondary{background:#fff;border:1px solid var(--border-color);color:var(--text-color)}.planning-btn-primary{background:var(--primary-color);border:1px solid var(--primary-color);color:#fff}.planning-btn-primary:hover{background:var(--secondary-color);border-color:var(--secondary-color)}@media(max-width:1024px){.email-builder-layout{grid-template-columns:1fr}.email-components-panel,.email-settings-panel{display:none}.category-row{grid-template-columns:1fr 1fr}}@media(max-width:768px){.countdown-days{font-size:4rem}.countdown-decoration{display:none}.expense-item{grid-template-columns:1fr 1fr;gap:.5rem}}.seating-chart{width:100%;max-width:none}.seating-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.seating-stats{display:flex;gap:1rem;font-size:.9rem;color:var(--text-color);opacity:.8}.seating-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.zoom-controls{display:flex;align-items:center;gap:.5rem;background:var(--background-color);padding:.25rem .5rem;border-radius:6px}.zoom-controls button{width:28px;height:28px;border:none;background:#fff;border-radius:4px;cursor:pointer;font-size:1rem}.zoom-controls span{font-size:.8rem;min-width:45px;text-align:center}.seating-layout{display:grid;grid-template-columns:260px 1fr 300px;gap:1rem;min-height:700px}.seating-guests-panel{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1rem;display:flex;flex-direction:column}.seating-guests-panel h3{font-size:1rem;margin-bottom:.75rem}.guest-search-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;margin-bottom:.75rem;font-size:.85rem}.unassigned-guest-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.guest-chip{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--background-color);border:1px dashed var(--border-color);border-radius:6px;cursor:grab;font-size:.85rem;transition:all .2s ease}.guest-chip:hover{border-color:var(--primary-color);border-style:solid}.guest-chip:active{cursor:grabbing}.guest-chip-dietary{font-size:.75rem}.guest-group{margin-bottom:.25rem}.guest-group.has-plus-ones{background:#f3e5f54d;border-radius:8px;padding:.25rem;margin-bottom:.5rem}.guest-group .guest-chip{display:flex;justify-content:space-between;align-items:center;gap:.25rem}.guest-chip-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.guest-chip-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-chip-relation{font-size:.6rem;padding:.1rem .4rem;border-radius:8px;background:#f0f0f0;color:#666;width:fit-content}.guest-chip-relation.plus-one{background:#f3e5f5;color:#7b1fa2}.guest-chip-relation.rsvp{background:#e3f2fd;color:#1565c0}.guest-chip.rsvp-guest{background:#f5f9ff;border-left-color:#64b5f6}.guest-chip-badges{display:flex;align-items:center;gap:.25rem}.guest-chip-plus-count{font-size:.65rem;padding:.1rem .35rem;background:#f3e5f5;color:#7b1fa2;border-radius:8px;font-weight:600}.guest-chip.plus-one{margin-left:.75rem;padding:.35rem .5rem;background:#faf4fc;border-left:2px solid #ce93d8}.plus-one-connector{color:#ce93d8;font-size:.8rem;margin-right:.25rem}.no-guests-message{text-align:center;padding:1.5rem;opacity:.6;font-size:.85rem}.seating-canvas-wrapper{background:#f5f5f5;border-radius:12px;overflow:auto;position:relative;min-height:700px}.seating-canvas{width:100%;min-width:900px;height:700px;background:#fff;position:relative;margin:1rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.seating-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:20px 20px;pointer-events:none}.seating-table{position:absolute;cursor:move;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .2s ease;-webkit-user-select:none;user-select:none}.seating-table.round{border-radius:50%;background:linear-gradient(135deg,#f8f4ef,#ebe5dd);border:2px solid var(--primary-color)}.seating-table.rect{border-radius:8px;background:linear-gradient(135deg,#f8f4ef,#ebe5dd);border:2px solid var(--primary-color)}.seating-table.head{border-radius:4px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border:2px solid var(--secondary-color);color:#fff}.seating-table.sweetheart{border-radius:50%/60% 60% 40% 40%;background:linear-gradient(135deg,#fce4ec,#f8bbd9);border:2px solid #ec407a}.seating-table.square{border-radius:8px;background:linear-gradient(135deg,#e8f4e8,#d0e8d0);border:2px solid #66bb6a}.seating-table.oval{border-radius:50%;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #42a5f5}.seating-table.selected{box-shadow:0 0 0 3px #c9b8a866}.capacity-btn{width:32px;height:32px;border:1px solid var(--border-color);background:var(--background-color);border-radius:6px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.capacity-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.rotate-btn{padding:.5rem .75rem;border:1px solid var(--border-color);background:var(--background-color);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.rotate-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.seating-table.droppable{border-style:dashed}.table-label{font-size:.75rem;font-weight:600;text-align:center}.table-capacity{font-size:.65rem;opacity:.7}.table-seats{position:absolute;inset:0;pointer-events:none}.seat{position:absolute;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;transform:translate(-50%,-50%);pointer-events:auto;cursor:default;transition:all .15s ease}.seat.empty{background:#fff;border:2px dashed #ccc}.seat.occupied{background:var(--primary-color);color:#fff;border:2px solid var(--secondary-color)}.seat.drop-target{border-color:var(--primary-color);background:#fff9f5;cursor:pointer;animation:seat-pulse 1s infinite}.seat.drop-target.hovered{transform:translate(-50%,-50%) scale(1.3);background:var(--accent-color, #fce4ec);border-color:var(--secondary-color);border-style:solid;box-shadow:0 0 12px #c9b8a899;z-index:10}.seat.show-name{overflow:visible}.seat-name-label{position:absolute;top:calc(100% + 2px);left:50%;padding:2px 4px;background:#fffffff2;border:1px solid var(--border-color);border-radius:3px;font-size:.6rem;line-height:1.2;white-space:normal;word-break:break-word;text-align:center;box-shadow:0 1px 3px #0000001a;z-index:15;max-width:70px;min-width:40px;width:max-content;color:var(--text-color);font-weight:500;pointer-events:none}.seat.drop-target .seat-plus{font-size:.8rem;color:var(--primary-color)}@keyframes seat-pulse{0%,to{opacity:1}50%{opacity:.6}}.empty-canvas-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;opacity:.5}.empty-canvas-message span{font-size:4rem;display:block;margin-bottom:1rem}.seating-details-panel{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1rem}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.table-name-input{font-size:1.1rem;font-weight:600;border:none;background:none;padding:0}.close-panel{background:none;border:none;font-size:1.5rem;cursor:pointer;opacity:.5}.panel-section{margin-bottom:1rem}.panel-section label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.25rem}.panel-section input,.panel-section select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem}.table-type-display{font-size:.9rem;margin:0}.table-guest-list{max-height:280px;overflow-y:auto}.table-guest-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--background-color);border-radius:4px;margin-bottom:.25rem;font-size:.85rem;transition:all .15s ease}.table-guest-item.empty-seat{background:transparent;border:1px dashed var(--border-color)}.table-guest-item .seat-number{font-size:.75rem;color:var(--text-muted, #999);min-width:50px}.table-guest-item .guest-name{flex:1;font-weight:500}.table-guest-item .empty-label{flex:1;opacity:.5;font-style:italic}.table-guest-item .guest-info-col{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.table-guest-item .guest-relation-tag{font-size:.6rem;padding:.1rem .4rem;border-radius:8px;width:fit-content;background:#f0f0f0;color:#666}.table-guest-item button{background:none;border:none;cursor:pointer;opacity:.5;padding:.25rem}.table-guest-item button:hover{opacity:1;color:#e74c3c}.table-guest-item.empty-seat:hover{background:#fff9f5;border-color:var(--primary-color)}.no-guests{font-size:.8rem;opacity:.6;font-style:italic;margin:0}.panel-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.delete-table-btn{width:100%;padding:.5rem;background:none;border:1px solid #e74c3c;color:#e74c3c;border-radius:4px;cursor:pointer;font-size:.85rem}.delete-table-btn:hover{background:#e74c3c;color:#fff}.table-shape-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.table-shape-btn{display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.table-shape-btn:hover{border-color:var(--primary-color);transform:translateY(-2px)}.shape-preview{width:50px;height:50px;margin-bottom:.5rem;background:var(--primary-color)}.shape-preview.round{border-radius:50%}.shape-preview.rect{border-radius:4px;width:60px;height:30px}.shape-preview.head{border-radius:2px;width:70px;height:20px}.shape-preview.sweetheart{border-radius:50%/60% 60% 40% 40%;width:35px;height:40px;background:#ec407a}.shape-preview.square{border-radius:4px;width:40px;height:40px;background:#66bb6a}.shape-preview.oval{border-radius:50%;width:60px;height:40px;background:#42a5f5}.shape-preview.large{width:100px;height:100px;margin:0 auto}.shape-preview.large.round{border-radius:50%}.shape-preview.large.rect{width:120px;height:60px;border-radius:8px}.shape-preview.large.square{width:80px;height:80px}.shape-preview.large.oval{width:120px;height:80px}.shape-preview.large.head{width:140px;height:40px;border-radius:4px}.shape-preview.large.sweetheart{width:70px;height:80px}.table-shape-btn span{font-size:.85rem;font-weight:500}.table-shape-btn small{font-size:.75rem;opacity:.7}.add-table-modal{max-width:550px}.capacity-selector{display:flex;flex-direction:column;gap:1.5rem}.back-btn{align-self:flex-start;background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.9rem;padding:0}.back-btn:hover{text-decoration:underline}.selected-shape-preview{text-align:center}.selected-shape-preview h3{margin-top:1rem;font-size:1.1rem}.capacity-input-group{display:flex;flex-direction:column;align-items:center;gap:.75rem}.capacity-input-group label{font-size:.9rem;color:var(--text-color)}.capacity-controls{display:flex;align-items:center;gap:.5rem}.capacity-controls input{width:70px;padding:.5rem;text-align:center;font-size:1.1rem;border:1px solid var(--border-color);border-radius:6px}.add-table-confirm-btn{padding:1rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease}.add-table-confirm-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}.timeline-planner{max-width:100%}.timeline-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.timeline-title{display:flex;align-items:center;gap:1rem}.timeline-title h2{margin:0}.timeline-title span{font-size:.85rem;opacity:.6}.timeline-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.view-toggle{display:flex;background:var(--background-color);border-radius:6px;padding:2px}.view-toggle button{padding:.4rem .75rem;background:none;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.view-toggle button.active{background:#fff;box-shadow:0 1px 3px #0000001a}.timeline-layout{display:grid;grid-template-columns:1fr 300px;gap:1rem;min-height:600px}.timeline-main{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.visual-timeline{display:grid;grid-template-columns:80px 1fr;min-height:600px;position:relative}.time-markers{position:relative;border-right:1px solid var(--border-color);background:var(--background-color)}.time-marker{position:absolute;right:.5rem;font-size:.7rem;color:var(--text-color);opacity:.7;transform:translateY(-50%)}.timeline-events{position:relative;padding:.5rem;min-height:100%;background:repeating-linear-gradient(180deg,transparent,transparent 50px,rgba(0,0,0,.02) 50px,rgba(0,0,0,.02) 100px)}.timeline-event{position:absolute;left:.5rem;right:.5rem;border-radius:8px;padding:.5rem .75rem;cursor:pointer;border-left:4px solid;display:flex;align-items:center;gap:.75rem;transition:all .2s ease;overflow:hidden}.timeline-event:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.timeline-event.selected{box-shadow:0 0 0 2px var(--primary-color)}.event-time{font-size:.7rem;font-weight:600;min-width:55px;opacity:.8}.event-content{flex:1;display:flex;align-items:center;gap:.5rem;overflow:hidden}.event-icon{font-size:1rem}.event-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-duration{font-size:.7rem;opacity:.7}.list-timeline{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.list-event{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.list-event:hover{background:#f0ebe6}.list-event.selected{box-shadow:0 0 0 2px var(--primary-color)}.list-event-time{min-width:80px;text-align:center}.start-time{display:block;font-weight:600;font-size:.9rem}.end-time{display:block;font-size:.75rem;opacity:.6}.list-event-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.list-event-details{flex:1}.list-event-details h4{margin:0 0 .25rem;font-size:.95rem}.event-meta{display:flex;gap:1rem;font-size:.8rem;opacity:.7}.list-event-actions{display:flex;gap:.25rem}.list-event-actions button{width:32px;height:32px;border:none;background:#fff;border-radius:4px;cursor:pointer;opacity:.7}.list-event-actions button:hover{opacity:1}.empty-timeline-message{text-align:center;padding:4rem 2rem;opacity:.5}.empty-timeline-message span{font-size:4rem;display:block;margin-bottom:1rem}.timeline-details-panel{background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1rem}.timeline-details-panel .panel-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.timeline-details-panel .panel-actions{display:flex;gap:.5rem}.timeline-details-panel .panel-actions button{flex:1;padding:.5rem;border:1px solid var(--border-color);background:#fff;border-radius:4px;cursor:pointer;font-size:.8rem}.timeline-details-panel .delete-btn{border-color:#e74c3c;color:#e74c3c}.event-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.5rem}.event-type-btn{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border:2px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease}.event-type-btn:hover{border-color:var(--type-color, var(--primary-color))}.event-type-btn.selected{border-color:var(--type-color, var(--primary-color));background:var(--type-color, var(--primary-color))}.event-type-btn span{font-size:1.25rem}.event-type-btn small{font-size:.65rem;margin-top:.25rem;text-align:center}@media print{.seating-toolbar,.seating-guests-panel,.seating-details-panel,.timeline-toolbar,.timeline-details-panel{display:none!important}.seating-layout,.timeline-layout{grid-template-columns:1fr!important}.seating-canvas-wrapper,.timeline-main{border:none!important;box-shadow:none!important}}@media(max-width:1024px){.seating-layout{grid-template-columns:200px 1fr}.seating-details-panel{position:fixed;right:0;top:0;bottom:0;width:300px;border-radius:0;z-index:100;box-shadow:-4px 0 20px #0000001a}.timeline-layout{grid-template-columns:1fr}.timeline-details-panel{position:fixed;bottom:0;left:0;right:0;border-radius:12px 12px 0 0;max-height:50vh;overflow-y:auto;z-index:100;box-shadow:0 -4px 20px #0000001a}}@media(max-width:768px){.seating-layout{grid-template-columns:1fr}.seating-guests-panel{max-height:150px}.seating-canvas{width:100%;height:400px;transform-origin:center center}}.room-item{position:absolute;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow .2s ease;z-index:1;box-shadow:0 2px 8px #00000026}.room-item:hover{box-shadow:0 4px 12px #00000040}.room-item.selected{box-shadow:0 0 0 3px var(--primary-color),0 4px 12px #00000040;z-index:5}.room-item-icon{font-size:1.5rem;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.room-item-label{font-size:.65rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.room-item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.room-item-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:#f8f8f8;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.room-item-btn:hover{background:#eee;border-color:var(--item-color)}.room-item-preview{width:50px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.room-item-btn span:last-child{font-size:.8rem;color:var(--text-color)}.room-presets .preset-btn{padding:.5rem .75rem;background:#f0f0f0;border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.room-presets .preset-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.room-item-details-panel{position:fixed;right:20px;top:50%;transform:translateY(-50%);width:260px;background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:1rem;box-shadow:0 4px 20px #00000026;z-index:1000}.room-item-details-panel .panel-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.room-item-details-panel .table-name-input{flex:1;font-size:1rem;font-weight:600}.room-item-details-panel .panel-section small{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem}.room-item-details-panel .panel-section input[type=number]{width:100%;padding:.4rem;border:1px solid var(--border-color);border-radius:4px}.room-item-details-panel .panel-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.room-item-details-panel .panel-section input[type=color]{width:100%;height:36px;padding:2px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.room-item-details-panel .delete-item-btn{width:100%;padding:.6rem;background:transparent;border:1px solid #e74c3c;border-radius:6px;color:#e74c3c;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.room-item-details-panel .delete-item-btn:hover{background:#e74c3c;color:#fff}.room-item-details-panel .rotate-btn{padding:.4rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.room-item-details-panel .rotate-btn:hover{border-color:var(--primary-color);background:#c9b8a81a}.room-settings-panel .panel-header h3{display:flex;align-items:center;gap:.5rem}.room-presets-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.room-presets-grid .preset-btn{padding:.6rem .5rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;text-align:center;transition:all .2s ease;font-size:.8rem;line-height:1.3}.room-presets-grid .preset-btn small{display:block;opacity:.6;font-size:.7rem;margin-top:2px}.room-presets-grid .preset-btn:hover{border-color:var(--primary-color);background:#c9b8a826}.room-summary{display:flex;flex-direction:column;gap:.5rem}.summary-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--background-color);border-radius:6px;font-size:.85rem}.summary-icon{font-size:1rem}.quick-action-btn{padding:.6rem 1rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease;text-align:left}.quick-action-btn:hover{border-color:var(--primary-color);background:#c9b8a826}.admin-page{min-height:100vh;padding:6rem 2rem 2rem;background:var(--background-color)}.admin-container{max-width:1200px;margin:0 auto}.admin-container.full-width{max-width:none;padding:0 1rem}.admin-header{text-align:center;margin-bottom:2rem}.admin-header h1{font-size:2.5rem;margin-bottom:1rem}.admin-header p{color:var(--text-color);opacity:.7}.mode-switcher{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}.mode-switcher .mode-btn{padding:.6rem 1.5rem;border:1px solid var(--border-color);background:#fff;border-radius:25px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--text-color)}.mode-switcher .mode-btn:hover{border-color:var(--primary-color)}.mode-switcher .mode-btn.active{background:var(--primary-color);color:var(--text-color);border-color:var(--primary-color);font-weight:600}.planning-tabs{flex-wrap:wrap;justify-content:center}.admin-message{background:var(--primary-color);color:#fff;padding:1rem;border-radius:4px;text-align:center;margin-bottom:1.5rem;animation:fadeIn .3s ease-out}.admin-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border-color)}.admin-tabs button{background:none;padding:1rem 2rem;font-size:.9rem;font-weight:500;letter-spacing:.05em;color:var(--text-color);opacity:.6;border-bottom:2px solid transparent;transition:all .3s ease;margin-bottom:-1px}.admin-tabs button:hover{opacity:1}.admin-tabs button.active{opacity:1;border-bottom-color:var(--secondary-color);color:var(--secondary-color)}.admin-content{background:#fff;border-radius:8px;padding:2rem;box-shadow:var(--shadow-soft)}.theme-editor{display:flex;flex-direction:column;gap:2rem}.editor-section{padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.editor-section:last-of-type{border-bottom:none}.editor-section h2{font-size:1.3rem;margin-bottom:1.5rem;color:var(--secondary-color)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-grid .full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-color)}.form-group input,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:4px;font-size:.95rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color)}.form-group textarea{resize:vertical;min-height:100px}.image-upload{display:flex;align-items:center;gap:2rem}.current-image{width:200px;height:150px;border-radius:4px;overflow:hidden;background:var(--background-color)}.current-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-color);opacity:.5;font-size:.9rem}.upload-button{display:inline-block;background:var(--secondary-color);color:#fff;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.upload-button:hover{background:var(--primary-color)}.upload-button input{display:none}.color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.color-picker label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.5rem}.color-input{display:flex;align-items:center;gap:.75rem}.color-input input[type=color]{width:50px;height:40px;border:none;border-radius:4px;cursor:pointer;padding:0}.color-input span{font-size:.9rem;font-family:monospace;color:var(--text-color);opacity:.8}.save-button{background:var(--primary-color);color:#fff;padding:1rem 3rem;font-size:.9rem;font-weight:500;letter-spacing:.1em;border-radius:4px;align-self:flex-start;transition:all .3s ease}.save-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px)}.save-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--background-color);padding:1.5rem;border-radius:8px;text-align:center}.stat-number{display:block;font-family:var(--font-primary);font-size:2.5rem;color:var(--secondary-color);line-height:1;margin-bottom:.5rem}.stat-label{font-size:.85rem;color:var(--text-color);opacity:.7}.rsvp-table-wrapper{overflow-x:auto}.rsvp-table{width:100%;border-collapse:collapse}.rsvp-table th,.rsvp-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.rsvp-table th{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-color);opacity:.7}.rsvp-table td{font-size:.95rem}.message-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.status.yes{background:#c6f6d5;color:#276749}.status.no{background:#fed7d7;color:#c53030}.delete-btn{background:none;color:#c53030;font-size:.85rem;padding:.25rem .5rem;transition:opacity .3s ease}.delete-btn:hover{opacity:.7}.no-data{text-align:center;padding:3rem;color:var(--text-color);opacity:.5}.blog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.blog-header h2{font-size:1.3rem;color:var(--secondary-color)}.new-post-btn{background:var(--secondary-color);color:#fff;padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;transition:background .3s ease}.new-post-btn:hover{background:var(--primary-color)}.posts-list{display:flex;flex-direction:column;gap:1rem}.post-card{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--background-color);border-radius:8px;transition:transform .3s ease}.post-card:hover{transform:translate(5px)}.post-thumbnail{width:100px;height:80px;object-fit:cover;border-radius:4px}.post-info{flex:1}.post-info h3{font-size:1.1rem;margin-bottom:.25rem}.post-date{font-size:.8rem;color:var(--secondary-color);margin-bottom:.5rem}.post-excerpt{font-size:.9rem;color:var(--text-color);opacity:.7}.post-actions{display:flex;gap:.5rem}.post-actions button{padding:.5rem 1rem;border-radius:4px;font-size:.85rem;background:#fff;border:1px solid var(--border-color);transition:all .3s ease}.post-actions button:hover{border-color:var(--primary-color);color:var(--primary-color)}.post-actions button.delete{color:#c53030}.post-actions button.delete:hover{border-color:#c53030;background:#fff5f5}.post-editor{animation:fadeIn .3s ease-out}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.editor-header h2{font-size:1.3rem;color:var(--secondary-color)}.cancel-btn{background:none;color:var(--text-color);padding:.5rem 1rem;font-size:.9rem;opacity:.7;transition:opacity .3s ease}.cancel-btn:hover{opacity:1}.image-upload-inline{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.preview-image{width:150px;height:100px;object-fit:cover;border-radius:4px}.upload-btn{display:inline-block;background:var(--background-color);padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.upload-btn:hover{background:var(--border-color)}.remove-image{background:none;color:#c53030;font-size:.9rem}.rich-editor{border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.editor-toolbar{display:flex;gap:.5rem;padding:.75rem;background:var(--background-color);border-bottom:1px solid var(--border-color)}.editor-toolbar button{background:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.85rem;border:1px solid var(--border-color);transition:all .3s ease}.editor-toolbar button:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.editor-content{min-height:300px;padding:1rem;font-size:1rem;line-height:1.6}.editor-content:focus{outline:none}.editor-content:empty:before{content:attr(data-placeholder);color:#ccc;pointer-events:none}.editor-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.save-btn{background:var(--primary-color);color:#fff;padding:.75rem 2rem;border-radius:4px;font-size:.9rem;transition:all .3s ease}.save-btn:hover:not(:disabled){background:var(--secondary-color)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.account-settings{display:flex;flex-direction:column;gap:2rem}.account-info{background:var(--background-color);padding:1.5rem;border-radius:8px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.info-row:last-child{border-bottom:none}.info-label{font-size:.9rem;font-weight:500;color:var(--text-color);opacity:.7}.info-value{font-size:.95rem;color:var(--text-color)}.password-form{max-width:400px;display:flex;flex-direction:column;gap:1.25rem}.success-message{background:#c6f6d5;color:#276749;padding:1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;border:1px solid #9ae6b4}.error-message{background:#fff5f5;color:#c53030;padding:1rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem;border:1px solid #feb2b2}.details-editor{display:flex;flex-direction:column;gap:2rem}.section-hint{font-size:.9rem;color:var(--text-color);opacity:.7;margin-bottom:1rem}.section-types{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.section-type-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--background-color);border:2px solid var(--border-color);border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.section-type-btn:hover{border-color:var(--primary-color);background:#fff}.section-type-btn span{font-size:1.2rem}.sections-list{display:flex;flex-direction:column;gap:.75rem}.section-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border:1px solid var(--border-color);border-radius:8px}.section-info{display:flex;align-items:center;gap:1rem}.section-type-badge{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.section-info h4{font-size:1rem;margin:0}.section-actions{display:flex;gap:.5rem}.section-actions button{padding:.4rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.section-actions button:hover{background:#fff;border-color:var(--primary-color)}.section-actions button.delete{color:#c53030}.section-actions button.delete:hover{background:#fff5f5;border-color:#c53030}.section-actions button:disabled{opacity:.3;cursor:not-allowed}.section-editor{background:#fff;padding:2rem;border-radius:12px}.section-editor .editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-editor .editor-header h2{font-size:1.3rem;color:var(--secondary-color);text-transform:capitalize}.items-editor{margin-top:1.5rem}.items-editor>label{display:block;font-weight:500;margin-bottom:1rem}.item-row{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:center}.item-row input{flex:1;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem}.item-block{background:var(--background-color);padding:1.25rem;border-radius:8px;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.item-block input,.item-block textarea{width:100%;padding:.6rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;font-family:inherit}.remove-item{padding:.4rem .75rem;background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;cursor:pointer;font-size:.85rem}.remove-item:hover{background:#c53030;color:#fff}.add-item-btn{padding:.6rem 1.25rem;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;margin-top:.5rem}.add-item-btn:hover{background:var(--secondary-color)}.section-editor .editor-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.admin-page{padding-top:11rem}.form-grid{grid-template-columns:1fr}.image-upload,.post-card{flex-direction:column;align-items:flex-start}.post-thumbnail{width:100%;height:150px}.admin-tabs{flex-wrap:wrap}.admin-tabs button{flex:1;min-width:100px}.section-types{flex-direction:column}.section-type-btn{width:100%;justify-content:center}.section-item{flex-direction:column;gap:1rem;align-items:flex-start}.item-row{flex-direction:column}.item-row input{width:100%}}.registry-manager{display:flex;flex-direction:column;gap:2rem}.registry-mode-toggle{display:flex;gap:1rem;flex-wrap:wrap}.registry-mode-toggle .mode-btn{flex:1;min-width:220px;display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left;position:relative}.registry-mode-toggle .mode-btn:hover{border-color:var(--primary-color)}.registry-mode-toggle .mode-btn.active{border-color:var(--secondary-color);background:linear-gradient(135deg,#c9b8a826,#d4c4b026);box-shadow:0 2px 8px #0000001a}.registry-mode-toggle .mode-btn.active:before{content:"✓";position:absolute;top:.5rem;right:.5rem;width:20px;height:20px;background:var(--secondary-color);color:#fff;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center}.registry-mode-toggle .mode-btn span{font-size:2rem}.registry-mode-toggle .mode-btn strong{display:block;font-size:1rem;margin-bottom:.25rem;color:var(--text-color)}.registry-mode-toggle .mode-btn p{font-size:.85rem;color:var(--text-color);opacity:.7;margin:0}.registry-type-buttons{display:flex;gap:1rem;flex-wrap:wrap}.add-item-type-btn{flex:1;min-width:200px;display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:left}.add-item-type-btn:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.add-item-type-btn.fund{border-color:#d4af37}.add-item-type-btn.fund:hover{background:linear-gradient(135deg,#d4af371a,#f4d03f1a)}.add-item-type-btn span{font-size:2rem}.add-item-type-btn strong{display:block;font-size:1rem;margin-bottom:.25rem}.add-item-type-btn p{font-size:.85rem;color:var(--text-color);opacity:.7;margin:0}.registry-items-list{display:flex;flex-direction:column;gap:1rem}.registry-admin-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border-color);border-radius:8px}.registry-admin-item.reserved{background:#f0fff4;border-color:#9ae6b4}.registry-admin-item .item-preview{width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0}.registry-admin-item .item-preview img{width:100%;height:100%;object-fit:cover}.registry-admin-item .item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--background-color);font-size:2rem}.registry-admin-item .item-info{flex:1;min-width:0}.registry-admin-item .item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.registry-admin-item h4{font-size:1rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-type-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.item-type-badge.item{background:var(--primary-color);color:#fff}.item-type-badge.fund{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300}.item-category{font-size:.8rem;color:var(--text-color);opacity:.6}.item-price-display{font-size:.9rem;font-weight:600;color:var(--secondary-color)}.fund-stats{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--secondary-color)}.fund-stats.no-goal{flex-direction:column;align-items:flex-start;gap:.25rem}.no-goal-label{font-size:.75rem;color:var(--text-color);opacity:.5;font-style:italic}.goal-toggle{display:flex;gap:.75rem}.goal-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:#fff;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center}.goal-option:hover{border-color:var(--primary-color)}.goal-option.active{border-color:var(--secondary-color);background:linear-gradient(135deg,#c9b8a826,#d4c4b026)}.goal-option strong{font-size:.9rem;color:var(--text-color)}.goal-option span{font-size:.8rem;color:var(--text-color);opacity:.6}.goal-option.active strong{color:var(--secondary-color)}.mini-progress{width:80px;height:6px;background:var(--background-color);border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;background:linear-gradient(135deg,#d4af37,#f4d03f);border-radius:3px}.reserved-info{font-size:.85rem;color:#276749;margin-top:.25rem}.contributions-count{font-size:.85rem;color:var(--secondary-color)}.item-actions-admin{display:flex;gap:.5rem;flex-shrink:0}.item-actions-admin button{padding:.4rem .75rem;background:var(--background-color);border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.item-actions-admin button:hover{background:#fff;border-color:var(--primary-color)}.item-actions-admin button.delete{color:#c53030}.item-actions-admin button.delete:hover{background:#fff5f5;border-color:#c53030}.registry-item-editor{background:#fff;padding:2rem;border-radius:12px}.registry-item-editor .editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.registry-item-editor h2{font-size:1.3rem;color:var(--secondary-color)}.image-upload-area{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.preview-image{position:relative;width:120px;height:120px;border-radius:8px;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:cover}.preview-image button{position:absolute;bottom:.5rem;right:.5rem;padding:.25rem .5rem;background:#000000b3;color:#fff;border:none;border-radius:4px;font-size:.75rem;cursor:pointer}.upload-btn{padding:.75rem 1.5rem;background:var(--background-color);border:2px dashed var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.upload-btn:hover{border-color:var(--primary-color);background:#fff}.upload-btn input{display:none}.empty-state{text-align:center;padding:3rem;color:var(--text-color);opacity:.6}@media(max-width:768px){.registry-mode-toggle,.registry-type-buttons{flex-direction:column}.registry-admin-item{flex-direction:column;align-items:flex-start}.registry-admin-item .item-preview{width:100%;height:150px}.item-actions-admin{width:100%}.item-actions-admin button{flex:1}}.updates-page{min-height:100vh;padding:7rem 2rem 4rem}.updates-container{max-width:1000px;margin:0 auto}.updates-header{text-align:center;margin-bottom:4rem;animation:fadeIn .6s ease-out}.updates-header h1{font-size:3rem;letter-spacing:.1em;margin-bottom:.5rem}.updates-header p{color:var(--text-color);opacity:.7;font-size:1.1rem}.loading{display:flex;justify-content:center;padding:4rem}.loading-spinner{width:40px;height:40px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.post-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-soft);cursor:pointer;transition:all .4s ease;animation:fadeInUp .6s ease-out forwards;opacity:0}.post-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium)}.post-card.featured{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.post-card.featured .post-image{height:100%;min-height:350px}.post-card.featured .post-body{padding:2.5rem;display:flex;flex-direction:column;justify-content:center}.post-card.featured h2{font-size:2rem}.post-image{height:200px;overflow:hidden}.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.post-card:hover .post-image img{transform:scale(1.05)}.post-body{padding:1.5rem}.post-body time{font-size:.8rem;color:var(--secondary-color);letter-spacing:.1em;text-transform:uppercase}.post-body h2{font-size:1.4rem;margin:.5rem 0;letter-spacing:.02em;line-height:1.3}.post-body .excerpt{font-size:.95rem;color:var(--text-color);opacity:.7;line-height:1.6;margin:.75rem 0}.read-more{font-size:.85rem;color:var(--secondary-color);font-weight:500;transition:color .3s ease}.post-card:hover .read-more{color:var(--primary-color)}.no-posts{text-align:center;padding:4rem 2rem;animation:fadeIn .6s ease-out}.no-posts-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:var(--primary-color)}.no-posts-icon svg{width:100%;height:100%}.no-posts h2{font-size:1.8rem;margin-bottom:.5rem}.no-posts p{color:var(--text-color);opacity:.7}.single-post{max-width:800px;margin:0 auto;animation:fadeIn .5s ease-out}.back-button{background:none;color:var(--secondary-color);font-size:.9rem;padding:.5rem 0;margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem;transition:color .3s ease}.back-button:hover{color:var(--primary-color)}.post-hero-image{width:100%;height:400px;border-radius:8px;overflow:hidden;margin-bottom:2rem}.post-hero-image img{width:100%;height:100%;object-fit:cover}.post-header{text-align:center;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.post-header h1{font-size:2.5rem;letter-spacing:.05em;margin-bottom:1rem;line-height:1.2}.post-header time{font-size:.9rem;color:var(--secondary-color);letter-spacing:.1em}.post-content{font-size:1.1rem;line-height:1.8;color:var(--text-color)}.post-content p{margin-bottom:1.5rem}.post-content h2,.post-content h3{margin:2rem 0 1rem}.post-content ul,.post-content ol{margin:1.5rem 0;padding-left:2rem}.post-content li{margin-bottom:.5rem}.post-content img{max-width:100%;border-radius:8px;margin:2rem 0}.post-content blockquote{border-left:3px solid var(--primary-color);padding-left:1.5rem;margin:2rem 0;font-style:italic;color:var(--secondary-color)}.post-footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-color)}.post-footer .footer-ornament{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.post-footer p{font-family:var(--font-primary);font-size:1.2rem;font-style:italic;color:var(--secondary-color)}@media(max-width:768px){.updates-page{padding-top:11rem}.post-card.featured{grid-template-columns:1fr}.post-card.featured .post-image{min-height:200px}.updates-header h1{font-size:2rem}.post-header h1{font-size:1.8rem}.post-hero-image{height:250px}}.rsvp-page{min-height:100vh;padding:7rem 2rem 4rem;position:relative;overflow:hidden}.rsvp-floral{opacity:.3}.rsvp-container{max-width:600px;margin:0 auto;position:relative;z-index:10}.rsvp-header{text-align:center;margin-bottom:3rem;animation:fadeIn .6s ease-out}.rsvp-header h1{font-size:3rem;letter-spacing:.2em;margin-bottom:.5rem}.rsvp-header>p{font-size:1.1rem;color:var(--text-color);opacity:.8;margin-bottom:1.5rem}.event-details{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:var(--secondary-color);letter-spacing:.05em}.event-details .separator{opacity:.5}.rsvp-form{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:var(--shadow-medium);animation:fadeInUp .6s ease-out}.form-error{background:#fff5f5;color:#c53030;padding:1rem;border-radius:4px;margin-bottom:1.5rem;font-size:.9rem;text-align:center;border:1px solid #feb2b2}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:500;letter-spacing:.05em;color:var(--text-color);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #c9b8a833}.form-group input::placeholder,.form-group textarea::placeholder{color:#ccc}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b7355' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group textarea{resize:vertical;min-height:120px}.radio-group{display:flex;gap:1rem}.radio-option{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:1.25rem 1.5rem;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .3s ease}.radio-option:hover{border-color:var(--primary-color)}.radio-option.selected{border-color:var(--primary-color);background:#c9b8a814}.radio-option:before{content:"";position:absolute;top:-2px;left:-2px;width:20px;height:20px;border-radius:4px 0 8px;background:transparent;transition:all .3s ease}.radio-option.selected:before{background:var(--primary-color)}.radio-option:after{content:"";position:absolute;top:2px;left:4px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s ease}.radio-option.selected:after{opacity:1}.radio-option input,.radio-custom{display:none}.radio-label{font-size:1rem;font-weight:500;color:var(--text-color);line-height:1}.plus-one-inline{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin-top:-.5rem;margin-bottom:1.5rem;background:var(--background-color);border-radius:4px;border-left:3px solid var(--primary-color)}.plus-one-question{font-size:.9rem;color:var(--text-color);opacity:.9}.yes-no-toggle{display:flex;gap:0;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.yn-btn{padding:.4rem 1rem;font-size:.8rem;font-weight:500;background:#fff;color:var(--text-color);border:none;cursor:pointer;transition:all .2s ease;opacity:.6}.yn-btn:first-child{border-right:1px solid var(--border-color)}.yn-btn:hover{opacity:1}.yn-btn.active{background:var(--primary-color);color:#fff;opacity:1}.submit-button{width:100%;background:var(--primary-color);color:#fff;padding:1.25rem;font-size:.95rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;border-radius:4px;transition:all .3s ease;margin-top:1rem}.submit-button:hover:not(:disabled){background:var(--secondary-color);transform:translateY(-2px)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.rsvp-footer{text-align:center;margin-top:2rem}.rsvp-footer p{font-size:.9rem;color:var(--text-color);opacity:.6;font-style:italic}.rsvp-success{background:#fff;padding:4rem 3rem;border-radius:8px;box-shadow:var(--shadow-medium);text-align:center;animation:scaleIn .5s ease-out}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;color:#48bb78}.success-icon svg{width:100%;height:100%}.rsvp-success h1{font-size:2.5rem;margin-bottom:1rem;letter-spacing:.1em}.rsvp-success>p{font-size:1.1rem;color:var(--text-color);opacity:.8;margin-bottom:2rem}.success-details{padding:1.5rem;background:var(--background-color);border-radius:8px;margin-bottom:2rem}.success-details p{margin:.25rem 0;color:var(--text-color)}.success-details strong{color:var(--secondary-color)}.success-ornament{color:var(--primary-color);font-size:1.2rem}@media(max-width:768px){.rsvp-page{padding-top:11rem}}@media(max-width:600px){.rsvp-form{padding:1.5rem}.radio-group{flex-direction:column}.rsvp-header h1{font-size:2.5rem}.event-details{flex-direction:column;gap:.25rem}.event-details .separator{display:none}.plus-one-inline{flex-wrap:wrap;gap:.5rem}.plus-one-question{font-size:.85rem}}.rsvp-loading{background:#fff;padding:4rem 3rem;border-radius:8px;box-shadow:var(--shadow-medium);text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;margin:0 auto 1.5rem;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rsvp-error-card{background:#fff;padding:4rem 3rem;border-radius:8px;box-shadow:var(--shadow-medium);text-align:center;animation:fadeIn .5s ease-out}.error-icon{font-size:4rem;margin-bottom:1.5rem}.rsvp-error-card h1{font-size:2rem;margin-bottom:1rem;letter-spacing:.1em}.rsvp-error-card p{color:var(--text-color);opacity:.8;margin-bottom:1rem;line-height:1.6}.error-hint{font-size:.9rem;font-style:italic}.back-home-btn{display:inline-block;margin-top:1.5rem;padding:.75rem 2rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:4px;font-size:.9rem;letter-spacing:.05em;transition:all .3s ease}.back-home-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}.rsvp-already-responded{background:#fff;padding:4rem 3rem;border-radius:8px;box-shadow:var(--shadow-medium);text-align:center;animation:fadeIn .5s ease-out}.rsvp-already-responded h1{font-size:2.2rem;margin-bottom:.5rem;letter-spacing:.1em}.response-status{color:var(--text-color);opacity:.7;margin-bottom:2rem}.current-response{background:var(--background-color);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.current-response h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-bottom:1rem}.response-badge{display:inline-block;padding:.5rem 1.5rem;border-radius:20px;font-weight:500;font-size:1rem}.response-badge.yes{background:#c6f6d5;color:#276749}.response-badge.no{background:#fed7d7;color:#9b2c2c}.plus-one-info,.dietary-info{margin-top:.75rem;font-size:.9rem;color:var(--text-color)}.edit-response-btn{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:.75rem 2rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.edit-response-btn:hover{background:var(--primary-color);color:#fff}.responded-date{margin-top:1.5rem;font-size:.8rem;opacity:.5}.guest-greeting{font-size:1.3rem;margin-bottom:.5rem;color:var(--secondary-color)}.guest-greeting strong{color:var(--primary-color)}.plus-one-section{margin-bottom:1.5rem}.plus-one-name-group{margin-top:.75rem;padding-left:1rem;border-left:3px solid var(--primary-color)}.cancel-edit-btn{display:block;width:100%;margin-top:.75rem;padding:.75rem;background:transparent;border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.cancel-edit-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.details-page{min-height:100vh;padding:7rem 2rem 4rem}.details-container{max-width:900px;margin:0 auto}.details-header{text-align:center;margin-bottom:4rem;animation:fadeIn .6s ease-out}.details-header h1{font-size:3rem;letter-spacing:.1em;margin-bottom:.5rem}.details-header>p{color:var(--text-color);opacity:.7;font-size:1.1rem}.detail-section{margin-bottom:4rem;animation:fadeInUp .6s ease-out}.detail-section h2{font-size:1.8rem;text-align:center;margin-bottom:2rem;letter-spacing:.05em;color:var(--secondary-color)}.venue-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}.venue-info{padding:2.5rem;text-align:center}.venue-info h3{font-size:1.5rem;margin-bottom:.5rem}.venue-address{color:var(--text-color);opacity:.7;margin-bottom:1.5rem}.venue-datetime{display:flex;justify-content:center;gap:3rem;margin-bottom:1.5rem}.datetime-item{text-align:center}.datetime-item .label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary-color);margin-bottom:.25rem}.datetime-item .value{font-family:var(--font-primary);font-size:1.2rem}.directions-btn{display:inline-block;background:var(--primary-color);color:#fff;padding:.75rem 2rem;border-radius:4px;font-size:.9rem;letter-spacing:.1em;transition:all .3s ease}.directions-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}.venue-map{border-top:1px solid var(--border-color)}.text-content{background:#fff;padding:2rem;border-radius:12px;box-shadow:var(--shadow-soft);line-height:1.8}.text-content p{margin-bottom:1rem}.text-content p:last-child{margin-bottom:0}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.info-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:var(--shadow-soft);text-align:center;transition:transform .3s ease}.info-card:hover{transform:translateY(-5px)}.card-icon{font-size:2rem;margin-bottom:1rem}.info-card h3{font-size:1.2rem;margin-bottom:.5rem}.info-card p{color:var(--text-color);opacity:.8;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.info-card a{color:var(--secondary-color);font-weight:500;font-size:.9rem}.info-card a:hover{color:var(--primary-color)}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary-color)}.timeline-item{position:relative;padding:1.5rem 0 1.5rem 2rem;border-bottom:1px solid var(--border-color)}.timeline-item:last-child{border-bottom:none}.timeline-item:before{content:"";position:absolute;left:-2rem;top:1.8rem;width:10px;height:10px;background:var(--primary-color);border-radius:50%;transform:translate(-4px)}.timeline-time{font-family:var(--font-primary);font-size:1.1rem;color:var(--secondary-color);margin-bottom:.25rem}.timeline-content h4{font-size:1.1rem;margin-bottom:.25rem}.timeline-content p{color:var(--text-color);opacity:.7;font-size:.95rem}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:#fff;border-radius:8px;box-shadow:var(--shadow-soft);overflow:hidden}.faq-item summary{padding:1.25rem 1.5rem;cursor:pointer;font-weight:500;font-size:1rem;display:flex;justify-content:space-between;align-items:center;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.5rem;color:var(--primary-color);transition:transform .3s ease}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{padding:0 1.5rem 1.25rem;color:var(--text-color);opacity:.8;line-height:1.7}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-item{position:relative;border-radius:8px;overflow:hidden}.gallery-item img{width:100%;height:200px;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item .caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:.85rem}.accommodation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.hotel-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-soft)}.hotel-card img{width:100%;height:180px;object-fit:cover}.hotel-info{padding:1.5rem}.hotel-info h3{font-size:1.2rem;margin-bottom:.25rem}.hotel-info .distance{font-size:.85rem;color:var(--secondary-color);display:block;margin-bottom:.75rem}.hotel-info p{color:var(--text-color);opacity:.8;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.hotel-info a{display:inline-block;background:var(--primary-color);color:#fff;padding:.5rem 1.5rem;border-radius:4px;font-size:.85rem;transition:background .3s ease}.hotel-info a:hover{background:var(--secondary-color)}.registry-section{text-align:center;background:#fff;padding:3rem;border-radius:12px;box-shadow:var(--shadow-soft)}.registry-message{max-width:500px;margin:0 auto 2rem;color:var(--text-color);opacity:.8;line-height:1.7}.registry-btn{display:inline-block;background:var(--primary-color);color:#fff;padding:1rem 3rem;border-radius:4px;font-size:.95rem;letter-spacing:.1em;transition:all .3s ease}.registry-btn:hover{background:var(--secondary-color);transform:translateY(-2px)}.details-footer{text-align:center;padding-top:2rem;border-top:1px solid var(--border-color)}.details-footer p{font-family:var(--font-primary);font-size:1.2rem;font-style:italic;color:var(--secondary-color)}@media(max-width:768px){.details-page{padding-top:11rem}.details-header h1{font-size:2rem}.venue-datetime{flex-direction:column;gap:1rem}.timeline,.timeline-item{padding-left:1.5rem}}.registry-page{min-height:100vh;padding:7rem 2rem 4rem}.registry-container{max-width:1200px;margin:0 auto}.registry-header{text-align:center;margin-bottom:3rem;animation:fadeIn .6s ease-out}.header-ornament{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.registry-header h1{font-size:3rem;letter-spacing:.1em;margin-bottom:1rem}.registry-header>p{max-width:600px;margin:0 auto;color:var(--text-color);opacity:.8;line-height:1.7}.registry-filters{display:flex;justify-content:center;gap:.75rem;margin-bottom:3rem;flex-wrap:wrap}.registry-filters button{padding:.6rem 1.5rem;border:1px solid var(--border-color);background:#fff;border-radius:25px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.registry-filters button:hover{border-color:var(--primary-color)}.registry-filters button.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.registry-section{margin-bottom:4rem}.registry-section h2{font-size:1.8rem;text-align:center;margin-bottom:.5rem;letter-spacing:.05em;color:var(--secondary-color)}.section-note{text-align:center;color:var(--text-color);opacity:.6;font-size:.95rem;margin-bottom:2rem}.reserved-section .registry-item{opacity:.6}.registry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.registry-item{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:transform .3s ease,box-shadow .3s ease}.registry-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001f}.registry-item.reserved{pointer-events:none}.item-image{position:relative;height:200px;background:var(--background-color)}.item-image img{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem}.reserved-badge{position:absolute;top:1rem;right:1rem;background:var(--secondary-color);color:#fff;padding:.35rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.fund-badge{position:absolute;top:1rem;left:1rem;background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300;padding:.35rem .75rem;border-radius:4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.item-details{padding:1.5rem}.item-details h3{font-size:1.2rem;margin-bottom:.5rem;line-height:1.3}.item-description{font-size:.9rem;color:var(--text-color);opacity:.7;line-height:1.5;margin-bottom:1rem}.item-price{display:block;font-size:1.1rem;font-weight:600;color:var(--secondary-color);margin-bottom:1rem}.total-raised-mini{display:block;font-size:.95rem;font-weight:600;color:var(--secondary-color);margin-bottom:1rem}.total-raised{font-size:.9rem;color:var(--secondary-color);margin-top:.5rem}.fund-progress-mini{margin-bottom:1rem}.progress-bar{height:8px;background:var(--background-color);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:4px;transition:width .5s ease}.progress-text{font-size:.85rem;color:var(--secondary-color)}.item-actions{margin-top:1rem}.reserve-btn,.contribute-btn{width:100%;padding:.85rem;border:none;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .3s ease}.reserve-btn{background:var(--primary-color);color:#fff}.reserve-btn:hover{background:var(--secondary-color)}.contribute-btn{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300;font-weight:600}.contribute-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af3766}.empty-registry{text-align:center;padding:4rem 2rem;color:var(--text-color);opacity:.7}.registry-footer{text-align:center;padding-top:3rem;border-top:1px solid var(--border-color)}.footer-ornament{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem}.registry-footer p{font-family:var(--font-primary);font-size:1.2rem;font-style:italic;color:var(--secondary-color)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#fff;border-radius:16px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:var(--background-color);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-color);transition:background .2s ease}.modal-close:hover{background:var(--border-color)}.modal h3{font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.modal-item-preview{display:flex;gap:1rem;padding:1rem;background:var(--background-color);border-radius:8px;margin-bottom:1.5rem}.modal-item-preview img{width:80px;height:80px;object-fit:cover;border-radius:6px}.modal-item-preview h4{font-size:1rem;margin-bottom:.25rem}.modal-item-preview .price{color:var(--secondary-color);font-weight:600}.modal-item-preview .fund-progress{margin-top:.5rem}.modal-item-preview .fund-progress .progress-bar{height:6px}.modal-item-preview .fund-progress span{font-size:.8rem;color:var(--text-color);opacity:.7}.modal-note{font-size:.9rem;color:var(--text-color);opacity:.7;line-height:1.6;margin-bottom:1.5rem;padding:1rem;background:var(--background-color);border-radius:8px}.modal .form-group{margin-bottom:1.25rem}.modal .form-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.modal .form-group input,.modal .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.modal .form-group input:focus,.modal .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.modal .submit-btn{width:100%;padding:1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s ease}.modal .submit-btn:hover:not(:disabled){background:var(--secondary-color)}.modal .submit-btn:disabled{opacity:.7;cursor:not-allowed}.modal .submit-btn.contribute-btn{background:linear-gradient(135deg,#d4af37,#f4d03f);color:#5c4300}.payment-note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;font-size:.85rem;color:var(--text-color);opacity:.6}.payment-note svg{width:16px;height:16px}.loading{text-align:center;padding:4rem;color:var(--text-color);opacity:.7}@media(max-width:768px){.registry-page{padding-top:11rem}.registry-header h1{font-size:2rem}.registry-grid{grid-template-columns:1fr}.modal{padding:1.5rem;margin:1rem}}.not-found-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--background-color) 0%,color-mix(in srgb,var(--primary-color) 5%,var(--background-color)) 50%,var(--background-color) 100%)}.not-found-content{text-align:center;max-width:600px;position:relative;z-index:1}.broken-heart{font-size:3rem;margin-bottom:1rem;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.not-found-title{font-family:var(--heading-font);font-size:8rem;font-weight:300;color:var(--primary-color);margin:0;line-height:1;display:flex;align-items:center;justify-content:center;gap:.5rem}.not-found-title .four{text-shadow:2px 2px 4px rgba(0,0,0,.1)}.not-found-title .ring{font-size:5rem;animation:sparkle 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}@keyframes sparkle{0%,to{transform:rotate(-10deg) scale(1);filter:drop-shadow(0 0 10px rgba(255,215,0,.5))}50%{transform:rotate(10deg) scale(1.1);filter:drop-shadow(0 0 20px rgba(255,215,0,.8))}}.not-found-subtitle{font-family:var(--heading-font);font-size:2rem;font-weight:400;color:var(--text-color);margin:1.5rem 0 1rem;opacity:.9}.not-found-message{font-family:var(--body-font);font-size:1.1rem;color:var(--text-color);opacity:.7;line-height:1.8;margin-bottom:2rem}.not-found-decoration{display:flex;justify-content:center;gap:1.5rem;font-size:1.5rem;margin-bottom:2rem;color:var(--primary-color);opacity:.6}.not-found-decoration span{animation:sway 3s ease-in-out infinite}.not-found-decoration span:nth-child(1){animation-delay:0s}.not-found-decoration span:nth-child(2){animation-delay:.5s}.not-found-decoration span:nth-child(3){animation-delay:1s}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.not-found-actions{display:flex;justify-content:center}.home-button{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:var(--primary-color);color:#fff;text-decoration:none;font-family:var(--body-font);font-size:1rem;letter-spacing:1px;text-transform:uppercase;border-radius:50px;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.home-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026;background:color-mix(in srgb,var(--primary-color) 85%,black)}.button-icon{font-size:1.2rem}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;width:10px;height:10px;top:-20px;left:var(--x);background:var(--primary-color);opacity:.3;animation:fall var(--duration) linear var(--delay) infinite;transform:rotate(var(--rotation))}.confetti-piece:nth-child(odd){width:8px;height:12px;border-radius:50%;background:var(--accent-color, var(--primary-color))}.confetti-piece:nth-child(3n){width:6px;height:6px;background:color-mix(in srgb,var(--primary-color) 70%,gold)}@keyframes fall{0%{transform:translateY(0) rotate(var(--rotation));opacity:.4}to{transform:translateY(100vh) rotate(calc(var(--rotation) + 360deg));opacity:0}}@media(max-width:768px){.not-found-title{font-size:5rem}.not-found-title .ring{font-size:3.5rem}.not-found-subtitle{font-size:1.5rem}.not-found-message{font-size:1rem}.broken-heart{font-size:2rem}}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1}
