@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Montserrat:wght@300;400;500;600;700&family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap";.admin-page{min-height:100vh;background:linear-gradient(to bottom,var(--color-ivory-medium) 0%,var(--color-ivory) 100%)}.admin-layout{display:flex;flex-direction:column;min-height:100vh;transition:all .3s ease}.admin-layout.header-minimized .admin-content{padding-top:0;padding-bottom:0}.admin-content.fullscreen{padding:20px 0!important;max-width:100%!important;margin:0!important}.admin-layout-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background:var(--color-white);border-bottom:2px solid var(--color-ivory-dark);box-shadow:0 2px 10px #0000000d}.header-logo{display:flex;align-items:center;gap:12px}.logo-isotipo{width:48px;height:48px;object-fit:contain;flex-shrink:0}.logo-text{font-family:var(--font-elegant);font-size:1.8rem;font-weight:600;color:var(--color-graphite);letter-spacing:.5px}.header-user{display:flex;align-items:center;gap:15px}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;color:var(--color-graphite)}.user-role{font-family:Montserrat,sans-serif;font-size:.8rem;color:#8a7a72}.user-avatar{width:45px;height:45px;border-radius:50%;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden;transition:transform .2s ease}.user-avatar:hover{transform:scale(1.05)}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar .material-symbols-outlined{font-size:1.8rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.admin-navbar{background:var(--color-white);border-bottom:2px solid var(--color-ivory-dark);padding:8px 30px;box-shadow:0 2px 10px #0000000d}.nav-cards{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;align-items:center}.nav-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:95px;height:95px;background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:12px;cursor:pointer;transition:all .3s ease;padding:8px;box-shadow:0 2px 8px #0000000d}.nav-card:hover{transform:translateY(-3px);border-color:var(--color-gold-soft);box-shadow:0 4px 15px var(--color-gold-light)}.nav-card.active{background:var(--gradient-gold);border-color:var(--color-gold-soft);color:var(--color-white);box-shadow:0 4px 15px var(--color-gold-medium)}.nav-card-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;margin-bottom:6px;background:var(--color-gold-light);border-radius:10px;transition:all .3s ease}.nav-card.active .nav-card-icon{background:#fff3}.nav-card-icon .material-symbols-outlined{font-size:1.7rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48;transition:all .3s ease}.nav-card.active .nav-card-icon .material-symbols-outlined{color:var(--color-white)}.nav-card-name{font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:500;color:#5a4a42;text-align:center;transition:all .3s ease;line-height:1.2}.nav-card.active .nav-card-name{color:#fff}.admin-content{flex:1;padding:40px;max-width:1400px;margin:0 auto;width:100%}.dashboard-section{width:100%}.wedding-header-summary{background:var(--gradient-gold);border-radius:24px;padding:50px 40px;margin-bottom:40px;box-shadow:0 8px 30px var(--color-gold-medium);position:relative;overflow:hidden}.wedding-header-summary:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:#ffffff1a;border-radius:50%}.wedding-header-content{position:relative;z-index:1;text-align:center}.wedding-title-summary{font-family:Cormorant Garamond,serif;font-size:3.5rem;color:var(--color-white);margin-bottom:20px;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.1)}.couple-names-summary{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:25px;flex-wrap:wrap}.groom-name,.bride-name{font-family:Cormorant Garamond,serif;font-size:2rem;color:var(--color-white);font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.1)}.couple-divider{font-family:Cormorant Garamond,serif;font-size:2rem;color:#ffffffe6;font-weight:300}.event-date-summary{display:inline-flex;align-items:center;gap:10px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 24px;border-radius:50px;font-family:Montserrat,sans-serif;font-size:1rem;color:var(--color-white);font-weight:500}.event-date-summary .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.wedding-code-badge{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;background:#fffffff2;padding:10px 18px;border-radius:50px;font-family:Montserrat,sans-serif;font-size:.9rem;color:var(--color-graphite);font-weight:600;box-shadow:0 4px 15px #0000001a;z-index:2}.wedding-code-badge .material-symbols-outlined{font-size:1.1rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px}.stat-box{background:var(--color-white);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;border:2px solid var(--color-ivory-dark);display:flex;align-items:center;gap:20px;transition:all .3s ease}.stat-box:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--color-gold-light);border-color:var(--color-gold-soft)}.stat-icon-wrapper{width:70px;height:70px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-box.invitations-stat .stat-icon-wrapper{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.stat-box.guests-stat .stat-icon-wrapper{background:linear-gradient(135deg,#f3e5f5,#e1bee7)}.stat-box.confirmed-stat .stat-icon-wrapper{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.stat-box.pending-stat .stat-icon-wrapper{background:linear-gradient(135deg,#fff3e0,#ffe0b2)}.stat-icon-wrapper .material-symbols-outlined{font-size:2.5rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.stat-box.invitations-stat .stat-icon-wrapper .material-symbols-outlined{color:#1976d2}.stat-box.guests-stat .stat-icon-wrapper .material-symbols-outlined{color:#7b1fa2}.stat-box.confirmed-stat .stat-icon-wrapper .material-symbols-outlined{color:#388e3c}.stat-box.pending-stat .stat-icon-wrapper .material-symbols-outlined{color:#f57c00}.stat-info{flex:1}.stat-number{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:600;color:var(--color-graphite);line-height:1;margin-bottom:8px}.stat-label{font-family:Montserrat,sans-serif;font-size:.9rem;color:#8a7a72;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dashboard-title{font-family:Cormorant Garamond,serif;font-size:2.5rem;color:var(--color-graphite);margin-bottom:30px;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.dashboard-card{background:var(--color-white);border-radius:20px;padding:30px;box-shadow:0 4px 15px #00000014;border:2px solid var(--color-ivory-dark);display:flex;align-items:flex-start;gap:20px;transition:all .3s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--color-gold-light);border-color:var(--color-gold-soft)}.dashboard-card .card-icon{width:70px;height:70px;background:var(--gradient-gold);border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dashboard-card .card-icon .material-symbols-outlined{font-size:2.5rem;color:var(--color-white);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.card-content{flex:1}.card-title{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;color:#8a7a72;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.card-value{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;color:var(--color-graphite);margin-bottom:10px;line-height:1.3}.card-subvalue{font-family:Montserrat,sans-serif;font-size:.85rem;color:#8a7a72;margin-top:8px;display:flex;align-items:center;gap:6px}.card-subvalue .material-symbols-outlined{font-size:1rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.card-stats{display:flex;flex-direction:column;gap:8px;margin-top:15px}.stat-item{display:flex;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:.85rem;padding:6px 12px;border-radius:8px;width:fit-content}.stat-item.confirmed{background:#e8f5e9;color:#2e7d32}.stat-item.pending{background:#fff3e0;color:#e65100}.stat-item .material-symbols-outlined{font-size:1rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f5f1e8,#faf8f3,#f5f1e8);padding:20px}.login-container{width:100%;max-width:480px;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{width:100%;background:var(--color-white);border-radius:24px;padding:60px 50px;box-shadow:0 10px 40px #00000014,0 2px 8px #0000000a;border:1px solid var(--color-gold-light);position:relative;overflow:hidden}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-gold-soft) 0%,var(--color-gold-dark) 50%,var(--color-gold-soft) 100%)}.login-header{text-align:center;margin-bottom:50px}.login-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:var(--color-gold-light);margin-bottom:24px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.login-icon{font-size:4.5rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.login-title{font-family:Cormorant Garamond,serif;font-size:3rem;color:var(--color-graphite);margin-bottom:12px;font-weight:600;line-height:1.2}.login-subtitle{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#8a7a72;font-weight:400;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:20px}.login-pin-input{width:100%;padding:16px 20px;font-family:Montserrat,sans-serif;font-size:1.1rem;text-align:center;letter-spacing:4px;border:2px solid #e8e0d6;border-radius:12px;background:#faf8f3;color:#2c1810;transition:all .3s ease}.login-pin-input:focus{outline:none;border-color:var(--color-gold-soft);background:var(--color-white);box-shadow:0 0 0 4px var(--color-gold-light)}.login-pin-input::placeholder{letter-spacing:0;color:#b8a99a}.auth-error{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#ffebee;border:1px solid #ffcdd2;border-radius:12px;color:#c62828;font-family:Montserrat,sans-serif;font-size:.95rem;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.auth-error .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.pin-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-family:Montserrat,sans-serif;font-size:.9rem}.pin-error .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-login{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;background:var(--gradient-gold);color:var(--color-white);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px var(--color-gold-medium)}.btn-login:hover{background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);transform:translateY(-2px);box-shadow:0 6px 20px var(--color-gold-strong)}.btn-login .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-google{background:#fff;color:#3c4043;border:2px solid #e8e0d6;box-shadow:0 2px 8px #00000014;font-weight:500;position:relative;overflow:hidden}.btn-google:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,165,116,.1),transparent);transition:left .5s}.btn-google:hover:before{left:100%}.btn-google:hover{background:#faf8f3;border-color:#d4a574;box-shadow:0 4px 12px #d4a57433;transform:translateY(-2px)}.btn-google:active{transform:translateY(0);box-shadow:0 2px 6px #d4a57426}.google-icon{width:20px;height:20px;flex-shrink:0}.login-footer{margin-top:24px;text-align:center}.login-hint{display:flex;align-items:center;justify-content:center;gap:8px;font-family:Montserrat,sans-serif;font-size:.85rem;color:#8a7a72;font-weight:400}.login-hint .material-symbols-outlined{font-size:1rem;color:#d4a574;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.loading-auth{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 20px;text-align:center}.loading-auth .spinning{font-size:3rem;color:var(--color-gold-soft);animation:spin 1s linear infinite}.loading-auth p{font-family:Montserrat,sans-serif;font-size:1rem;color:#8a7a72}.admin-header{text-align:center;margin-bottom:40px}.admin-header h1{font-family:Cormorant Garamond,serif;font-size:3rem;color:var(--color-graphite);margin-bottom:10px;font-weight:600}.admin-header p{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#8a7a72}.admin-menu{max-width:1000px;margin:0 auto;padding:40px 20px}.menu-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;margin-top:40px}.menu-card{position:relative;background:var(--color-white);border-radius:20px;padding:40px;cursor:pointer;transition:all .3s ease;border:2px solid var(--color-ivory-dark);box-shadow:0 4px 15px #00000014;overflow:hidden}.menu-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--gradient-gold);transform:scaleX(0);transition:transform .3s ease}.menu-card:hover{transform:translateY(-8px);box-shadow:0 8px 25px var(--color-gold-light);border-color:var(--color-gold-soft)}.menu-card:hover:before{transform:scaleX(1)}.menu-card-icon{width:80px;height:80px;background:var(--gradient-gold);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:25px;transition:all .3s ease}.menu-card:hover .menu-card-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #d4a57466}.menu-card-icon .material-symbols-outlined{font-size:3rem;color:var(--color-white);font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.menu-card h2{font-family:Cormorant Garamond,serif;font-size:2rem;color:var(--color-graphite);margin-bottom:15px;font-weight:600}.menu-card p{font-family:Montserrat,sans-serif;font-size:1rem;color:#5a4a42;line-height:1.6;margin-bottom:20px}.menu-card-arrow{display:flex;align-items:center;justify-content:flex-end;color:var(--color-gold-soft);transition:all .3s ease}.menu-card:hover .menu-card-arrow{transform:translate(5px);color:var(--color-gold-dark)}.menu-card-arrow .material-symbols-outlined{font-size:2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.admin-nav{max-width:1400px;margin:0 auto 30px;padding:0 20px}.upload-container{max-width:800px;margin:0 auto}.upload-card{background:#fff;border-radius:20px;box-shadow:0 8px 30px #0000001f;border:1px solid rgba(212,165,116,.2);overflow:hidden}.upload-header{background:var(--gradient-gold);padding:40px;text-align:center;color:var(--color-white);position:relative}.btn-close-upload{position:absolute;top:15px;right:15px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff3;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;color:#fff}.btn-close-upload:hover{background:#ffffff4d;transform:rotate(90deg)}.btn-close-upload .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.upload-modal-content{max-width:700px;width:100%}.upload-icon-wrapper{margin-bottom:20px}.upload-icon{font-size:4rem;font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.upload-header h2{font-family:Cormorant Garamond,serif;font-size:2.5rem;margin-bottom:10px;font-weight:600}.upload-subtitle{font-family:Montserrat,sans-serif;font-size:1.1rem;opacity:.95;font-weight:300}.upload-content{padding:40px}.csv-requirements{background:var(--color-ivory);border-radius:12px;padding:25px;margin-bottom:30px;border-left:4px solid var(--color-gold-soft)}.csv-requirements h3{display:flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;color:#2c1810;margin-bottom:15px}.csv-requirements h3 .material-symbols-outlined{font-size:1.3rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.requirements-list{display:flex;flex-direction:column;gap:12px}.requirement-item{display:flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:.95rem;color:#5a4a42}.requirement-item .material-symbols-outlined{font-size:1.1rem;color:#2e7d32;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.requirement-item strong{color:#2c1810;font-weight:600}.file-input-hidden{display:none}.file-upload-area{margin-bottom:25px}.file-upload-label{display:block;width:100%;min-height:180px;border:3px dashed var(--color-gold-soft);border-radius:16px;background:var(--color-ivory);cursor:pointer;transition:all .3s ease;padding:20px;box-sizing:border-box}.file-upload-label:hover{border-color:var(--color-gold-dark);background:var(--color-ivory-medium);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-light)}.file-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:140px;text-align:center}.upload-placeholder-icon{font-size:3.5rem;color:var(--color-gold-soft);margin-bottom:15px;font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.upload-text{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#2c1810;margin-bottom:8px}.upload-hint{font-family:Montserrat,sans-serif;font-size:.9rem;color:#8a7a72}.file-selected{display:flex;align-items:center;gap:15px;padding:15px;background:var(--color-white);border-radius:12px;border:2px solid var(--color-gold-soft)}.file-icon{font-size:2.5rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.file-info{flex:1}.file-name-text{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:500;color:var(--color-graphite);margin-bottom:4px}.file-size{font-family:Montserrat,sans-serif;font-size:.85rem;color:#8a7a72}.btn-remove-file{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffebee;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;color:#c62828}.btn-remove-file:hover{background:#ffcdd2;transform:scale(1.1)}.btn-remove-file .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.upload-status{display:flex;align-items:center;gap:15px;padding:20px;border-radius:12px;margin-bottom:25px;animation:slideIn .3s ease}.upload-status.success{background:#e8f5e9;border:2px solid #4caf50}.upload-status.has-errors{background:#fff3e0;border:2px solid #ff9800}.status-icon{font-size:2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.upload-status.success .status-icon{color:#2e7d32}.upload-status.has-errors .status-icon{color:#e65100}.status-content{flex:1}.status-title{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;margin-bottom:4px}.upload-status.success .status-title{color:#2e7d32}.upload-status.has-errors .status-title{color:#e65100}.status-details{font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-upload{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;background:var(--gradient-gold);color:var(--color-white);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px var(--color-gold-medium)}.btn-upload:hover:not(:disabled){background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);transform:translateY(-3px);box-shadow:0 6px 20px var(--color-gold-strong)}.btn-upload:active:not(:disabled){transform:translateY(-1px)}.btn-upload:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-upload .material-symbols-outlined{font-size:1.4rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-section{max-width:1400px;margin:0 auto}.guests-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.guests-header h2{font-family:Cormorant Garamond,serif;font-size:2.2rem;color:var(--color-graphite);font-weight:600}.guests-header-actions{display:flex;gap:12px;align-items:center}.btn-new-guest{display:flex;align-items:center;gap:8px;padding:10px 20px;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;background:var(--color-white);color:var(--color-graphite);border:2px solid var(--color-gold-soft);border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px var(--color-gold-light)}.btn-new-guest:hover{background:var(--color-gold-soft);color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-medium)}.btn-new-guest .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-upload-csv{display:flex;align-items:center;gap:8px;padding:10px 20px;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;background:var(--gradient-gold);color:var(--color-white);border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px var(--color-gold-medium)}.btn-upload-csv:hover{background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-strong)}.btn-upload-csv .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.guests-summary{display:flex;gap:16px;margin-bottom:30px;padding:16px;background:var(--color-ivory);border-radius:12px;border:1px solid var(--color-ivory-dark)}.summary-card{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:12px;border-radius:8px;background:transparent;transition:all .2s ease}.summary-card:hover{background:#ffffff80}.summary-value-small{font-family:var(--font-elegant);font-size:1.8rem;font-weight:600;color:var(--color-graphite);line-height:1}.summary-label-small{font-family:var(--font-primary);font-size:.7rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.summary-card.total .summary-value-small{color:var(--color-graphite)}.summary-card.confirmed .summary-value-small{color:#2e7d32}.summary-card.pending .summary-value-small{color:#ff9800}.summary-card.rejected .summary-value-small{color:#c62828}.group-selector-wrapper{display:flex;align-items:center}.group-selector{padding:10px 16px;font-family:var(--font-primary);font-size:.9rem;color:var(--color-graphite);background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:180px}.group-selector:hover,.group-selector:focus{border-color:var(--color-gold-soft);outline:none;box-shadow:0 0 0 3px var(--color-gold-light)}.guests-grouped-container{display:flex;flex-direction:column;gap:30px}.guest-group{background:var(--color-white);border-radius:16px;padding:24px;border:2px solid var(--color-ivory-dark);box-shadow:0 2px 10px #0000000a}.group-title{font-family:var(--font-elegant);font-size:1.8rem;font-weight:600;color:var(--color-graphite);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-ivory-dark);display:flex;align-items:center;gap:12px}.group-count{font-family:var(--font-primary);font-size:1rem;font-weight:400;color:var(--color-text-tertiary);margin-left:auto}.btn-delete-group{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#c96a6a;margin-left:8px}.btn-delete-group:hover{background:#ffe6e6;border-color:#c96a6a;color:#c96a6a}.btn-delete-group .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.guests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.guest-card-admin{background:var(--color-white);padding:20px;border-radius:12px;box-shadow:0 2px 10px #00000014;border:2px solid var(--color-ivory-dark);transition:all .3s ease;position:relative}.guest-card-admin:hover{border-color:var(--color-gold-soft);box-shadow:0 4px 15px var(--color-gold-light);transform:translateY(-2px)}.guest-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-edit-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#5a4a42}.btn-edit-icon:hover{background:#faf8f3;border-color:#d4a574;color:#d4a574}.btn-edit-icon .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#c96a6a}.btn-delete-icon:hover{background:#ffe6e6;border-color:#c96a6a;color:#c96a6a}.btn-delete-icon .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.guest-name-section{border-bottom:2px solid #f0ead8;padding-bottom:15px;margin-bottom:15px}.guest-name-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.guest-icon-circle{width:44px;height:44px;border-radius:50%;background:var(--color-gold-light);border:2px solid var(--color-gold-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}.guest-icon-circle .material-symbols-outlined{font-size:1.8rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.guest-info-admin h3{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;color:var(--color-graphite);margin:0;word-break:break-word}.guest-name-text{display:flex;align-items:center;gap:12px;flex:1}.guest-info-admin p{font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42;margin-bottom:8px;line-height:1.5}.guest-info-admin strong{color:var(--color-graphite);font-weight:600}.guest-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.guest-field{display:flex;flex-direction:column;gap:4px}.guest-field-label{font-family:var(--font-primary);font-size:.7rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0}.guest-field-value{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:var(--color-text-primary);margin:0;word-break:break-word}.badge{display:inline-block;padding:4px 10px;border-radius:8px;font-size:.8rem;font-weight:500;text-transform:uppercase}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden}body.modal-open{overflow:hidden}.modal-content{max-width:700px;width:100%;max-height:90vh;background:#fff;border-radius:16px;box-shadow:0 8px 30px #0003;animation:slideUp .3s ease;display:flex;flex-direction:column;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.edit-form-container{background:#fff;border-radius:20px;padding:0;overflow:hidden;border:2px solid #d4a574;box-shadow:0 12px 40px #00000040}.edit-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;background:var(--gradient-gold);color:var(--color-white)}.edit-form-header h3{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;margin:0}.btn-close-edit{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff3;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;color:#fff}.btn-close-edit:hover{background:#ffffff4d;transform:rotate(90deg)}.btn-close-edit .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.edit-form{padding:25px;display:flex;flex-direction:column;gap:25px}.edit-form-section{display:flex;flex-direction:column;gap:15px}.section-title{display:flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;color:var(--color-graphite);margin-bottom:5px;padding-bottom:10px;border-bottom:2px solid var(--color-ivory-dark)}.section-title .material-symbols-outlined{font-size:1.3rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.form-field{display:flex;flex-direction:column;gap:8px}.field-label{display:flex;align-items:center;gap:6px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;color:#5a4a42}.label-icon{font-size:1.1rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.edit-input{padding:12px 16px;font-family:Montserrat,sans-serif;font-size:.95rem;border:2px solid var(--color-ivory-dark);border-radius:10px;background:var(--color-ivory);color:var(--color-graphite);transition:all .3s ease}.edit-input:focus{outline:none;border-color:var(--color-gold-soft);background:var(--color-white);box-shadow:0 0 0 4px var(--color-gold-light)}.edit-input::placeholder{color:#b8a99a}.edit-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:40px}.edit-actions{display:flex;gap:12px;margin-top:10px;padding-top:20px;border-top:2px solid #f0ead8}.btn-save,.btn-cancel{flex:1}.btn-edit{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:15px;padding:10px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;background:var(--color-white);border:2px solid var(--color-gold-soft);border-radius:8px;cursor:pointer;transition:all .3s ease;color:var(--color-gold-soft)}.btn-edit:hover{background:var(--color-gold-soft);color:var(--color-white)}.btn-edit .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.loading{text-align:center;padding:40px;font-family:Montserrat,sans-serif;font-size:1.1rem;color:#8a7a72}@media(max-width:768px){.admin-page{padding:0}.admin-layout-header{padding:15px 20px;flex-direction:column;gap:15px;align-items:flex-start}.header-user{width:100%;justify-content:space-between}.admin-navbar{padding:6px 15px}.nav-cards{gap:12px;justify-content:center}.nav-card{width:85px;height:85px;padding:8px}.nav-card-icon{width:35px;height:35px;margin-bottom:5px}.nav-card-icon .material-symbols-outlined{font-size:1.5rem}.nav-card-name{font-size:.7rem}.admin-content{padding:20px 15px}.dashboard-title{font-size:2rem}.dashboard-grid{grid-template-columns:1fr;gap:20px}.dashboard-card{padding:20px}.admin-header h1{font-size:2.2rem}.logo-text{font-size:1.5rem}.user-name{font-size:.85rem}.user-avatar{width:40px;height:40px}.menu-cards{grid-template-columns:1fr;gap:20px;margin-top:30px}.menu-card{padding:30px 25px}.menu-card-icon{width:70px;height:70px}.menu-card-icon .material-symbols-outlined{font-size:2.5rem}.menu-card h2{font-size:1.7rem}.menu-card p{font-size:.95rem}.upload-container{max-width:100%}.upload-header{padding:30px 20px}.upload-icon{font-size:3rem}.upload-header h2{font-size:2rem}.upload-content{padding:30px 20px}.csv-requirements{padding:20px}.file-upload-label{min-height:150px}.upload-placeholder-icon{font-size:2.5rem}.file-selected{flex-direction:column;text-align:center}.guests-grid{grid-template-columns:1fr}.guests-header{flex-direction:column;align-items:flex-start;gap:15px}.guests-summary{grid-template-columns:1fr;gap:15px}.summary-card{padding:15px}.summary-icon{width:45px;height:45px}.summary-icon .material-symbols-outlined,.summary-value{font-size:1.7rem}.admin-tabs{flex-direction:column;gap:10px}.tab-button{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}.edit-form{padding:20px;gap:20px}.edit-actions{flex-direction:column}.btn-save,.btn-cancel{width:100%}.modal-overlay{padding:10px}.modal-content{max-width:100%;max-height:95vh}.edit-form-container{border-radius:16px}.edit-form-header{padding:15px 20px}.edit-form-header h3{font-size:1.5rem}.edit-form{padding:20px}}.invitations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.invitations-header h2{font-family:Cormorant Garamond,serif;font-size:2.2rem;color:#2c1810;font-weight:600}.invitations-container{display:grid;grid-template-columns:300px 1fr;gap:30px}.guests-drag-list{background:var(--color-white);border-radius:16px;padding:25px;box-shadow:0 4px 15px #00000014;border:2px solid var(--color-ivory-dark);height:fit-content;position:sticky;top:20px}.guests-drag-list h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--color-graphite);margin-bottom:10px;font-weight:600}.drag-hint{font-family:Montserrat,sans-serif;font-size:.85rem;color:#8a7a72;margin-bottom:20px;font-style:italic}.guests-drag-items{display:flex;flex-direction:column;gap:10px;max-height:600px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.15) transparent}.no-available-guests{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center;color:#8a7a72}.no-available-guests .material-symbols-outlined{font-size:3rem;color:#4caf50;margin-bottom:15px;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.no-available-guests p{font-family:Montserrat,sans-serif;font-size:.95rem;font-style:italic}.guest-drag-item{display:flex;align-items:center;gap:10px;padding:12px 15px;background:var(--color-ivory);border:2px solid var(--color-ivory-dark);border-radius:10px;cursor:grab;transition:all .3s ease;font-family:Montserrat,sans-serif;font-size:.9rem;color:var(--color-text-secondary)}.guest-drag-item:active{cursor:grabbing}.guest-drag-item:hover{background:var(--color-ivory-medium);border-color:var(--color-gold-soft);box-shadow:0 2px 8px var(--color-gold-light)}.drag-icon{color:var(--color-gold-soft);font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.invitations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px}.no-invitations{grid-column:1 / -1;text-align:center;padding:60px 20px;background:#fff;border-radius:16px;border:2px dashed #e8e0d6}.no-invitations .material-symbols-outlined{font-size:4rem;color:#d4a574;margin-bottom:20px;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}.no-invitations p{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#5a4a42;margin-bottom:10px}.no-invitations .hint{font-size:.9rem;color:#8a7a72;font-style:italic}.invitation-card{background:var(--color-white);border-radius:16px;padding:25px;box-shadow:0 4px 15px #00000014;border:2px solid var(--color-ivory-dark);transition:all .3s ease;display:flex;flex-direction:column;gap:20px}.invitation-card:hover{border-color:var(--color-gold-soft);box-shadow:0 6px 20px var(--color-gold-light)}.invitation-name-section{border-bottom:2px solid #f0ead8;padding-bottom:15px}.invitation-title-display-mode{display:flex;align-items:center;justify-content:space-between;gap:15px}.invitation-title-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.invitation-title-text{flex:1;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;color:var(--color-graphite);margin:0;word-break:break-word}.btn-edit-title{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#5a4a42;flex-shrink:0}.btn-edit-title:hover{background:#faf8f3;border-color:#d4a574;color:#d4a574}.btn-edit-title .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-delete-invitation{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#c96a6a;flex-shrink:0}.btn-delete-invitation:hover{background:#ffe6e6;border-color:#c96a6a;color:#c96a6a}.btn-delete-invitation .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.invitation-title-edit-mode{display:flex;align-items:center;gap:10px}.invitation-name-input{flex:1;padding:12px 16px;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;color:var(--color-graphite);border:2px solid var(--color-gold-soft);border-radius:8px;background:var(--color-white);transition:all .3s ease}.invitation-name-input:focus{outline:none;box-shadow:0 0 0 4px var(--color-gold-light)}.invitation-name-input::placeholder{color:#b8a99a;font-weight:400}.invitation-title-actions{display:flex;gap:8px;flex-shrink:0}.btn-save-title,.btn-cancel-title{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-save-title{background:#4caf50;color:#fff}.btn-save-title:hover{background:#45a049;transform:scale(1.05)}.btn-cancel-title{background:#f44336;color:#fff}.btn-cancel-title:hover{background:#da190b;transform:scale(1.05)}.btn-save-title .material-symbols-outlined,.btn-cancel-title .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.invitation-slug-section{padding:15px;background:var(--color-ivory);border-radius:8px;border:1px solid var(--color-ivory-dark);margin-bottom:15px}.slug-label{display:flex;align-items:center;justify-content:space-between;gap:6px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;color:#5a4a42;margin-bottom:8px;position:relative}.slug-label .material-symbols-outlined{font-size:1rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.slug-input-container{display:flex;align-items:center;background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:6px;overflow:hidden;transition:all .3s ease}.slug-input-container:focus-within{border-color:var(--color-gold-soft);box-shadow:0 0 0 3px var(--color-gold-light)}.slug-prefix{padding:8px 12px;font-family:Montserrat,sans-serif;font-size:.85rem;color:#8a7a72;background:#f5f1e8;white-space:nowrap;border-right:1px solid #e8e0d6}.invitation-slug-input{flex:1;padding:8px 12px;font-family:Montserrat,sans-serif;font-size:.85rem;color:var(--color-graphite);border:none;outline:none;background:transparent}.invitation-slug-input::placeholder{color:#b8a99a}.btn-copy-link{display:flex;align-items:center;justify-content:center;padding:4px 6px;width:auto;min-width:28px;height:28px;background:transparent;border:1px solid var(--color-ivory-dark);border-radius:4px;cursor:pointer;color:#5a4a42;transition:all .2s ease;flex-shrink:0;box-sizing:border-box;margin-left:auto}.btn-copy-link:hover{background:var(--color-ivory);border-color:var(--color-gold-soft);color:var(--color-gold-soft)}.btn-copy-link .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;display:block;line-height:1;margin:0;padding:0}.invitation-drop-zone{min-height:200px;border:3px dashed var(--color-ivory-dark);border-radius:12px;padding:20px;background:var(--color-ivory);transition:all .3s ease}.invitation-drop-zone.drag-over{border-color:var(--color-gold-soft);background:var(--color-ivory-light);transform:scale(1.02)}.drop-zone-header{display:flex;align-items:center;gap:8px;margin-bottom:15px;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;color:#5a4a42}.drop-zone-header .material-symbols-outlined{font-size:1.2rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.drop-zone-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#8a7a72}.drop-zone-empty .material-symbols-outlined{font-size:3rem;color:var(--color-gold-soft);margin-bottom:15px;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}.drop-zone-empty p{font-family:Montserrat,sans-serif;font-size:.95rem;font-style:italic}.invitation-guests-list{display:flex;flex-direction:column;gap:10px}.invitation-guest-item{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:8px;font-family:Montserrat,sans-serif;font-size:.9rem;color:var(--color-text-secondary);transition:all .3s ease}.invitation-guest-item:hover{border-color:var(--color-gold-soft);background:var(--color-ivory)}.btn-remove-guest{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:#c62828;transition:all .2s ease}.btn-remove-guest:hover{background:#ffebee;transform:scale(1.1)}.btn-remove-guest .material-symbols-outlined{font-size:1rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}@media(max-width:1024px){.invitations-container{grid-template-columns:1fr}.guests-drag-list{position:static;max-height:400px}}@media(max-width:768px){.invitations-header{flex-direction:column;align-items:flex-start;gap:15px}.invitations-grid{grid-template-columns:1fr}.guests-drag-items{max-height:300px}}.wedding-code-overlay{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.wedding-code-modal{max-width:600px;width:90%;max-height:90vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.15) transparent}.wedding-code-card{background:#fff;border-radius:24px;padding:50px 40px;box-shadow:0 10px 40px #00000026;border:1px solid rgba(212,165,116,.2)}.wedding-code-header{text-align:center;margin-bottom:40px}.wedding-code-icon{font-size:4rem;color:var(--color-gold-soft);margin-bottom:20px;font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.wedding-code-header h2{font-family:Cormorant Garamond,serif;font-size:2.5rem;color:var(--color-graphite);margin-bottom:10px;font-weight:600}.wedding-code-header p{font-family:Montserrat,sans-serif;font-size:1rem;color:#8a7a72;font-weight:400}.wedding-code-options{display:flex;flex-direction:column;gap:24px}.wedding-code-option-btn{display:flex;align-items:center;gap:20px;width:100%;padding:24px;background:var(--color-ivory);border:2px solid var(--color-ivory-dark);border-radius:16px;cursor:pointer;transition:all .3s ease;text-align:left}.wedding-code-option-btn:hover{background:var(--color-white);border-color:var(--color-gold-soft);box-shadow:0 4px 12px var(--color-gold-light);transform:translateY(-2px)}.wedding-code-option-btn .material-symbols-outlined{font-size:2.5rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.wedding-code-option-btn h3{font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:600;color:var(--color-graphite);margin-bottom:4px}.wedding-code-option-btn p{font-family:Montserrat,sans-serif;font-size:.9rem;color:#8a7a72;margin:0}.wedding-code-divider{display:flex;align-items:center;text-align:center;margin:8px 0}.wedding-code-divider:before,.wedding-code-divider:after{content:"";flex:1;border-bottom:1px solid #e8e0d6}.wedding-code-divider span{padding:0 16px;font-family:Montserrat,sans-serif;font-size:.9rem;color:#8a7a72;font-weight:500}.wedding-code-input-section{display:flex;flex-direction:column;gap:12px}.wedding-code-input-section label{font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;color:#2c1810}.wedding-code-input-wrapper{display:flex;gap:12px}.wedding-code-input{flex:1;padding:16px 20px;font-family:Montserrat,sans-serif;font-size:1.1rem;text-transform:uppercase;letter-spacing:2px;border:2px solid var(--color-ivory-dark);border-radius:12px;background:var(--color-white);color:var(--color-graphite);transition:all .3s ease}.wedding-code-input:focus{outline:none;border-color:var(--color-gold-soft);box-shadow:0 0 0 4px var(--color-gold-light)}.btn-search-code{display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;background:linear-gradient(135deg,#d4a574,#c4965f);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #d4a5744d}.btn-search-code:hover:not(:disabled){background:linear-gradient(135deg,#c4965f,#b8864a);transform:translateY(-2px);box-shadow:0 6px 20px #d4a57466}.btn-search-code:disabled{opacity:.5;cursor:not-allowed}.btn-search-code .material-symbols-outlined{font-size:1.5rem}.wedding-code-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-family:Montserrat,sans-serif;font-size:.9rem}.wedding-code-error .material-symbols-outlined{font-size:1.2rem}.wedding-code-preview{margin-top:24px;padding:24px;background:#faf8f3;border:2px solid #d4a574;border-radius:16px}.wedding-preview-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.wedding-preview-header .material-symbols-outlined{font-size:2rem;color:#34a853;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.wedding-preview-header h3{font-family:Montserrat,sans-serif;font-size:1.3rem;font-weight:600;color:#2c1810;margin:0}.wedding-preview-info{display:flex;flex-direction:column;gap:16px}.preview-item{display:flex;flex-direction:column;gap:8px}.preview-label{font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;color:#8a7a72;text-transform:uppercase;letter-spacing:.5px}.preview-value{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#2c1810;font-weight:500}.preview-owners{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.owner-badge{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e8e0d6;border-radius:8px;font-family:Montserrat,sans-serif;font-size:.9rem;color:#2c1810}.owner-badge .material-symbols-outlined{font-size:1rem;color:#d4a574;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.wedding-code-actions{display:flex;gap:12px;margin-top:24px}.btn-confirm-join{flex:1;padding:16px 24px;font-size:1rem;font-weight:600;border-radius:12px}.budget-section{width:100%}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.budget-header h2{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:600;color:#2c1810;margin:0}.btn-create-budget{border-radius:12px}.budget-subnav{display:flex;gap:12px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0ead8}.budget-subnav-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;background:#fff;color:#5a4a42;border:2px solid #e8e0d6;border-radius:10px;cursor:pointer;transition:all .3s ease}.budget-subnav-btn:hover{border-color:#d4a574;background:#faf8f3;color:#2c1810;transform:translateY(-2px)}.budget-subnav-btn.active{background:linear-gradient(135deg,#d4a574,#c4965f);border-color:#d4a574;color:#fff;box-shadow:0 4px 15px #d4a5744d}.budget-subnav-btn .material-symbols-outlined{font-size:1.2rem}.budget-selector{display:flex;align-items:center;gap:15px;margin-bottom:30px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d}.budget-selector label{font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;color:#2c1810}.budget-select{flex:1;max-width:400px;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:.95rem;color:#2c1810;background:#fff;border:2px solid #e8e0d6;border-radius:10px;cursor:pointer;transition:all .3s ease}.budget-select:hover,.budget-select:focus{border-color:#d4a574;outline:none}.budget-overview{width:100%}.budget-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.summary-card.budget-estimated{background:linear-gradient(135deg,#e8f4f8,#d1e9f1);border-left:4px solid #4a90a4}.summary-card.budget-final{background:linear-gradient(135deg,#f0e8f5,#e1d1eb);border-left:4px solid #8b5a9f}.summary-card.budget-difference{background:linear-gradient(135deg,#fff4e6,#ffe9cc);border-left:4px solid #d4a574}.summary-card.budget-difference .summary-value.positive{color:#4a90a4}.summary-card.budget-difference .summary-value.negative{color:#c96a6a}.budget-categories,.budget-categories-section{margin-top:30px}.budget-categories h3,.budget-categories-section h3{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:#2c1810;margin-bottom:20px}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.category-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d;border:2px solid #f0ead8;transition:all .3s ease}.category-card:hover{transform:translateY(-3px);box-shadow:0 4px 15px #d4a57433;border-color:#d4a574}.category-card h4{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;color:#2c1810;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f0ead8}.subcategories-list{list-style:none;padding:0;margin:0}.subcategories-list li{font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42;padding:8px 0 8px 20px;position:relative}.subcategories-list li:before{content:"•";position:absolute;left:0;color:#d4a574;font-weight:700}.budget-registries{margin-top:30px}.registries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.registries-header h3{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:#2c1810;margin:0}.registries-table{background:#fff;border-radius:12px;overflow:visible;box-shadow:0 2px 10px #0000000d}.registries-table table{width:100%;border-collapse:collapse}.registries-table thead{background:linear-gradient(135deg,#f5f1e8,#faf8f3)}.registries-table th{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;color:#2c1810;padding:15px;text-align:left;border-bottom:2px solid #f0ead8}.registries-table td{font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42;padding:15px;border-bottom:1px solid #f0ead8}.registries-table tbody tr:hover{background:#faf8f3}.registries-table .no-data{text-align:center;color:#8a7a72;padding:40px}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.status-badge.status-pendiente{background:#fff4e6;color:#d4a574}.status-badge.status-contratado{background:#e8f4f8;color:#4a90a4}.status-badge.status-cancelado{background:#ffe6e6;color:#c96a6a}.registry-actions{display:flex;gap:8px;align-items:center}.notes-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;z-index:10}.notes-icon{font-size:1.2rem;color:#d4a574;cursor:help;transition:all .3s ease}.notes-icon:hover{color:#c4965f;transform:scale(1.1)}.notes-tooltip{position:fixed;padding:10px 14px;background:#2c1810;color:#fff;font-family:Montserrat,sans-serif;font-size:.85rem;line-height:1.5;border-radius:8px;white-space:pre-wrap;max-width:350px;min-width:200px;word-wrap:break-word;z-index:10000;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:0 4px 16px #0006;transform:translate(-50%) translateY(-100%);margin-bottom:8px}.notes-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2c1810}.notes-tooltip.tooltip-below{transform:translate(-50%);margin-top:8px;margin-bottom:0}.notes-tooltip.tooltip-below:after{top:-6px;border-top-color:transparent;border-bottom-color:#2c1810}.notes-icon-wrapper:hover .notes-tooltip{opacity:1;pointer-events:auto}.no-notes{color:#8a7a72;font-style:italic}.budget-payments{margin-top:30px}.payments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.payments-header h3{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:#2c1810;margin:0}.payments-list{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.payments-list table{width:100%;border-collapse:collapse}.payments-list thead{background:linear-gradient(135deg,#f5f1e8,#faf8f3)}.payments-list th{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;color:#2c1810;padding:15px;text-align:left;border-bottom:2px solid #f0ead8}.payments-list td{font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42;padding:15px;border-bottom:1px solid #f0ead8}.payments-list tbody tr:hover{background:#faf8f3}.no-payments{text-align:center;padding:40px;color:#8a7a72;font-family:Montserrat,sans-serif}.payment-category-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;text-align:center}.payment-category-badge.category-card{background:linear-gradient(135deg,#4a90a4,#5ba8c0);color:#fff}.payment-category-badge.category-cash{background:linear-gradient(135deg,#8b9a5b,#a4b56c);color:#fff}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:9998;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.registry-details-sidebar{position:fixed;top:0;right:0;width:500px;max-width:90vw;height:100vh;background:#fff;box-shadow:-4px 0 20px #00000026;z-index:9999;display:flex;flex-direction:column;animation:slideInRight .3s ease;overflow:hidden}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(135deg,#faf8f3,#fff);border-bottom:3px solid #d4a574;flex-shrink:0}.sidebar-header h3{font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:700;color:#2c1810;margin:0;display:flex;align-items:center;gap:12px}.sidebar-header h3:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,#d4a574,#c8965c);border-radius:2px}.btn-close-sidebar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:2px solid #e8e0d6;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#5a4a42}.btn-close-sidebar:hover{background:#faf8f3;border-color:#d4a574;color:#d4a574}.btn-close-sidebar .material-symbols-outlined{font-size:1.5rem}.sidebar-body{flex:1;overflow-y:auto;padding:24px 28px;background:#fff}.sidebar-body::-webkit-scrollbar{width:8px}.sidebar-body::-webkit-scrollbar-track{background:#faf8f3}.sidebar-body::-webkit-scrollbar-thumb{background:#d4a574;border-radius:4px}.sidebar-body::-webkit-scrollbar-thumb:hover{background:#c8965c}.registry-basic-info{display:flex;flex-direction:column;gap:12px;padding:16px;background:#faf8f3;border-radius:10px;border:1px solid #f0ead8;margin-bottom:24px}.basic-info-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0ead8}.basic-info-item:last-child{border-bottom:none}.basic-info-label{font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;color:#8a7a72;text-transform:uppercase;letter-spacing:.5px}.basic-info-value{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;color:#2c1810;text-align:right}.registry-summary h4,.registry-payments-list h4{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:700;color:#2c1810;margin-bottom:18px;padding-bottom:10px;border-bottom:3px solid #d4a574;display:flex;align-items:center;gap:10px}.registry-summary h4:before,.registry-payments-list h4:before{content:"";width:4px;height:18px;background:linear-gradient(135deg,#d4a574,#c8965c);border-radius:2px}.registry-summary{margin-bottom:24px}.registry-summary h4{margin-bottom:14px}.summary-cards{display:flex;flex-direction:column;gap:10px;margin-top:14px}.summary-card{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 1px 6px #0000000d;border:1px solid #f0ead8;transition:all .3s ease;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.summary-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,#d4a574,#c8965c)}.summary-card:hover{transform:translate(2px);box-shadow:0 2px 10px #d4a57426;border-color:#d4a574}.summary-card-header{display:flex;align-items:center;gap:10px;flex:1}.summary-icon{font-size:1.3rem;color:#d4a574;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;flex-shrink:0}.summary-label{font-family:Montserrat,sans-serif;font-size:.8rem;color:#8a7a72;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.summary-card-value{font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:700;color:#2c1810;margin-left:12px;text-align:right;flex-shrink:0}.summary-card-value.paid{color:#4a90a4}.summary-card-value.remaining{color:#d4a574}.summary-card-value.completed{color:#8b9a5b}.registry-payments-list{margin-top:28px}.no-payments-message{text-align:center;padding:40px;color:#8a7a72;font-family:Montserrat,sans-serif;font-style:italic;background:#fff;border-radius:12px;border:2px dashed #e8e0d6;margin-top:20px}.payments-table-container{margin-top:20px;background:#fff;border-radius:12px;overflow:hidden;border:2px solid #f0ead8;box-shadow:0 2px 10px #0000000d}.payments-details-table{width:100%;border-collapse:collapse}.payments-details-table thead{background:linear-gradient(135deg,#f5f1e8,#faf8f3)}.payments-details-table th{font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:700;color:#2c1810;padding:12px 14px;text-align:left;border-bottom:2px solid #d4a574;text-transform:uppercase;letter-spacing:.5px}.payments-details-table td{font-family:Montserrat,sans-serif;font-size:.85rem;color:#5a4a42;padding:12px 14px;border-bottom:1px solid #f0ead8}.payments-details-table tbody tr{transition:all .2s ease}.payments-details-table tbody tr:hover{background:#faf8f3;transform:scale(1.01)}.payments-details-table tbody tr:last-child td{border-bottom:none}.no-budgets,.no-suppliers{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d}.no-budgets .material-symbols-outlined,.no-suppliers .material-symbols-outlined{font-size:4rem;color:#d4a574;margin-bottom:20px;opacity:.5}.no-budgets p,.no-suppliers p{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#5a4a42;margin:10px 0}.no-budgets .hint,.no-suppliers .hint{font-size:.9rem;color:#8a7a72}.suppliers-section{width:100%}.suppliers-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.suppliers-header h2{font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:600;color:#2c1810;margin:0}.btn-create-supplier{border-radius:12px}.suppliers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.supplier-card{background:var(--color-white);border-radius:16px;padding:25px;box-shadow:0 4px 15px #00000014;border:2px solid var(--color-ivory-dark);transition:all .3s ease;display:flex;flex-direction:column;gap:20px}.supplier-card:hover{border-color:var(--color-gold-soft);box-shadow:0 6px 20px var(--color-gold-light)}.supplier-name-section{border-bottom:2px solid #f0ead8;padding-bottom:15px}.supplier-title-display-mode{display:flex;align-items:center;justify-content:space-between;gap:15px}.supplier-card-header h3,.supplier-name-text{flex:1;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;color:var(--color-graphite);margin:0;word-break:break-word}.supplier-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.supplier-card-body{padding:0}.supplier-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:0}.supplier-field{display:flex;flex-direction:column;gap:4px}.supplier-field-label{font-family:var(--font-primary);font-size:.7rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0}.supplier-field-value{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:var(--color-text-primary);margin:0;word-break:break-word}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow:hidden}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;box-shadow:0 8px 30px #0003;display:flex;flex-direction:column;overflow:hidden}.modal-overlay .edit-form-container::-webkit-scrollbar,.modal-overlay .upload-modal-content::-webkit-scrollbar,.modal-overlay .wedding-code-modal::-webkit-scrollbar,.modal-overlay .guests-drag-items::-webkit-scrollbar{width:3px}.modal-overlay .edit-form-container::-webkit-scrollbar-track,.modal-overlay .upload-modal-content::-webkit-scrollbar-track,.modal-overlay .wedding-code-modal::-webkit-scrollbar-track,.modal-overlay .guests-drag-items::-webkit-scrollbar-track{background:transparent;margin:0}.modal-overlay .edit-form-container::-webkit-scrollbar-thumb,.modal-overlay .upload-modal-content::-webkit-scrollbar-thumb,.modal-overlay .wedding-code-modal::-webkit-scrollbar-thumb,.modal-overlay .guests-drag-items::-webkit-scrollbar-thumb{background:#d4a57433;border-radius:10px;transition:all .3s ease;border:none;min-height:30px;opacity:.6}.modal-overlay .edit-form-container:hover::-webkit-scrollbar-thumb,.modal-overlay .upload-modal-content:hover::-webkit-scrollbar-thumb,.modal-overlay .wedding-code-modal:hover::-webkit-scrollbar-thumb,.modal-overlay .guests-drag-items:hover::-webkit-scrollbar-thumb{opacity:1;background:#d4a57466}.modal-overlay .edit-form-container::-webkit-scrollbar-thumb:hover,.modal-overlay .upload-modal-content::-webkit-scrollbar-thumb:hover,.modal-overlay .wedding-code-modal::-webkit-scrollbar-thumb:hover,.modal-overlay .guests-drag-items::-webkit-scrollbar-thumb:hover{background:#d4a57480;opacity:1}.modal-overlay .edit-form-container::-webkit-scrollbar-thumb:active,.modal-overlay .upload-modal-content::-webkit-scrollbar-thumb:active,.modal-overlay .wedding-code-modal::-webkit-scrollbar-thumb:active,.modal-overlay .guests-drag-items::-webkit-scrollbar-thumb:active{background:#d4a57499;opacity:1}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #f0ead8}.modal-header h3{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;color:#2c1810;margin:0}.btn-close-modal{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#8a7a72}.btn-close-modal:hover{background:#faf8f3;color:#2c1810}.modal-body{padding:24px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.2) transparent;box-sizing:border-box;position:relative}.modal-body::-webkit-scrollbar{width:3px}.modal-body::-webkit-scrollbar-track{background:transparent;margin:0}.modal-body::-webkit-scrollbar-thumb{background:#d4a57466;border-radius:10px;transition:all .3s ease;border:none;min-height:30px;opacity:.6;box-shadow:-1px 0 2px #0000001a}.modal-body:hover::-webkit-scrollbar-thumb{opacity:1;background:#d4a57499}.modal-body::-webkit-scrollbar-thumb:hover{background:#d4a574bf;opacity:1}.modal-body::-webkit-scrollbar-thumb:active{background:#d4a574d9;opacity:1}.modal-body .form-field{margin-bottom:20px}.modal-body label{display:flex;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;color:#2c1810;margin-bottom:8px}.modal-body .label-icon{font-size:1.1rem;color:#d4a574}.modal-body .required{color:#c96a6a;font-weight:700}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:.95rem;color:#2c1810;background:#fff;border:2px solid #e8e0d6;border-radius:10px;transition:all .3s ease}.modal-body textarea{resize:vertical;min-height:100px;line-height:1.5}.modal-body textarea:focus{border-color:#d4a574;outline:none;box-shadow:0 0 0 3px #d4a5741a}.modal-body input:focus,.modal-body select:focus{border-color:#d4a574;outline:none;box-shadow:0 0 0 3px #d4a5741a}.modal-body input.error,.modal-body select.error{border-color:#c96a6a}.modal-body input.error:focus,.modal-body select.error:focus{border-color:#c96a6a;box-shadow:0 0 0 3px #c96a6a1a}.field-error{display:block;font-family:Montserrat,sans-serif;font-size:.8rem;color:#c96a6a;margin-top:4px}.field-hint{display:block;font-family:Montserrat,sans-serif;font-size:.8rem;color:#8a7a72;margin-top:4px;font-style:italic}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.checkbox-field{margin-top:10px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;margin-bottom:0;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{display:none}.checkbox-icon{font-size:1.3rem;color:#d4a574;transition:all .3s ease;flex-shrink:0}.checkbox-label:hover .checkbox-icon{color:#c4965f;transform:scale(1.1)}.checkbox-label span:last-child{flex:1}.modal-body .category-input-group{margin-bottom:15px;padding:15px;background:#faf8f3;border-radius:10px;border:2px solid #f0ead8}.modal-body .category-input-group input{margin-bottom:10px}.modal-body .category-input-group button{margin-top:10px}.selected-registry-info{background:#faf8f3;border:2px solid #e8e0d6;border-radius:10px;padding:16px}.registry-info-details{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.registry-info-item{display:flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42}.registry-info-icon{font-size:1.1rem;color:#d4a574;flex-shrink:0}.registry-info-item strong{color:#2c1810;font-weight:600;margin-right:4px}.btn-change-registry{padding:8px 16px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;background:transparent;color:#d4a574;border:1px solid #d4a574;border-radius:6px;cursor:pointer;transition:all .3s ease;align-self:flex-start}.btn-change-registry:hover{background:#d4a574;color:#fff}.btn-add-category{margin-bottom:20px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:2px solid #f0ead8}.toast{position:fixed;top:20px;right:20px;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px;z-index:10000;animation:slideInRight .3s ease-out;border-left:4px solid}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{border-left-color:#4caf50}.toast-error{border-left-color:#f44336}.toast-info{border-left-color:#2196f3}.toast-message{flex:1;font-family:Montserrat,sans-serif;font-size:.95rem;color:#2c1810;font-weight:500}.toast-close{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#8a7a72;border-radius:4px;transition:all .2s ease}.toast-close:hover{background:#f5f1e8;color:#2c1810}.toast-close .material-symbols-outlined{font-size:20px}.confirm-modal{max-width:500px}.confirm-message{font-family:Montserrat,sans-serif;font-size:1rem;color:#2c1810;line-height:1.6;margin:0}.budget-registries-grouped{margin-top:30px}.category-registry-group{margin-bottom:30px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d;overflow:visible}.category-registry-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;color:#2c1810;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f0ead8;display:flex;align-items:center;gap:10px}.category-registry-title .material-symbols-outlined{color:#d4a574;font-size:1.8rem}.no-registries{text-align:center;padding:40px;color:#8a7a72;font-family:Montserrat,sans-serif}.categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.categories-header h3{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:#2c1810;margin:0}.categories-actions{display:flex;gap:12px}.btn-add-subcategory{height:44px;padding:12px 24px}.categories-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.category-admin-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d;border:2px solid #f0ead8;transition:all .3s ease}.category-admin-card:hover{transform:translateY(-3px);box-shadow:0 4px 15px #d4a57433;border-color:#d4a574}.category-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f0ead8}.category-admin-header h4{font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600;color:#2c1810;margin:0}.category-admin-actions{display:flex;gap:8px}.subcategories-admin-list{list-style:none;padding:0;margin:0}.subcategory-admin-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0ead8;transition:background .2s ease}.subcategory-admin-item:hover{background:#faf8f3;padding-left:8px;padding-right:8px;margin-left:-8px;margin-right:-8px;border-radius:6px}.subcategory-admin-item:last-child{border-bottom:none}.subcategory-admin-item span{font-family:Montserrat,sans-serif;font-size:.9rem;color:#5a4a42;flex:1}.subcategory-admin-actions{display:flex;gap:6px;align-items:center;opacity:.7;transition:opacity .2s ease}.subcategory-admin-item:hover .subcategory-admin-actions{opacity:1}.no-subcategories{font-family:Montserrat,sans-serif;font-size:.85rem;color:#8a7a72;font-style:italic;padding:10px 0}@media(max-width:768px){.registry-details-sidebar{width:100vw;max-width:100vw}.sidebar-header,.sidebar-body{padding:20px}.summary-cards{gap:10px}.summary-card{padding:12px 14px;flex-direction:column;align-items:flex-start;gap:8px}.summary-card-header{width:100%}.summary-card-value{font-size:1.1rem;margin-left:0;text-align:left;width:100%}}.tables-section{width:100%}.tables-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--color-ivory-dark)}.tables-header h2{font-family:var(--font-elegant);font-size:2rem;font-weight:600;color:var(--color-graphite);margin:0}.tables-header-actions{display:flex;gap:12px}.tables-layout{display:flex;gap:20px;height:calc(100vh - 300px);min-height:600px}.admin-content.fullscreen .tables-layout{height:calc(100vh - 120px);min-height:calc(100vh - 120px)}.admin-content.fullscreen .tables-section{height:100%;display:flex;flex-direction:column}.admin-content.fullscreen .tables-header{flex-shrink:0}.admin-content.fullscreen .tables-layout{flex:1;overflow:hidden}.admin-content.fullscreen .tables-sidebar{max-height:100%;overflow-y:auto}.tables-canvas-wrapper{flex:1;background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d;overflow:hidden;position:relative}.tables-canvas-container{width:100%;height:100%;border-radius:8px;overflow:hidden;background:var(--color-ivory);position:relative}.canvas-controls{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--color-white);padding:12px;border-radius:12px;box-shadow:0 4px 12px #00000026;border:2px solid var(--color-ivory-dark);z-index:10}.canvas-zoom-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:10px;cursor:pointer;transition:all .3s ease;color:var(--color-graphite)}.canvas-zoom-btn:hover{background:var(--color-gold-light);border-color:var(--color-gold-soft);color:var(--color-gold-soft);transform:scale(1.05)}.canvas-zoom-btn:active{transform:scale(.95)}.canvas-zoom-btn .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.canvas-zoom-level{font-family:var(--font-primary);font-size:.85rem;font-weight:600;color:var(--color-graphite);padding:4px 8px;min-width:50px;text-align:center;background:var(--color-ivory-light);border-radius:6px}.tables-sidebar{width:350px;background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000d;overflow-y:auto;max-height:calc(100vh - 300px)}.tables-list-panel h3{font-family:var(--font-elegant);font-size:1.5rem;font-weight:600;color:var(--color-graphite);margin:0 0 20px}.no-tables{text-align:center;padding:40px 20px;color:var(--color-text-tertiary)}.no-tables .material-symbols-outlined{font-size:4rem;color:var(--color-gold-light);margin-bottom:15px;display:block}.no-tables p{font-family:var(--font-primary);font-size:1rem;margin:10px 0}.no-tables .hint{font-size:.9rem;color:var(--color-text-tertiary);font-style:italic}.tables-list{display:flex;flex-direction:column;gap:12px}.table-list-item{padding:15px;background:var(--color-ivory-light);border:2px solid var(--color-ivory-dark);border-radius:10px;cursor:pointer;transition:all .3s ease}.table-list-item:hover{border-color:var(--color-gold-soft);background:var(--color-gold-light);transform:translate(5px)}.table-list-item.active{background:var(--gradient-gold);border-color:var(--color-gold-soft);color:var(--color-white);box-shadow:0 4px 15px var(--color-gold-medium)}.table-list-item-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.table-list-number{font-family:var(--font-elegant);font-size:1.6rem;font-weight:700;color:var(--color-gold-soft)}.table-list-item.active .table-list-number{color:var(--color-white)}.table-list-name{font-family:var(--font-primary);font-size:1rem;font-weight:500;color:var(--color-graphite)}.table-list-item.active .table-list-name{color:var(--color-white)}.table-list-item-info{font-family:var(--font-primary);font-size:.9rem;color:var(--color-text-secondary)}.table-list-item.active .table-list-item-info{color:#ffffffe6}.table-details-panel{display:flex;flex-direction:column;gap:20px}.table-details-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:2px solid var(--color-ivory-dark)}.table-details-header h3{font-family:var(--font-elegant);font-size:1.5rem;font-weight:600;color:var(--color-graphite);margin:0}.table-details-actions{display:flex;gap:8px}.table-details-info{display:flex;flex-direction:column;gap:10px}.table-details-info p{font-family:var(--font-primary);font-size:.95rem;color:var(--color-text-secondary);margin:0}.table-details-info strong{color:var(--color-graphite);font-weight:600}.table-guests-section,.table-available-guests{display:flex;flex-direction:column;gap:12px}.table-guests-section h4,.table-available-guests h4{font-family:var(--font-primary);font-size:1.1rem;font-weight:600;color:var(--color-graphite);margin:0;padding-bottom:10px;border-bottom:1px solid var(--color-ivory-dark)}.table-guests-list,.available-guests-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.no-guests{font-family:var(--font-primary);font-size:.9rem;color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:20px}.table-guest-item,.available-guest-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--color-ivory-light);border:1px solid var(--color-ivory-dark);border-radius:8px;transition:all .2s ease}.table-guest-item:hover,.available-guest-item:hover{background:var(--color-gold-light);border-color:var(--color-gold-soft)}.table-guest-item span,.available-guest-item span{font-family:var(--font-primary);font-size:.9rem;color:var(--color-graphite)}.available-guest-item button{transition:all .3s ease}.available-guest-item button:hover:not(:disabled){opacity:.9;transform:scale(1.1)}.available-guest-item button:disabled{opacity:.5;cursor:not-allowed}.table-modal-content{max-width:500px;padding:0}.table-modal-form{padding:30px 40px}.table-modal-form .form-group{margin-bottom:24px}.table-modal-form .form-group label{display:block;font-family:var(--font-primary);font-size:.9rem;font-weight:600;color:var(--color-graphite);margin-bottom:8px}.form-input,.form-select{width:100%;padding:12px 16px;font-family:var(--font-primary);font-size:.95rem;color:var(--color-graphite);background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:12px;transition:all .3s ease;outline:none;box-sizing:border-box}.form-input:focus,.form-select:focus{border-color:var(--color-gold-soft);background:var(--color-ivory-light);box-shadow:0 0 0 4px var(--color-gold-light)}.form-input:hover,.form-select:hover{border-color:var(--color-gold-medium)}.form-input::placeholder{color:var(--color-text-tertiary);opacity:.7}.form-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='%235a4a42' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.form-hint{font-family:var(--font-primary);font-size:.85rem;color:var(--color-text-tertiary);margin-top:6px;font-style:italic}.color-picker-wrapper{display:flex;align-items:center;gap:12px}.form-color-input{width:60px;height:50px;border:2px solid var(--color-ivory-dark);border-radius:12px;cursor:pointer;padding:0;background:none;overflow:hidden;transition:all .3s ease}.form-color-input:hover{border-color:var(--color-gold-soft);transform:scale(1.05)}.form-color-input::-webkit-color-swatch-wrapper{padding:0}.form-color-input::-webkit-color-swatch{border:none;border-radius:8px}.color-value{font-family:Courier New,monospace;font-size:.9rem;color:var(--color-text-secondary);background:var(--color-ivory-light);padding:8px 12px;border-radius:8px;border:1px solid var(--color-ivory-dark)}.table-modal-form .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:24px;border-top:2px solid var(--color-ivory-dark)}@media(max-width:1024px){.tables-layout{flex-direction:column;height:auto}.mobile-message-container{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px}.mobile-message{background:var(--color-white);border:2px solid var(--color-ivory-dark);border-radius:16px;padding:40px 30px;max-width:500px;text-align:center;box-shadow:0 4px 20px #0000001a}.mobile-message-icon{font-size:64px;color:var(--color-gold);margin-bottom:20px}.mobile-message-icon .material-symbols-outlined{font-size:64px}.mobile-message h3{font-family:var(--font-elegant);font-size:1.8rem;color:var(--color-graphite);margin:0 0 16px;font-weight:700}.mobile-message p{font-size:1.1rem;color:var(--color-graphite);line-height:1.7;margin:0 0 30px;font-weight:500}.mobile-message-features{display:flex;flex-direction:column;gap:16px;margin-top:30px;padding-top:30px;border-top:2px solid var(--color-ivory-dark)}.mobile-feature{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.05rem;color:var(--color-graphite);font-weight:500}.mobile-feature .material-symbols-outlined{font-size:28px;color:var(--color-gold)}.tables-canvas-wrapper{height:500px}.tables-sidebar{width:100%;max-height:400px}.table-modal-content{max-width:90%;margin:20px}.table-modal-form{padding:24px 28px}}.app{width:100%;min-height:100vh;overflow-x:hidden}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);background-image:linear-gradient(#0000004d,#0000004d),url(https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1920&q=80);background-size:cover;background-position:center;background-attachment:fixed}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at center,#0003,#00000080)}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;animation:fadeInUp 1.5s ease-out}.wedding-title{font-family:Great Vibes,cursive;font-size:clamp(3rem,10vw,8rem);font-weight:400;margin-bottom:1rem;text-shadow:2px 4px 8px rgba(0,0,0,.4);letter-spacing:2px}.wedding-subtitle{font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;letter-spacing:8px;text-transform:uppercase;text-shadow:1px 2px 4px rgba(0,0,0,.4)}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);color:#fff;animation:bounce 2s infinite;cursor:pointer;z-index:2}.scroll-indicator .material-symbols-outlined{font-size:3rem;font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.main-content{position:relative;padding:80px 20px;background:linear-gradient(to bottom,var(--color-ivory) 0%,var(--color-ivory-medium) 100%);display:flex;justify-content:center;align-items:center;min-height:100vh}.watercolor-flowers{position:absolute;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.75;pointer-events:none;z-index:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));background-image:url(/assets/Girasol1-DFC0Y0z-.png)}.watercolor-flowers.top-left{top:-120px;left:-120px;transform:rotate(-25deg);width:450px;height:450px}.watercolor-flowers.bottom-right{bottom:-130px;right:-130px;transform:rotate(-35deg) scaleX(-1);width:450px;height:450px}.letter-container{position:relative;z-index:2;max-width:900px;width:100%;background:linear-gradient(145deg,var(--color-white) 0%,var(--color-ivory-light) 100%);padding:60px;border-radius:4px;box-shadow:0 10px 40px #0000001a,0 2px 8px #0000000f,inset 0 1px #ffffffe6;border:1px solid var(--color-gold-light);animation:fadeIn 1s ease-out}.letter-container:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:repeating-linear-gradient(transparent,transparent 31px,rgba(139,69,19,.03) 31px,rgba(139,69,19,.03) 32px);pointer-events:none}.letter-header{text-align:center;margin-bottom:40px}.decorative-line{width:150px;height:2px;background:linear-gradient(to right,transparent,var(--color-gold-soft),transparent);margin:0 auto 20px}.couple-names{font-family:Cormorant Garamond,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:500;color:var(--color-graphite);margin-bottom:20px;line-height:1.5}.divider{display:block;font-family:Great Vibes,cursive;font-size:clamp(2.5rem,5vw,4rem);color:var(--color-gold-soft);margin:15px 0}.letter-body{text-align:center;max-width:650px;margin:0 auto}.letter-paragraph{font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,2.5vw,1.4rem);color:var(--color-text-primary);line-height:2;margin-bottom:25px;font-weight:400;text-align:justify;text-align-last:center}.letter-closing{margin-top:35px;font-style:italic;text-align:center;color:#2c1810}.event-section{padding:80px 20px;background:linear-gradient(to bottom,var(--color-ivory-medium) 0%,var(--color-white) 100%)}.event-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:1100px;margin:0 auto}.detail-card{text-align:center;padding:30px 20px;background:linear-gradient(135deg,var(--color-ivory) 0%,var(--color-ivory-light) 100%);border-radius:12px;border:2px solid var(--color-ivory-dark);transition:transform .3s ease,box-shadow .3s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.detail-icon{font-size:3.5rem;margin-bottom:15px;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.detail-card h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--color-graphite);margin-bottom:10px;font-weight:600}.detail-info{font-family:Montserrat,sans-serif;font-size:1.1rem;color:#5a4a42;font-weight:400}.detail-subinfo{font-family:Montserrat,sans-serif;font-size:.95rem;color:#8a7a72;margin-top:5px;font-weight:300}.location-card{position:relative}.navigation-buttons{display:flex;gap:10px;margin-top:18px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:100%}.nav-button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s ease;box-shadow:0 2px 6px #0000001a;border:1.5px solid transparent;white-space:nowrap;flex:0 1 auto;min-width:100px;max-width:140px}.nav-logo{width:20px;height:20px;object-fit:contain;flex-shrink:0}.nav-button span{font-weight:500;font-size:.85rem}.maps-button{background:#fff;color:#1a73e8;border-color:#e8f0fe}.maps-button:hover{background:#f8fbff;border-color:#1a73e8;box-shadow:0 4px 10px #1a73e833;transform:translateY(-2px)}.waze-button{background:#fff;color:#3cf;border-color:#e6f7ff}.waze-button:hover{background:#f0f9ff;border-color:#3cf;box-shadow:0 4px 10px #3cf3;transform:translateY(-2px)}.info-section{position:relative;padding:80px 20px;background:linear-gradient(to bottom,var(--color-white) 0%,var(--color-ivory) 100%);overflow:hidden}.info-flower{position:absolute;width:300px;height:300px;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.4;pointer-events:none;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.left-flower{top:20%;left:-80px;background-image:url(/assets/Girasol2-Bc70OT0M.png);transform:rotate(-15deg)}.right-flower{bottom:10%;right:-70px;background-image:url(/assets/Variadas1-PStoLfId.png);transform:rotate(20deg);width:320px;height:320px}.important-info{position:relative;max-width:1000px;margin:0 auto 60px;padding:50px 40px;background:linear-gradient(135deg,var(--color-ivory-light) 0%,var(--color-ivory) 100%);border-radius:16px;border-left:4px solid var(--color-gold-soft);box-shadow:0 4px 20px #00000014;z-index:2}.section-title{font-family:Cormorant Garamond,serif;font-size:2.2rem;color:var(--color-graphite);text-align:center;margin-bottom:40px;font-weight:600}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px}.info-item{text-align:center;padding:20px}.info-icon{font-size:3rem;margin-bottom:15px;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.info-item h4{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--color-graphite);margin-bottom:10px;font-weight:600}.info-item p{font-family:Montserrat,sans-serif;font-size:1rem;color:#5a4a42;line-height:1.8;max-width:600px;margin:0 auto;font-weight:300}.rsvp-preview{position:relative;text-align:center;margin-top:40px;padding-top:0;max-width:1000px;margin-left:auto;margin-right:auto;z-index:2}.rsvp-link{display:inline-flex;flex-direction:column;align-items:center;gap:15px;text-decoration:none;color:inherit;transition:all .3s ease;padding:15px;border-radius:12px}.rsvp-link:hover{background:#d4a5741a;transform:translateY(-3px)}.rsvp-link:hover .rsvp-text{color:var(--color-gold-soft)}.rsvp-link:hover .arrow-down{color:var(--color-gold-soft);transform:translateY(5px)}.rsvp-text{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--color-graphite);margin-bottom:15px;font-weight:500}.arrow-down{font-size:3rem;color:var(--color-gold-soft);animation:bounce 2s infinite;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.guests-confirmation{padding:30px 20px}.guests-section-title{font-family:Cormorant Garamond,serif;font-size:1.8rem;color:var(--color-graphite);margin-bottom:30px;font-weight:600;text-align:center}.guests-loading{padding:20px}.guests-list-landing{display:flex;flex-direction:column;gap:20px;max-width:600px;margin:0 auto}.guest-card-landing{background:linear-gradient(145deg,var(--color-white) 0%,var(--color-ivory-light) 100%);border:2px solid var(--color-ivory-dark);border-radius:12px;padding:25px;transition:all .3s ease;box-shadow:0 4px 12px #0000000d}.guest-card-landing:hover{border-color:var(--color-gold-soft);box-shadow:0 6px 20px var(--color-gold-light)}.guest-info-landing{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.guest-name-landing{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:var(--color-graphite);font-weight:600;margin:0;text-align:center}.attendance-badge{display:inline-block;padding:6px 14px;border-radius:12px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.badge-pending{background:#fff3e0;color:#e65100}.badge-confirmed{background:#e8f5e9;color:#2e7d32}.badge-rejected{background:#ffebee;color:#c62828}.guest-actions-landing{display:flex;gap:12px;justify-content:center}.btn-confirm-landing,.btn-reject-landing{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;flex:1;max-width:200px}.btn-confirm-landing{background:var(--gradient-gold);color:var(--color-white);box-shadow:0 3px 10px var(--color-gold-medium)}.btn-confirm-landing:hover:not(:disabled){background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);transform:translateY(-2px);box-shadow:0 5px 15px var(--color-gold-strong)}.btn-confirm-landing:disabled{opacity:.6;cursor:not-allowed;background:#e8e0d6;color:#8a7a72;box-shadow:none}.btn-reject-landing{background:#fff;color:#8a7a72;border:2px solid #e8e0d6}.btn-reject-landing:hover:not(:disabled){background:#faf8f3;border-color:#8a7a72;color:#5a4a42;transform:translateY(-2px)}.btn-reject-landing:disabled{opacity:.6;cursor:not-allowed;background:#f5f1e8;border-color:#e8e0d6;color:#b8a99a}.btn-confirm-landing .material-symbols-outlined,.btn-reject-landing .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}@media(max-width:768px){.guest-actions-landing{flex-direction:column}.btn-confirm-landing,.btn-reject-landing{max-width:100%}}@media(max-width:480px){.guest-card-landing{padding:20px}.guest-name-landing{font-size:1.3rem}.btn-confirm-landing,.btn-reject-landing{padding:14px 20px}}.verse-section{padding:80px 20px;background:linear-gradient(135deg,var(--color-ivory) 0%,var(--color-ivory-medium) 100%);display:flex;justify-content:center;align-items:center}.verse-container{max-width:800px;text-align:center;padding:50px 40px;background:linear-gradient(145deg,var(--color-white) 0%,var(--color-ivory-light) 100%);border-radius:16px;box-shadow:0 10px 40px #00000014,0 2px 8px #0000000a;border:1px solid var(--color-gold-light);position:relative}.verse-container:before{content:'"';position:absolute;top:-20px;left:30px;font-family:Cormorant Garamond,serif;font-size:120px;color:#d4a57426;line-height:1;pointer-events:none}.verse-container:after{content:'"';position:absolute;bottom:-60px;right:30px;font-family:Cormorant Garamond,serif;font-size:120px;color:#d4a57426;line-height:1;pointer-events:none}.verse-icon{font-size:3rem;color:var(--color-gold-soft);margin-bottom:20px;font-variation-settings:"FILL" 1,"wght" 300,"GRAD" 0,"opsz" 48}.verse-quote{font-family:Cormorant Garamond,serif;font-size:clamp(1.3rem,3vw,1.8rem);font-style:italic;color:var(--color-graphite);line-height:1.8;margin:0 0 25px;font-weight:400;letter-spacing:.3px}.verse-reference{font-family:Montserrat,sans-serif;font-size:1rem;color:#8a7a72;font-weight:500;letter-spacing:1px;text-transform:uppercase;margin-top:20px}.verse-reference:before{content:"— ";color:var(--color-gold-soft)}.footer{background:linear-gradient(135deg,#2c1810,#3d2817);color:#f5f1e8;padding:50px 20px 30px;text-align:center}.footer-content{max-width:600px;margin:0 auto}.footer-names{font-family:Great Vibes,cursive;font-size:3rem;margin-bottom:10px;color:var(--color-gold-soft);font-weight:400}.footer-date{font-family:Cormorant Garamond,serif;font-size:1.3rem;letter-spacing:4px;margin-bottom:25px;color:#f5f1e8;font-weight:300}.footer-divider{width:100px;height:1px;background:var(--color-gold-soft);margin:25px auto;opacity:.5}.footer-credit{font-family:Montserrat,sans-serif;font-size:.85rem;color:#a89f94;font-weight:300;letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:5px}.heart-icon{font-size:1rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media(max-width:768px){.letter-container{padding:40px 30px}.letter-paragraph{text-align:center}.event-section,.info-section{padding:60px 20px}.event-details,.info-grid{grid-template-columns:1fr}.important-info{padding:40px 25px}.verse-section{padding:60px 20px}.verse-container{padding:40px 30px}.verse-container:before,.verse-container:after{font-size:90px}.verse-container:before{top:-15px;left:20px}.verse-container:after{bottom:-50px;right:20px}.info-flower{width:220px;height:220px;opacity:.3}.left-flower{left:-60px;top:15%}.right-flower{right:-60px;width:240px;height:240px}.navigation-buttons{gap:8px;flex-wrap:wrap}.nav-button{padding:8px 14px;font-size:.8rem;min-width:90px;max-width:130px}.nav-logo{width:18px;height:18px}.nav-button span{font-size:.8rem}.floating-flower{width:120px;height:120px;opacity:.2}.flower-left{left:-30px}.flower-right{right:-30px}.watercolor-flowers{opacity:.65}.watercolor-flowers.top-left{width:320px;height:320px;top:-80px;left:-80px}.watercolor-flowers.bottom-right{width:320px;height:320px;bottom:-85px;right:-85px}}@media(max-width:480px){.letter-container{padding:30px 20px}.letter-paragraph{font-size:1.05rem}.event-section,.info-section{padding:40px 15px}.important-info{padding:30px 20px}.verse-section{padding:50px 15px}.verse-container{padding:35px 25px}.verse-container:before,.verse-container:after{font-size:70px}.verse-container:before{top:-10px;left:10px}.verse-container:after{bottom:-40px;right:10px}.verse-icon{font-size:2.5rem}.verse-quote{font-size:1.2rem}.verse-reference{font-size:.9rem}.info-flower{width:160px;height:160px;opacity:.2}.left-flower{left:-50px}.right-flower{right:-50px;width:180px;height:180px}.navigation-buttons{gap:8px;width:100%}.nav-button{flex:1;min-width:110px;max-width:48%;justify-content:center;padding:10px 14px}.nav-logo{width:18px;height:18px}.nav-button span{font-size:.8rem}.floating-flower{display:none}.watercolor-flowers{opacity:.5}.watercolor-flowers.top-left{width:240px;height:240px;top:-60px;left:-70px}.watercolor-flowers.bottom-right{width:240px;height:240px;bottom:-65px;right:-70px}}:root{--font-primary: "Montserrat", sans-serif;--font-elegant: "Cormorant Garamond", serif;--font-decorative: "Great Vibes", cursive;--color-gold-soft: #D4AF37;--color-gold-dark: #B78E28;--color-graphite: #1A1A1A;--color-white: #FFFFFF;--color-ivory: #F7F5F2;--gradient-gold: linear-gradient(135deg, #D4AF37 0%, #B78E28 100%);--gradient-gold-reverse: linear-gradient(135deg, #B78E28 0%, #D4AF37 100%);--color-gold-light: rgba(212, 175, 55, .1);--color-gold-medium: rgba(212, 175, 55, .3);--color-gold-strong: rgba(212, 175, 55, .5);--color-graphite-light: rgba(26, 26, 26, .1);--color-graphite-medium: rgba(26, 26, 26, .5);--color-graphite-dark: #0F0F0F;--color-ivory-light: #FDFCFB;--color-ivory-medium: #F5F3F0;--color-ivory-dark: #EDEAE5;--color-text-primary: var(--color-graphite);--color-text-secondary: #5a4a42;--color-text-tertiary: #8a7a72;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-ivory);--color-accent: var(--color-gold-soft);--color-accent-dark: var(--color-gold-dark)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;background-color:var(--color-bg-primary);color:var(--color-text-primary)}html{scroll-behavior:smooth}#root{width:100%;min-height:100vh;background-color:var(--color-bg-primary)}.btn-action{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease;color:#5a4a42}.btn-action .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-action-small{width:32px;height:32px}.btn-action-small .material-symbols-outlined{font-size:1.1rem}.btn-action-tiny{width:28px;height:28px}.btn-action-tiny .material-symbols-outlined{font-size:1rem}.btn-action-edit{border-color:#e8e0d6;color:#5a4a42}.btn-action-edit:hover{background:#faf8f3;border-color:#d4a574;color:#d4a574}.btn-action-delete{border-color:#e8e0d6;color:#c96a6a}.btn-action-delete:hover{background:#ffe6e6;border-color:#c96a6a;color:#c96a6a}.btn-action-details{border-color:#e8e0d6;color:#5a4a42}.btn-action-details:hover{background:#f0f4f8;border-color:#6b8fa3;color:#6b8fa3}.btn-action-add{border-color:#e8e0d6;color:#5a4a42}.btn-action-add:hover{background:#e8f4f8;border-color:#4a90a4;color:#4a90a4}.actions-container{display:flex;gap:8px;align-items:center}.btn-edit-small,.btn-edit-tiny,.btn-delete-small,.btn-delete-tiny,.btn-details-small,.btn-add-payment-small{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:6px;cursor:pointer;transition:all .3s ease}.btn-edit-small,.btn-edit-tiny{width:32px;height:32px;color:#5a4a42}.btn-edit-small:hover,.btn-edit-tiny:hover{background:#faf8f3;border-color:#d4a574;color:#d4a574}.btn-delete-small,.btn-delete-tiny{width:32px;height:32px;color:#c96a6a}.btn-delete-small:hover,.btn-delete-tiny:hover{background:#ffe6e6;border-color:#c96a6a}.btn-details-small{width:32px;height:32px;color:#5a4a42}.btn-details-small:hover{background:#f0f4f8;border-color:#6b8fa3;color:#6b8fa3}.btn-add-payment-small{width:32px;height:32px;color:#5a4a42}.btn-add-payment-small:hover{background:#e8f4f8;border-color:#4a90a4;color:#4a90a4}.btn-edit-tiny,.btn-delete-tiny{width:28px;height:28px}.btn-edit-small .material-symbols-outlined,.btn-edit-tiny .material-symbols-outlined,.btn-delete-small .material-symbols-outlined,.btn-delete-tiny .material-symbols-outlined,.btn-details-small .material-symbols-outlined,.btn-add-payment-small .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-edit-tiny .material-symbols-outlined,.btn-delete-tiny .material-symbols-outlined{font-size:1rem}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:var(--font-primary);font-size:.95rem;font-weight:500;border-radius:10px;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn-primary{background:var(--gradient-gold);color:var(--color-white);border:none;box-shadow:0 2px 8px var(--color-gold-medium)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-strong)}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px var(--color-gold-medium)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-secondary{background:var(--color-white);color:var(--color-graphite);border:1.5px solid var(--color-gold-soft);box-shadow:0 2px 8px var(--color-gold-light)}.btn-secondary:hover{background:var(--color-gold-soft);color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-medium)}.btn-secondary:active{transform:translateY(0);box-shadow:0 2px 8px var(--color-gold-light)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-primary-small,.btn-secondary-small{padding:10px 16px;font-size:.9rem}.btn-primary-small .material-symbols-outlined,.btn-secondary-small .material-symbols-outlined{font-size:1.1rem}.btn-primary-large,.btn-secondary-large{padding:16px 24px;font-size:1rem;font-weight:600}.btn-primary-large .material-symbols-outlined,.btn-secondary-large .material-symbols-outlined{font-size:1.3rem}.btn-primary-payment{background:linear-gradient(135deg,#4a90a4,#3a7a8a);box-shadow:0 3px 10px #4a90a44d}.btn-primary-payment:hover{background:linear-gradient(135deg,#3a7a8a,#2a6a7a);box-shadow:0 5px 15px #4a90a466}.btn-save,.btn-confirm,.btn-confirm-join,.btn-add-registry,.btn-add-payment,.btn-upload-csv,.btn-create-invitation,.btn-create-budget,.btn-create-supplier{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:var(--font-primary);font-size:.95rem;font-weight:500;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;background:var(--gradient-gold);color:var(--color-white);box-shadow:0 2px 8px var(--color-gold-medium)}.btn-save:hover,.btn-confirm:hover,.btn-confirm-join:hover,.btn-add-registry:hover,.btn-upload-csv:hover,.btn-create-invitation:hover,.btn-create-budget:hover,.btn-create-supplier:hover{background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-strong)}.btn-create-budget,.btn-create-supplier{border-radius:12px}.btn-add-payment{background:linear-gradient(135deg,#4a90a4,#3a7a8a);box-shadow:0 3px 10px #4a90a44d}.btn-add-payment:hover{background:linear-gradient(135deg,#3a7a8a,#2a6a7a);transform:translateY(-2px);box-shadow:0 5px 15px #4a90a466}.btn-add-category,.btn-add-subcategory{padding:10px 16px;font-size:.9rem;background:var(--color-white);color:#5a4a42;border:1.5px solid #e8e0d6;box-shadow:none}.btn-add-category:hover,.btn-add-subcategory:hover{border-color:#d4a574;background:#faf8f3;color:#2c1810;transform:none}.btn-save .material-symbols-outlined,.btn-confirm .material-symbols-outlined,.btn-confirm-join .material-symbols-outlined,.btn-add-registry .material-symbols-outlined,.btn-add-payment .material-symbols-outlined,.btn-upload-csv .material-symbols-outlined,.btn-create-invitation .material-symbols-outlined,.btn-create-budget .material-symbols-outlined,.btn-create-supplier .material-symbols-outlined,.btn-new-guest .material-symbols-outlined,.btn-refresh .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-cancel,.btn-back,.btn-cancel-code,.btn-new-guest,.btn-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:var(--font-primary);font-size:.95rem;font-weight:500;background:var(--color-white);color:var(--color-graphite);border:1.5px solid var(--color-gold-soft);border-radius:10px;cursor:pointer;transition:all .3s ease;text-decoration:none;box-shadow:0 2px 8px var(--color-gold-light)}.btn-cancel:hover,.btn-cancel-code:hover,.btn-new-guest:hover,.btn-refresh:hover{background:var(--color-gold-soft);color:var(--color-white);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-gold-medium)}.btn-back:hover{background:var(--color-gold-soft);color:var(--color-white);transform:translate(-3px) translateY(-2px);box-shadow:0 4px 12px var(--color-gold-medium)}.btn-cancel .material-symbols-outlined,.btn-back .material-symbols-outlined,.btn-cancel-code .material-symbols-outlined,.btn-refresh .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}
