@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:var(--color-white)}.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:16px 40px;background:var(--color-ivory-light);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 3px #00000005;position:sticky;top:0;z-index:100}.header-logo{display:flex;align-items:center;gap:12px}.logo-isotipo{width:40px;height:40px;object-fit:contain;flex-shrink:0;transition:transform .3s ease}.logo-isotipo:hover{transform:scale(1.05)}.logo-text{font-family:var(--font-elegant);font-size:1.5rem;font-weight:600;background:linear-gradient(135deg,var(--color-graphite) 0%,#666 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.5px}.header-user{display:flex;align-items:center;gap:12px}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.user-name{font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;color:var(--color-graphite)}.user-role{font-family:Montserrat,sans-serif;font-size:.75rem;color:#999;font-weight:500}.user-avatar{width:42px;height:42px;border-radius:50%;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px #0000001a}.user-avatar:hover{transform:scale(1.08);box-shadow:0 4px 12px #00000026}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar .material-symbols-outlined{font-size:1.6rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.admin-navbar{background:transparent;border-bottom:none;padding:0;box-shadow:none;margin-bottom:20px}.nav-cards{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-start;align-items:center;padding:20px 40px 0;overflow-x:auto;scrollbar-width:none}.nav-cards::-webkit-scrollbar{display:none}.nav-card{text-decoration:none;min-width:110px;height:48px;background:var(--color-ivory-light);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:0 16px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#d4af370d,#d4af371a);opacity:0;transition:opacity .3s ease}.nav-card:hover{background:#fffffff2;border-color:#d4af374d;box-shadow:0 4px 12px #00000014}.nav-card:hover:before{opacity:1}.nav-card.active{background:linear-gradient(135deg,var(--color-gold-soft) 0%,var(--color-gold-dark) 100%);border-color:transparent;color:var(--color-white);box-shadow:0 4px 16px #d4af3759}.nav-card.active:before{opacity:0}.nav-card-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.nav-card-icon .material-symbols-outlined{font-size:1.4rem;color:#666;transition:all .3s ease;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}.nav-card:hover .nav-card-icon .material-symbols-outlined{color:var(--color-gold-soft)}.nav-card.active .nav-card-icon .material-symbols-outlined{color:var(--color-white);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.nav-card-name{font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;color:#666;white-space:nowrap;transition:color .3s ease}.nav-card:hover .nav-card-name{color:var(--color-graphite)}.nav-card.active .nav-card-name{color:var(--color-white)}.admin-content{flex:1;padding:20px 40px 40px;max-width:1400px;margin:0 auto;width:100%}.dashboard-section{width:100%}.wedding-header-summary{background:var(--gradient-gold);border-radius:32px;padding:40px 40px 35px;margin-bottom:30px;box-shadow:0 8px 30px var(--color-gold-medium);position:relative;overflow:hidden}.wedding-header-modern{background:linear-gradient(135deg,var(--wedding-color, #D4AF37) 0%,color-mix(in srgb,var(--wedding-color, #D4AF37) 80%,black) 100%);padding:36px 40px;box-shadow:0 20px 60px var(--wedding-color-medium, rgba(212, 175, 55, .3)),0 0 0 1px #ffffff1a inset}.wedding-header-summary:before{content:"";position:absolute;top:-50%;right:-10%;width:400px;height:400px;background:#ffffff14;border-radius:50%;animation:float 6s ease-in-out infinite}.wedding-header-summary:after{content:"";position:absolute;bottom:-30%;left:-10%;width:350px;height:350px;background:#ffffff0d;border-radius:50%;animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.couple-avatar-circle{position:relative;width:90px;height:90px;margin:0 auto 20px;z-index:1}.couple-initials{width:90px;height:90px;border-radius:50%;background:#fffffff2;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600;color:var(--wedding-color, var(--color-gold-soft));box-shadow:0 10px 40px #00000026,0 0 0 6px #fff3;position:relative;z-index:2;animation:pulse 2s ease-in-out infinite}.couple-avatar-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:108px;height:108px;border:2px solid rgba(255,255,255,.4);border-radius:50%;animation:rotate 20s linear infinite;z-index:1}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.wedding-header-content{position:relative;z-index:1;text-align:center}.wedding-header-content-modern{max-width:700px;margin:0 auto}.wedding-title-summary{font-family:Cormorant Garamond,serif;font-size:3rem;color:var(--color-white);margin-bottom:16px;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.1)}.wedding-title-modern{font-size:2.5rem;margin-bottom:14px;text-shadow:0 4px 20px rgba(0,0,0,.2);letter-spacing:1px;line-height:1.1}.couple-names-summary{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:25px;flex-wrap:wrap}.couple-names-modern{gap:16px;margin-bottom:30px}.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-names-modern .groom-name,.couple-names-modern .bride-name{font-size:1.75rem;font-weight:600;text-shadow:0 3px 12px rgba(0,0,0,.15)}.couple-divider{font-family:Cormorant Garamond,serif;font-size:2rem;color:#ffffffe6;font-weight:300}.couple-heart{font-size:1.5rem!important;color:#fffffff2;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.15)}50%{transform:scale(1)}}.days-counter{margin:20px 0 18px;padding:24px;background:#ffffff26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:2px solid rgba(255,255,255,.25);box-shadow:0 8px 32px #0000001a}.days-counter-number{font-family:Cormorant Garamond,serif;font-size:3.5rem;font-weight:700;color:var(--color-white);line-height:1;text-shadow:0 4px 20px rgba(0,0,0,.2);margin-bottom:6px}.days-counter-label{font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;color:#fffffff2;text-transform:uppercase;letter-spacing:1.5px}.event-date-summary{display:inline-flex;align-items:center;gap:10px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 20px;border-radius:50px;font-family:Montserrat,sans-serif;font-size:.9rem;color:var(--color-white);font-weight:500}.event-date-modern{margin-bottom:16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2)}.event-date-summary .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.motivational-message{margin-top:12px;padding:10px 24px;background:#00000026;border-radius:50px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:500;color:#fffffff2;font-style:italic;display:inline-block}.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-modern{background:#ffffff2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-white);border:1px solid rgba(255,255,255,.3)}.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}.wedding-code-modern .material-symbols-outlined{color:#fffffff2}.wedding-edit-btn{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#fffffff2;border:none;border-radius:50px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600;color:var(--color-graphite);cursor:pointer;z-index:2;transition:all .3s ease;box-shadow:0 4px 15px #00000014}.wedding-edit-btn-modern{background:#ffffff2e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-white);border:1px solid rgba(255,255,255,.3)}.wedding-edit-btn:hover{background:var(--color-ivory-light);color:var(--color-gold-soft);transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.wedding-edit-btn-modern:hover{background:#fffffff2;color:var(--wedding-color, var(--color-gold-soft));transform:translateY(-2px);box-shadow:0 8px 24px #0003}.wedding-edit-btn .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.wedding-edit-overlay{background:#0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wedding-edit-modal{max-width:560px;background:var(--color-white)}.wedding-edit-header{display:flex;align-items:center;gap:20px;padding:32px 32px 28px;background:linear-gradient(135deg,var(--color-ivory-light) 0%,var(--color-white) 100%);color:var(--color-graphite);position:relative;border-bottom:1px solid var(--color-ivory-dark)}.wedding-edit-header:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gradient-gold);opacity:.4}.wedding-edit-header-icon{width:60px;height:60px;border-radius:20px;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px #d4af374d}.wedding-edit-header-icon .material-symbols-outlined{font-size:2rem;color:var(--color-white);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.modal-header-icon{width:60px;height:60px;border-radius:20px;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 24px #d4af374d}.modal-header-icon .material-symbols-outlined{font-size:2rem;color:var(--color-white);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.modal-header:has(.modal-header-icon){display:flex;align-items:center;gap:20px;padding:24px 28px}.modal-header:has(.modal-header-icon)>div:not(.modal-header-icon){flex:1;padding-right:40px}.modal-header:has(.modal-header-icon) h3{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;margin-bottom:6px;color:var(--color-graphite)}.modal-header:has(.modal-header-icon) p{font-family:Montserrat,sans-serif;font-size:.9rem;color:#999;font-weight:500;margin:0}.modal-header:has(.modal-header-icon) .btn-close-modal{position:absolute;top:20px;right:20px;background:#0000000d;color:var(--color-graphite);width:36px;height:36px;border-radius:10px;transition:all .3s ease}.modal-header:has(.modal-header-icon) .btn-close-modal:hover{background:#0000001a;transform:rotate(90deg)}.wedding-edit-header>div:not(.wedding-edit-header-icon){flex:1}.wedding-edit-header h3{font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600;margin-bottom:6px;color:var(--color-graphite)}.wedding-edit-header p{font-family:Montserrat,sans-serif;font-size:.9rem;color:#999;font-weight:500}.wedding-edit-header .btn-close-modal{position:absolute;top:20px;right:20px;background:#0000000d;color:var(--color-graphite);width:36px;height:36px;border-radius:10px;transition:all .3s ease}.wedding-edit-header .btn-close-modal:hover{background:#d4af3726;color:var(--color-gold-soft);transform:scale(1.05)}.wedding-edit-body{padding:32px;background:var(--color-ivory-light);max-height:65vh;overflow-y:auto}.wedding-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wedding-edit-field-full{grid-column:1 / -1}.wedding-edit-body .form-field label{display:flex;align-items:center;gap:8px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;color:var(--color-graphite);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.wedding-edit-body .form-field label .material-symbols-outlined{font-size:1.2rem;color:var(--color-gold-soft)}.color-picker-row{display:flex;gap:12px;align-items:center}.color-picker-input{width:54px;height:54px;border:2px solid var(--color-ivory-dark);border-radius:14px;cursor:pointer;padding:4px;background:transparent;transition:all .3s ease}.color-picker-input:hover{border-color:var(--color-gold-soft);transform:scale(1.05)}.color-picker-input::-webkit-color-swatch-wrapper{padding:0;border-radius:10px;overflow:hidden}.color-picker-input::-webkit-color-swatch{border:none;border-radius:10px}.color-hex-input{flex:1;max-width:140px}.wedding-code-readonly{display:flex;align-items:center;gap:12px;margin-top:28px;padding:18px 22px;background:linear-gradient(135deg,var(--color-white) 0%,var(--color-ivory-light) 100%);border-radius:16px;font-family:Montserrat,sans-serif;font-size:.9rem;color:var(--color-text-secondary);border:2px solid var(--color-ivory-dark)}.wedding-code-readonly .material-symbols-outlined{color:var(--color-gold-soft);font-size:1.4rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.wedding-edit-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px 32px;background:var(--color-ivory-light);border-top:1px solid var(--color-ivory-dark)}.wedding-edit-footer .btn-save{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;box-shadow:0 4px 16px #d4af374d}.wedding-edit-footer .btn-save:hover{box-shadow:0 8px 24px #d4af3766}.wedding-edit-footer .btn-cancel{padding:12px 28px}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:25px}.stat-box{background:var(--color-ivory-light);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 .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-box:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.4) 100%);opacity:0;transition:opacity .35s ease}.stat-box:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 40px var(--color-gold-light);border-color:var(--color-gold-soft)}.stat-box:hover:before{opacity:1}.stat-icon-wrapper{width:70px;height:70px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:all .35s ease}.stat-box:hover .stat-icon-wrapper{transform:scale(1.1) rotate(5deg)}.stat-box.invitations-stat .stat-icon-wrapper{background:linear-gradient(135deg,#e3f2fd,#90caf9);box-shadow:0 4px 20px #2196f34d}.stat-box.guests-stat .stat-icon-wrapper{background:linear-gradient(135deg,#f3e5f5,#ce93d8);box-shadow:0 4px 20px #9c27b04d}.stat-box.confirmed-stat .stat-icon-wrapper{background:linear-gradient(135deg,#e8f5e9,#81c784);box-shadow:0 4px 20px #4caf504d}.stat-box.pending-stat .stat-icon-wrapper{background:linear-gradient(135deg,#fff3e0,#ffb74d);box-shadow:0 4px 20px #ff98004d}.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-subsection{margin-bottom:40px}.dashboard-subsection-title{display:flex;align-items:center;gap:6px;font-family:Montserrat,sans-serif;font-size:.8125rem;font-weight:600;color:#666;margin-bottom:12px;padding-bottom:0;border-bottom:none;letter-spacing:.02em;text-transform:uppercase}.dashboard-subsection-title .material-symbols-outlined{font-size:1rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.dashboard-edit-inline-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:12px;background:var(--color-ivory-light);color:var(--color-gold-soft);cursor:pointer;transition:all .25s ease}.dashboard-edit-inline-btn:hover{background:var(--color-gold-soft);color:var(--color-white)}.dashboard-edit-inline-btn .material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.dashboard-bento-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}.bento-sidebar{position:sticky;top:100px}.bento-card{background:var(--color-ivory-light);border-radius:24px;padding:24px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(0,0,0,.04)}.bento-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.bento-card-header h3{display:flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;color:var(--color-graphite);text-transform:uppercase;letter-spacing:.5px}.bento-card-header .material-symbols-outlined{font-size:1.3rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.bento-edit-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:10px;background:var(--color-ivory-light);color:var(--color-gold-soft);cursor:pointer;transition:all .25s ease}.bento-edit-btn:hover{background:var(--color-gold-soft);color:var(--color-white);transform:scale(1.05)}.bento-edit-btn .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.wedding-details-list{display:flex;flex-direction:column;gap:16px}.detail-item{display:flex;align-items:center;gap:14px;padding:14px;background:var(--color-ivory-light);border-radius:16px;transition:all .3s ease}.detail-item:hover{background:var(--color-ivory-light);transform:translate(4px)}.detail-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--color-white) 0%,var(--color-ivory-light) 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;box-shadow:0 2px 8px #0000000f}.detail-icon .material-symbols-outlined{font-size:1.4rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.detail-color-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;border:2px solid var(--color-white);box-shadow:0 1px 4px #0003}.detail-content{flex:1;display:flex;flex-direction:column;gap:3px}.detail-label{font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;color:var(--color-graphite)}.bento-main{display:flex;flex-direction:column;gap:30px}.bento-section-title{display:flex;align-items:center;gap:10px;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;color:var(--color-graphite);margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.bento-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}.bento-grid{display:grid;gap:16px}.bento-grid-4{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.bento-stat{background:var(--color-ivory-light);border-radius:20px;padding:24px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(0,0,0,.04);transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.bento-stat:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-color, var(--color-gold-soft));opacity:.6}.bento-stat:hover{transform:translateY(-6px);box-shadow:0 8px 32px #0000001f}.bento-stat-icon{width:56px;height:56px;border-radius:16px;background:var(--stat-bg, var(--color-ivory));display:flex;align-items:center;justify-content:center;transition:transform .35s ease}.bento-stat:hover .bento-stat-icon{transform:scale(1.1) rotate(5deg)}.bento-stat-icon .material-symbols-outlined{font-size:1.8rem;color:var(--stat-color, var(--color-gold-soft));font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.bento-stat-value{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:700;color:var(--color-graphite);line-height:1}.bento-stat-currency{font-size:1.25rem}.bento-stat-label{font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.bento-stat-blue{--stat-color: #8B7355;--stat-bg: linear-gradient(135deg, #f5f3f0 0%, #ebe8e3 100%)}.bento-stat-purple{--stat-color: #9B8579;--stat-bg: linear-gradient(135deg, #f7f5f2 0%, #ece9e5 100%)}.bento-stat-green{--stat-color: #7A9B82;--stat-bg: linear-gradient(135deg, #f0f5f1 0%, #e5ebe7 100%)}.bento-stat-orange{--stat-color: #B89968;--stat-bg: linear-gradient(135deg, #f8f6f2 0%, #ede9e2 100%)}.bento-stat-indigo{--stat-color: #8B8B9B;--stat-bg: linear-gradient(135deg, #f4f4f7 0%, #e8e8ed 100%)}.bento-stat-emerald{--stat-color: #7A9993;--stat-bg: linear-gradient(135deg, #f0f5f4 0%, #e5ebe9 100%)}.bento-stat-sky{--stat-color: #7A94A8;--stat-bg: linear-gradient(135deg, #f0f4f7 0%, #e5eaef 100%)}.bento-stat-amber{--stat-color: #C9A86A;--stat-bg: linear-gradient(135deg, #f9f7f2 0%, #eeebe2 100%)}.bento-empty-state{margin-top:16px;padding:20px;background:var(--color-ivory-light);border-radius:16px;border:2px dashed var(--color-ivory-dark);display:flex;align-items:center;gap:12px;font-family:Montserrat,sans-serif;font-size:.9rem;color:#999}.bento-empty-state .material-symbols-outlined{font-size:1.3rem;color:var(--color-gold-soft);flex-shrink:0;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.dashboard-wedding-info{margin-bottom:40px}.wedding-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.wedding-info-card{background:var(--color-ivory-light);border-radius:20px;padding:24px;box-shadow:0 4px 20px #0000000f;border:2px solid var(--color-ivory-dark);display:flex;align-items:center;gap:20px;transition:all .35s cubic-bezier(.4,0,.2,1)}.wedding-info-card-modern{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-ivory-light) 100%);border:none;box-shadow:0 8px 32px #00000014,0 0 0 1px #00000008;position:relative;overflow:hidden}.wedding-info-card-modern:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent, var(--color-gold-soft)) 0%,color-mix(in srgb,var(--card-accent, var(--color-gold-soft)) 60%,transparent) 100%);opacity:0;transition:opacity .35s ease}.wedding-info-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px var(--color-gold-light);border-color:var(--color-gold-soft)}.wedding-info-card-modern:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 48px #0000001f,0 0 0 1px var(--card-accent, var(--color-gold-soft))}.wedding-info-card-modern:hover:before{opacity:1}.wedding-info-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#f5f3f0,#edeae5);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.wedding-info-icon .material-symbols-outlined{font-size:1.75rem;color:var(--color-gold-soft);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.color-swatch{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:4px;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 4px #0003}.wedding-info-content{display:flex;flex-direction:column;gap:6px}.wedding-info-label{font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;color:#8a7a72;text-transform:uppercase;letter-spacing:1px}.wedding-info-value{font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:600;color:var(--color-graphite)}.dashboard-finance-section .stats-overview{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-suppliers .stat-icon-wrapper{background:linear-gradient(135deg,#e8eaf6,#9fa8da);box-shadow:0 4px 20px #3f51b54d}.stat-suppliers .stat-icon-wrapper .material-symbols-outlined{color:#3f51b5}.stat-budget .stat-icon-wrapper{background:linear-gradient(135deg,#e8f5e9,#81c784);box-shadow:0 4px 20px #2e7d324d}.stat-budget .stat-icon-wrapper .material-symbols-outlined{color:#2e7d32}.stat-paid .stat-icon-wrapper{background:linear-gradient(135deg,#e3f2fd,#64b5f6);box-shadow:0 4px 20px #1565c04d}.stat-paid .stat-icon-wrapper .material-symbols-outlined{color:#1565c0}.stat-balance .stat-icon-wrapper{background:linear-gradient(135deg,#fff8e1,#ffd54f);box-shadow:0 4px 20px #f9a8254d}.stat-balance .stat-icon-wrapper .material-symbols-outlined{color:#f9a825}.stat-currency{font-size:1.75rem!important;word-break:break-all}.dashboard-no-budget{display:flex;align-items:center;gap:10px;padding:20px 24px;background:var(--color-ivory-light);border-radius:16px;margin-top:20px;font-family:Montserrat,sans-serif;font-size:.95rem;color:var(--color-text-secondary);border:2px dashed var(--color-ivory-dark)}.dashboard-no-budget .material-symbols-outlined{font-size:1.5rem;color:var(--color-gold-soft);flex-shrink:0;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 48}.dashboard-title{font-family:Montserrat,sans-serif;font-size:.875rem;color:#666;margin-bottom:16px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.dashboard-card{background:var(--color-ivory-light);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-ivory-light);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-ivory-light);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-ivory-light);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;display:flex;flex-direction:column;max-height:90vh}.upload-header{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-ivory-light) 100%);padding:40px;text-align:center;color:var(--color-graphite);position:relative;border-bottom:1px solid var(--color-ivory-dark)}.upload-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gradient-gold);opacity:.3}.upload-modal-content{max-width:520px;width:100%;max-height:92vh;background:var(--color-white);border-radius:24px 24px 0 0;box-shadow:0 -4px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .35s cubic-bezier(.32,.72,0,1)}.upload-icon-wrapper{margin-bottom:20px}.upload-icon{font-size:4rem;color:var(--color-gold-soft);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;color:var(--color-graphite)}.upload-subtitle{font-family:Montserrat,sans-serif;font-size:1.1rem;opacity:.8;font-weight:300;color:var(--color-graphite)}.upload-content{padding:40px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.3) transparent}.csv-requirements{background:var(--color-ivory-light);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-light);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-light);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-ivory-light);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}.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)}}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-section{width:100%;max-width:1400px;margin:0 auto}.guests-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:0;border-bottom:none}.guests-header h2{font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;color:#666;margin:0;letter-spacing:.02em;text-transform:uppercase}.guests-header-actions{display:flex;gap:12px;align-items:center}.guests-summary{display:flex;gap:16px;margin-bottom:30px;padding:16px;background:var(--color-ivory-light);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-tabs-wrapper{display:flex;gap:4px;padding:4px;background:var(--color-ivory-dark);border-radius:10px;border:2px solid var(--color-ivory-dark)}.group-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--font-primary);font-size:.85rem;font-weight:500;color:var(--color-text-tertiary);background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.group-tab .material-symbols-outlined{font-size:1.1rem}.group-tab:hover{color:var(--color-graphite);background:#fff9}.group-tab.active{color:var(--color-graphite);background:var(--color-white);border-radius:10px;box-shadow:0 1px 4px #00000014}.guests-grouped-container{display:flex;flex-direction:column;gap:0;background:var(--color-ivory-light);border-radius:16px;border:2px solid var(--color-ivory-dark);overflow:hidden}.group-tabs-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid var(--color-ivory-dark);padding:12px 20px}.group-collapse-actions{display:flex;gap:8px}.btn-group-collapse{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-family:var(--font-primary);font-size:.8rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-ivory-dark);border-radius:10px;cursor:pointer;transition:all .2s ease}.btn-group-collapse:hover{background:var(--color-ivory);color:var(--color-graphite);border-color:var(--color-gold-light)}.btn-group-collapse .material-symbols-outlined{font-size:1.1rem}.guests-grouped-container .group-tabs-wrapper{margin:0;padding:6px;background:var(--color-ivory-dark);border-radius:12px;border:1px solid rgba(0,0,0,.06);box-shadow:inset 0 1px 2px #0000000a}.guests-list{display:flex;flex-direction:column;border-radius:0;border:none;overflow:hidden}.guests-list-header,.guest-list-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(110px,1fr) 70px minmax(90px,1fr) minmax(120px,1fr) 80px;gap:12px}.guests-list--hide-group .guests-list-header,.guests-list--hide-group .guest-list-row{grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) 70px minmax(90px,1fr) minmax(120px,1fr) 80px}.guests-list--hide-attendance .guests-list-header,.guests-list--hide-attendance .guest-list-row{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) 70px minmax(90px,1fr) minmax(120px,1fr) 80px}.guests-list--hide-table .guests-list-header,.guests-list--hide-table .guest-list-row{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(110px,1fr) minmax(90px,1fr) minmax(120px,1fr) 80px}.guests-list--hide-menu .guests-list-header,.guests-list--hide-menu .guest-list-row{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(110px,1fr) 70px minmax(120px,1fr) 80px}.guests-list--hide-invitationName .guests-list-header,.guests-list--hide-invitationName .guest-list-row{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(110px,1fr) 70px minmax(90px,1fr) 80px}.guest-group-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-ivory-dark);font-family:var(--font-elegant);font-size:1.1rem;font-weight:600;color:var(--color-graphite);border-bottom:1px solid var(--color-ivory-dark);cursor:pointer;transition:background .2s ease;-webkit-user-select:none;user-select:none}.guest-group-header:hover{background:var(--color-ivory)}.group-header-chevron{font-size:1.2rem!important;color:var(--color-text-tertiary);transition:transform .2s ease}.guest-group--collapsed .group-header-chevron{transform:rotate(-90deg)}.guest-group-body{overflow:hidden}.guest-group--collapsed .guest-group-body{display:none}.guest-group-header:first-of-type{border-top:none}.group-header-label{flex:0 0 auto}.group-header-count{font-family:var(--font-primary);font-size:.9rem;font-weight:400;color:var(--color-text-tertiary)}.guest-group-header .btn-delete-group-inline{margin-left:auto;padding:4px 8px}.guest-group-block:first-child .guest-group-header{border-top:1px solid rgba(0,0,0,.06)}.guests-list-header{padding:12px 16px;font-family:var(--font-primary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);background:var(--color-ivory-dark);align-items:center}.guest-list-row{padding:12px 16px;align-items:center;background:var(--color-ivory-light);border-bottom:1px solid var(--color-ivory-dark);transition:background .2s ease}.guest-list-row:last-child{border-bottom:none}.guest-list-row:hover{background:var(--color-white)}.guest-list-row .col-name{display:flex;align-items:center;gap:10px}.guest-icon-small{width:32px;height:32px;min-width:32px;min-height:32px}.guest-icon-small .material-symbols-outlined{font-size:1.3rem}.guest-list-row .guest-name-text{font-family:var(--font-elegant);font-size:1.1rem;font-weight:600;color:var(--color-graphite)}.guest-list-row .col-group,.guest-list-row .col-table,.guest-list-row .col-menu,.guest-list-row .col-invitation{font-family:var(--font-primary);font-size:.9rem;color:var(--color-text-secondary)}.guest-list-actions{display:flex;gap:4px;justify-content:flex-end}.guest-list-actions .btn-edit-title,.guest-list-actions .btn-delete-invitation{padding:6px}.guest-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.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;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#0f0f0f99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:modalOverlayIn .25s cubic-bezier(.32,.72,0,1);overflow:hidden}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modalFadeScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}body.modal-open{overflow:hidden;touch-action:none}.modal-content{width:100%;max-width:520px;max-height:92vh;background:var(--color-white);border-radius:24px 24px 0 0;box-shadow:0 -4px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .35s cubic-bezier(.32,.72,0,1)}@media(max-width:640px){.modal-content:before,.edit-guest-modal:before,.upload-modal-content:before{content:"";display:block;width:40px;height:4px;background:var(--color-ivory-dark);border-radius:2px;margin:12px auto 0;opacity:.6;flex-shrink:0}}@media(min-width:641px){.modal-overlay{align-items:center;padding:24px}.modal-content,.upload-modal-content,.edit-guest-modal{border-radius:20px;max-height:88vh;box-shadow:0 24px 60px #0000002e;animation:modalFadeScale .3s cubic-bezier(.32,.72,0,1)}}.edit-form-container{width:100%;max-width:560px;max-height:92vh;background:var(--color-white);border-radius:24px 24px 0 0;padding:0;overflow:hidden;border:none;box-shadow:0 -4px 40px #00000026;display:flex;flex-direction:column;animation:modalSlideIn .35s cubic-bezier(.32,.72,0,1)}@media(min-width:641px){.edit-form-container{border-radius:20px;box-shadow:0 24px 60px #0003;animation:modalFadeScale .3s cubic-bezier(.32,.72,0,1)}}.edit-form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--color-white);border-bottom:1px solid var(--color-ivory-dark);flex-shrink:0}.edit-form-header h3{font-family:var(--font-elegant);font-size:1.5rem;font-weight:600;margin:0;color:var(--color-graphite)}.btn-close-edit{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:12px;background:var(--color-ivory-light);color:var(--color-graphite);cursor:pointer;transition:all .2s ease}.btn-close-edit:hover{background:var(--color-gold-light);color:var(--color-gold-soft)}.btn-close-edit .material-symbols-outlined{font-size:1.4rem}.edit-form{padding:24px;display:flex;flex-direction:column;gap:24px;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.edit-form-section{display:flex;flex-direction:column;gap:15px}.edit-form .section-title{display:flex;align-items:center;gap:4px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;color:#888;margin-bottom:8px;letter-spacing:.03em;text-transform:uppercase}.edit-form .section-title .material-symbols-outlined{font-size:.875rem;color:#999;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20}.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-light);color:var(--color-graphite);transition:all .3s ease}.edit-input:focus{outline:none;border-color:var(--color-gold-soft);background:var(--color-ivory-light);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-ivory-light);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:12px 16px;flex-direction:row;gap:12px;align-items:center;flex-wrap:wrap}.header-logo{gap:8px;flex-shrink:0}.logo-isotipo{width:36px;height:36px}.logo-text{font-size:1.2rem}.header-user{width:auto;margin-left:auto;justify-content:flex-end;gap:8px}.user-info{display:none}.admin-navbar{padding:8px 12px;margin-bottom:16px}.nav-cards{gap:8px;padding:0 12px 4px;justify-content:flex-start;-webkit-overflow-scrolling:touch}.nav-card{min-width:auto;width:auto;height:44px;padding:0 14px;flex-shrink:0}.nav-card-icon{width:22px;height:22px;margin-bottom:0}.nav-card-icon .material-symbols-outlined{font-size:1.2rem}.nav-card-name{font-size:.78rem}.admin-content{padding:20px 15px}.dashboard-title{font-size:.8125rem}.dashboard-subsection-title{font-size:.75rem}.wedding-info-grid{grid-template-columns:1fr}.wedding-info-value{font-size:1.2rem}.stat-currency{font-size:1.35rem!important}.wedding-header-summary{padding:40px 20px 35px}.couple-avatar-circle{width:100px;height:100px}.couple-initials{width:100px;height:100px;font-size:2rem}.couple-avatar-ring{width:120px;height:120px}.days-counter-number{font-size:3.5rem}.wedding-edit-btn{top:12px;left:12px;padding:8px 14px;font-size:.8rem}.wedding-edit-btn-text{display:none}.wedding-edit-modal{max-width:95%;margin:20px}.wedding-edit-grid{grid-template-columns:1fr}.wedding-edit-body,.wedding-edit-header{padding:20px}.wedding-edit-footer{flex-direction:column;padding:16px 20px}.wedding-edit-footer .btn-save,.wedding-edit-footer .btn-cancel{width:100%;justify-content:center}.modal-header:has(.modal-header-icon){gap:12px;padding:18px 20px}.modal-header-icon,.wedding-edit-header-icon{width:50px;height:50px;border-radius:16px}.modal-header-icon .material-symbols-outlined,.wedding-edit-header-icon .material-symbols-outlined{font-size:1.6rem}.modal-header:has(.modal-header-icon) h3{font-size:1.4rem;margin-bottom:4px}.modal-header:has(.modal-header-icon) p{font-size:.8rem}.modal-header:has(.modal-header-icon)>div:not(.modal-header-icon){padding-right:35px}.modal-header:has(.modal-header-icon) .btn-close-modal{top:16px;right:16px;width:32px;height:32px}.edit-guest-modal,.table-modal-content,.upload-modal-content,.wedding-code-modal,.registry-details-modal{max-width:95%;margin:20px}.admin-content{padding:16px 20px 30px}.dashboard-bento-layout{grid-template-columns:1fr;gap:20px}.bento-sidebar{position:static}.bento-grid-4{grid-template-columns:repeat(2,1fr)}.bento-stat-value{font-size:1.6rem}.bento-stat-currency{font-size:1.1rem}.stats-overview{grid-template-columns:1fr 1fr;gap:15px}.dashboard-finance-section .stats-overview{grid-template-columns:1fr 1fr}.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-grouped-container{border-radius:12px}.guests-grouped-container .group-tabs-wrapper{padding:10px 12px}.guest-group-header{padding:8px 12px;font-size:1rem}.guests-list{overflow-x:auto;min-width:0;-webkit-overflow-scrolling:touch}.guests-list-header,.guest-list-row{min-width:520px;padding-left:12px;padding-right:12px}.guests-header{flex-direction:column;align-items:flex-start;gap:15px}.guests-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-card{padding:12px}.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-body,.edit-form{padding:20px}.modal-header,.edit-form-header{padding:16px 20px}.modal-header h3,.edit-form-header h3{font-size:1.25rem}.modal-footer{padding:16px 20px;flex-direction:column}.modal-footer .btn-save,.modal-footer .btn-cancel,.modal-footer .btn-confirm{width:100%}.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,.program-header,.suppliers-header,.tables-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.06)}.invitations-header h2,.program-header h2,.suppliers-header h2,.tables-header h2{font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;color:#666;margin:0;letter-spacing:.02em;text-transform:uppercase}.invitations-container{display:grid;grid-template-columns:300px 1fr;gap:30px}.guests-drag-list{background:var(--color-ivory-light);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-light);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-light);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}.program-section .program-container{max-width:800px}.no-program-sections{text-align:center;padding:60px 20px;background:var(--color-ivory-light);border-radius:16px;border:2px dashed var(--color-ivory-dark)}.no-program-sections .material-symbols-outlined{font-size:4rem;color:var(--color-gold-soft);margin-bottom:20px;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 48}.no-program-sections p{font-family:Montserrat,sans-serif;font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:8px}.no-program-sections .hint{font-size:.9rem;color:#8a7a72;font-style:italic;margin-bottom:24px}.no-program-sections .btn-primary{margin-top:8px}.program-timeline{display:flex;flex-direction:column;gap:20px}.program-section-card{background:var(--color-ivory-light);border-radius:16px;padding:24px;box-shadow:0 4px 15px #0000000f;border:2px solid var(--color-ivory-dark);transition:border-color .2s ease}.program-section-card:hover{border-color:var(--color-gold-soft)}.program-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--color-ivory-dark)}.program-section-header .program-section-title{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;color:var(--color-graphite);margin:0}.program-section-header .program-section-actions{display:flex;gap:6px;margin:0}.program-items-list{display:flex;flex-direction:column;gap:8px}.program-items-empty{text-align:center;padding:20px;background:var(--color-ivory-light);border-radius:12px;border:2px dashed var(--color-ivory-dark)}.program-items-empty p{font-family:Montserrat,sans-serif;font-size:.95rem;color:#8a7a72;margin:0 0 12px}.program-item-row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--color-ivory-light);border-radius:10px;border:1px solid var(--color-ivory-dark)}.program-item-row:hover{border-color:var(--color-gold-soft)}.program-item-time{flex-shrink:0;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;color:var(--color-gold);min-width:90px}.program-item-description{flex:1;font-family:Montserrat,sans-serif;font-size:.95rem;color:var(--color-graphite)}.program-item-actions{display:flex;gap:4px;flex-shrink:0}.program-modal-content .form-input-time,.modal-body input[type=time]{width:100%;max-width:180px;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:1rem;color:#2c1810;background:#fff;border:2px solid #e8e0d6;border-radius:10px;cursor:pointer}.program-modal-content .form-input-time:focus,.modal-body input[type=time]:focus{border-color:#d4a574;outline:none;box-shadow:0 0 0 3px #d4a5741a}.program-modal-content{max-width:520px;padding:0;display:flex;flex-direction:column;max-height:92vh}.invitation-card{background:var(--color-ivory-light);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}.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-ivory-light);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 .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-light);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-ivory-light);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}.invitation-drop-zone{min-height:200px;border:3px dashed var(--color-ivory-dark);border-radius:12px;padding:20px;background:var(--color-ivory-light);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-ivory-light);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-light)}@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:520px}.wedding-code-subtitle{font-family:var(--font-primary);font-size:.95rem;color:var(--color-text-tertiary);margin:0 0 24px}.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-light);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-ivory-light);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-ivory-light);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{width:56px;height:56px;padding:0;border-radius:12px}.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-grouped-container{margin-bottom:0}.budget-grouped-container .group-tabs-wrapper{flex:1}.budget-content{padding:24px;overflow:hidden}.budget-summary .summary-card.budget-estimated .summary-value-small{color:#4a90a4}.budget-summary .summary-card.budget-final .summary-value-small{color:#8b5a9f}.budget-summary .summary-card.budget-difference .summary-value-small.positive{color:#2e7d32}.budget-summary .summary-card.budget-difference .summary-value-small.negative{color:#c62828}.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-overview .budget-registries-grouped{margin-top:0}.budget-categories,.budget-categories-section{margin-top:30px}.budget-categories h3,.budget-categories-section h3{font-family:Montserrat,sans-serif;font-size:.8125rem;font-weight:600;color:#666;letter-spacing:.02em;text-transform:uppercase;margin-bottom:12px}.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;flex-wrap:wrap;gap:12px}.registries-header h3{font-family:Montserrat,sans-serif;font-size:.8125rem;font-weight:600;color:#666;margin:0;letter-spacing:.02em;text-transform:uppercase}.registries-table{background:#fff;border-radius:12px;overflow-x:auto;overflow-y:hidden;box-shadow:0 2px 10px #0000000d;-webkit-overflow-scrolling:touch}.registries-table table{width:100%;min-width:600px;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:Montserrat,sans-serif;font-size:.8125rem;font-weight:600;color:#666;margin:0;letter-spacing:.02em;text-transform:uppercase}.payments-list{background:#fff;border-radius:12px;overflow-x:auto;overflow-y:hidden;box-shadow:0 2px 10px #0000000d;-webkit-overflow-scrolling:touch}.payments-list table{width:100%;min-width:580px;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}.registry-details-modal{max-width:560px}.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}.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:.75rem;font-weight:600;color:#888;letter-spacing:.03em;text-transform:uppercase;margin-bottom:10px;padding-bottom:0;border-bottom:none;display:flex;align-items:center;gap:6px}.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-x:auto;overflow-y:hidden;border:2px solid #f0ead8;box-shadow:0 2px 10px #0000000d;-webkit-overflow-scrolling:touch}.payments-details-table{width:100%;min-width:500px;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-grouped-container{margin-bottom:0}.suppliers-content{padding:24px}.suppliers-content .suppliers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.suppliers-content .no-suppliers{padding:60px 24px}.supplier-card{background:var(--color-ivory-light);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:1px solid var(--color-ivory-dark);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 .edit-form::-webkit-scrollbar,.modal-overlay .upload-modal-content::-webkit-scrollbar,.modal-overlay .upload-content::-webkit-scrollbar,.modal-overlay .table-modal-form::-webkit-scrollbar,.modal-overlay .wedding-code-modal::-webkit-scrollbar,.modal-overlay .registry-details-modal::-webkit-scrollbar,.modal-overlay .guests-drag-items::-webkit-scrollbar{width:3px}.modal-overlay .edit-form::-webkit-scrollbar-track,.modal-overlay .upload-modal-content::-webkit-scrollbar-track,.modal-overlay .upload-content::-webkit-scrollbar-track,.modal-overlay .table-modal-form::-webkit-scrollbar-track,.modal-overlay .wedding-code-modal::-webkit-scrollbar-track,.modal-overlay .registry-details-modal::-webkit-scrollbar-track,.modal-overlay .guests-drag-items::-webkit-scrollbar-track{background:transparent;margin:0}.modal-overlay .edit-form::-webkit-scrollbar-thumb,.modal-overlay .upload-modal-content::-webkit-scrollbar-thumb,.modal-overlay .upload-content::-webkit-scrollbar-thumb,.modal-overlay .table-modal-form::-webkit-scrollbar-thumb,.modal-overlay .wedding-code-modal::-webkit-scrollbar-thumb,.modal-overlay .registry-details-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:hover::-webkit-scrollbar-thumb,.modal-overlay .upload-modal-content:hover::-webkit-scrollbar-thumb,.modal-overlay .upload-content:hover::-webkit-scrollbar-thumb,.modal-overlay .table-modal-form:hover::-webkit-scrollbar-thumb,.modal-overlay .wedding-code-modal:hover::-webkit-scrollbar-thumb,.modal-overlay .registry-details-modal:hover::-webkit-scrollbar-thumb,.modal-overlay .guests-drag-items:hover::-webkit-scrollbar-thumb{opacity:1;background:#d4a57466}.modal-overlay .edit-form::-webkit-scrollbar-thumb:hover,.modal-overlay .upload-modal-content::-webkit-scrollbar-thumb:hover,.modal-overlay .upload-content::-webkit-scrollbar-thumb:hover,.modal-overlay .table-modal-form::-webkit-scrollbar-thumb:hover,.modal-overlay .wedding-code-modal::-webkit-scrollbar-thumb:hover,.modal-overlay .registry-details-modal::-webkit-scrollbar-thumb:hover,.modal-overlay .guests-drag-items::-webkit-scrollbar-thumb:hover{background:#d4a57480;opacity:1}.modal-overlay .edit-form::-webkit-scrollbar-thumb:active,.modal-overlay .upload-modal-content::-webkit-scrollbar-thumb:active,.modal-overlay .upload-content::-webkit-scrollbar-thumb:active,.modal-overlay .table-modal-form::-webkit-scrollbar-thumb:active,.modal-overlay .wedding-code-modal::-webkit-scrollbar-thumb:active,.modal-overlay .registry-details-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:20px 24px;border-bottom:1px solid var(--color-ivory-dark);background:var(--color-white);flex-shrink:0}.modal-header h3{font-family:var(--font-elegant);font-size:1.4rem;font-weight:600;color:var(--color-graphite);margin:0}.modal-body{padding:24px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(212,165,116,.3) transparent}.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:14px 16px;font-family:var(--font-primary);font-size:.95rem;color:var(--color-graphite);background:var(--color-ivory-light);border:2px solid var(--color-ivory-dark);border-radius:12px;transition:all .2s 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}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--color-ivory-dark);background:var(--color-ivory-light);flex-shrink:0}.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}.confirm-modal{max-width:420px}.confirm-message{font-family:var(--font-primary);font-size:.95rem;color:var(--color-graphite);line-height:1.6;margin:0}.budget-registries-grouped{margin-top:0}.category-registry-group{margin-bottom:24px;background:var(--color-ivory-light);border-radius:12px;border:1px solid var(--color-ivory-dark);overflow:hidden;box-shadow:0 1px 4px #0000000a}.category-registry-group:last-child{margin-bottom:0}.category-registry-title{display:flex;align-items:center;gap:6px;font-family:Montserrat,sans-serif;font-size:.8125rem;font-weight:600;color:#666;letter-spacing:.02em;text-transform:uppercase;margin:0;padding:10px 16px;background:#f8f8f8;border-bottom:1px solid #e8e8e8}.category-registry-title .material-symbols-outlined{color:#999;font-size:1rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20}.category-registry-group .registries-table{border-radius:0;border:none;box-shadow:none}.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:Montserrat,sans-serif;font-size:1rem;font-weight:600;color:var(--color-graphite);margin:0;letter-spacing:-.01em}.budget-categories-section{width:100%}.categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:0;border-bottom:none}.categories-header h3{font-family:Montserrat,sans-serif;font-size:.8125rem;font-weight:600;color:#666;margin:0;letter-spacing:.02em;text-transform:uppercase}.categories-actions{display:flex;gap:12px}.categories-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.category-admin-card{background:linear-gradient(135deg,var(--color-white) 0%,var(--color-ivory-light) 100%);border-radius:16px;padding:24px;box-shadow:0 2px 12px #0000000d;border:1px solid rgba(0,0,0,.04);transition:all .3s ease;position:relative;overflow:hidden}.category-admin-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-gold);opacity:.5}.category-admin-card:hover{transform:translateY(-4px);box-shadow:0 6px 24px #0000001a}.category-admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-ivory-dark)}.category-admin-header h4{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600;color:var(--color-graphite);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 .material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif;font-size:1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.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-modal{max-width:100%}.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-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-ivory-light);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-light);position:relative}.canvas-controls{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--color-ivory-light);padding:12px;border-radius:12px;box-shadow:0 4px 12px #00000026;border:2px solid var(--color-ivory-dark);z-index:10}.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-ivory-light);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;max-height:92vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.table-modal-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.table-modal-form .modal-body{flex:1;overflow-y:auto;padding:24px;min-height:0}.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-ivory-light);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)}@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-ivory-light);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}.budget-content{padding:16px}.budget-selector{flex-direction:column;align-items:stretch;gap:12px}.budget-select{max-width:100%}.suppliers-content{padding:16px}.suppliers-content .suppliers-grid{grid-template-columns:1fr}.registries-table,.payments-list{-webkit-overflow-scrolling:touch}.categories-header{flex-direction:column;align-items:flex-start;gap:15px}.categories-actions{flex-wrap:wrap}.categories-admin-grid{grid-template-columns:1fr}.payments-header,.registries-header{flex-direction:column;align-items:flex-start;gap:15px}.registry-actions{flex-wrap:wrap}}@media(max-width:480px){.admin-layout-header{padding:10px 12px}.logo-text{font-size:1.1rem}.logo-isotipo{width:32px;height:32px}.nav-cards{padding:0 8px 4px;gap:6px}.nav-card{padding:0 10px;height:40px}.nav-card-name{font-size:.72rem}.guests-header,.invitations-header,.suppliers-header,.tables-header,.program-header{flex-direction:column;align-items:stretch;gap:12px}.guests-header-actions,.invitations-header-actions,.suppliers-header-actions,.tables-header-actions,.program-header-actions,.categories-actions,.payments-header,.registries-header{flex-direction:column;width:100%}.guests-header>button,.invitations-header>button,.guests-header-actions button,.invitations-header-actions button,.suppliers-header-actions button,.tables-header-actions button,.program-header-actions button,.categories-actions button,.payments-header button,.registries-header button,.btn-new-guest,.btn-upload-csv,.btn-refresh,.btn-add-registry,.btn-add-category,.btn-add-subcategory,.btn-add-payment{width:100%;justify-content:center;min-height:44px;padding:10px 16px}.admin-content{padding:15px 10px}.guests-summary{grid-template-columns:1fr}.group-tabs-row{padding:10px 12px;gap:10px}.budget-grouped-container .group-tabs-wrapper{flex-wrap:wrap;padding:8px 10px}.group-collapse-actions{width:100%;justify-content:flex-end}.btn-group-collapse{padding:5px 10px;font-size:.75rem}.guests-grouped-container{border-radius:10px}.guests-grouped-container .group-tabs-wrapper{flex-wrap:wrap;gap:6px;padding:8px 12px}.group-tab{flex:1 1 auto;justify-content:center;min-width:60px;padding:6px 8px;font-size:.75rem}.group-tab .material-symbols-outlined{font-size:.95rem}.guest-group-header{padding:6px 12px;font-size:.95rem}.guests-list-header,.guest-list-row{min-width:480px;padding-left:10px;padding-right:10px}.budget-content{padding:12px}.category-admin-card{padding:16px}.subcategory-admin-item:hover{margin-left:0;margin-right:0;padding-left:8px;padding-right:8px}.subcategory-admin-actions{opacity:1}.registries-table td,.registries-table th,.payments-list td,.payments-list th{padding:10px 8px;font-size:.85rem}.registry-actions{gap:4px}.modal-header,.edit-form-header{padding:14px 16px}.modal-body,.edit-form{padding:16px}.modal-footer{padding:14px 16px}.wedding-code-card{padding:30px 20px}.wedding-code-header h2{font-size:1.8rem}.invitations-grid{grid-template-columns:1fr;padding:0 10px}.invitation-card,.supplier-card{padding:20px}.budget-summary-cards{grid-template-columns:1fr;gap:12px}}.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.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.png);transform:rotate(-15deg)}.right-flower{bottom:10%;right:-70px;background-image:url(/assets/Variadas1.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}.important-info .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}}[class*=btn-],button[class*=btn-],a[class*=btn-]{text-decoration:none!important}.btn-primary,.btn-save,.btn-confirm,.btn-confirm-join,.btn-secondary,.btn-upload,.btn-upload-csv,.btn-search-code,.btn-refresh,.btn-cancel-code,.btn-change-registry,.btn-cancel,.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-family:Montserrat,sans-serif;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 #d4a5744d}.btn-primary:hover,.btn-save:hover,.btn-confirm:hover,.btn-confirm-join:hover,.btn-secondary:hover,.btn-upload:hover:not(:disabled),.btn-upload-csv:hover,.btn-search-code:hover:not(:disabled),.btn-refresh:hover,.btn-cancel-code:hover,.btn-change-registry:hover,.btn-cancel:hover,.btn-back:hover{background:linear-gradient(135deg,var(--color-gold-dark) 0%,#b8864a 100%);box-shadow:0 4px 12px #d4a57480}.btn-primary:active,.btn-save:active,.btn-confirm:active,.btn-confirm-join:active,.btn-secondary:active,.btn-upload:active:not(:disabled),.btn-upload-csv:active,.btn-search-code:active,.btn-refresh:active,.btn-cancel-code:active,.btn-change-registry:active,.btn-cancel:active,.btn-back:active{box-shadow:0 2px 8px #d4a5744d}.btn-upload{width:100%;padding:16px 24px;font-size:1.1rem;font-weight:600;border-radius:12px;box-shadow:0 4px 15px #d4a57459}.btn-upload:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary .material-symbols-outlined,.btn-save .material-symbols-outlined,.btn-confirm .material-symbols-outlined,.btn-confirm-join .material-symbols-outlined,.btn-secondary .material-symbols-outlined,.btn-upload .material-symbols-outlined,.btn-upload-csv .material-symbols-outlined,.btn-search-code .material-symbols-outlined,.btn-refresh .material-symbols-outlined,.btn-cancel-code .material-symbols-outlined,.btn-change-registry .material-symbols-outlined,.btn-cancel .material-symbols-outlined,.btn-back .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-search-code .material-symbols-outlined{font-size:1.5rem}.btn-upload .material-symbols-outlined{font-size:1.4rem}.btn-new-guest,.btn-create-invitation,.btn-create-budget,.btn-create-supplier,.btn-add-registry,.btn-add-category,.btn-add-subcategory,.btn-add-payment{display:inline-flex;align-items:center;justify-content: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:1.5px solid var(--color-gold-soft);border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #d4a57426}.btn-new-guest:hover,.btn-create-invitation:hover,.btn-create-budget:hover,.btn-create-supplier:hover,.btn-add-registry:hover,.btn-add-category:hover,.btn-add-subcategory:hover,.btn-add-payment:hover{background:var(--color-gold-soft);color:var(--color-white);box-shadow:0 4px 12px #d4a57466}.btn-new-guest:active,.btn-create-invitation:active,.btn-create-budget:active,.btn-create-supplier:active,.btn-add-registry:active,.btn-add-category:active,.btn-add-subcategory:active,.btn-add-payment:active{box-shadow:0 2px 8px #d4a57426}.btn-new-guest .material-symbols-outlined,.btn-create-invitation .material-symbols-outlined,.btn-create-budget .material-symbols-outlined,.btn-create-supplier .material-symbols-outlined,.btn-add-registry .material-symbols-outlined,.btn-add-category .material-symbols-outlined,.btn-add-subcategory .material-symbols-outlined,.btn-add-payment .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-change-registry{padding:8px 16px;font-size:.85rem;align-self:flex-start}.btn-edit-title,.btn-delete-invitation{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:8px;cursor:pointer;transition:all .3s ease;flex-shrink:0}.btn-edit-title{background:#d4a5741f;border:1px solid rgba(212,165,116,.35);color:#b8864a}.btn-edit-title:hover{background:var(--color-gold-soft);border-color:var(--color-gold-soft);color:#fff;box-shadow:0 2px 8px #d4a57466}.btn-delete-invitation{background:#dc35451a;border:1px solid rgba(220,53,69,.25);color:#dc3545}.btn-delete-invitation:hover{background:#dc3545;border-color:#dc3545;color:#fff;box-shadow:0 2px 8px #dc354566}.btn-edit-title .material-symbols-outlined,.btn-delete-invitation .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-edit-small,.btn-delete-small,.btn-details-small,.btn-add-payment-small{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:8px;cursor:pointer;transition:all .3s ease;flex-shrink:0}.btn-edit-small{background:#d4a5741f;border:1px solid rgba(212,165,116,.35);color:#b8864a}.btn-edit-small:hover{background:var(--color-gold-soft);border-color:var(--color-gold-soft);color:#fff;box-shadow:0 2px 8px #d4a57466}.btn-delete-small{background:#dc35451a;border:1px solid rgba(220,53,69,.25);color:#dc3545}.btn-delete-small:hover{background:#dc3545;border-color:#dc3545;color:#fff;box-shadow:0 2px 8px #dc354566}.btn-details-small{background:#6b8fa31a;border:1px solid rgba(107,143,163,.25);color:#6b8fa3}.btn-details-small:hover{background:#6b8fa3;border-color:#6b8fa3;color:#fff;box-shadow:0 2px 8px #6b8fa366}.btn-add-payment-small{background:#4a90a41a;border:1px solid rgba(74,144,164,.25);color:#4a90a4}.btn-add-payment-small:hover{background:#4a90a4;border-color:#4a90a4;color:#fff;box-shadow:0 2px 8px #4a90a466}.btn-edit-small .material-symbols-outlined,.btn-delete-small .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,.btn-delete-tiny,.btn-save-title,.btn-cancel-title{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:8px;cursor:pointer;transition:all .3s ease;flex-shrink:0}.btn-edit-tiny{background:#d4a5741f;border:1px solid rgba(212,165,116,.35);color:#b8864a}.btn-edit-tiny:hover{background:var(--color-gold-soft);border-color:var(--color-gold-soft);color:#fff;box-shadow:0 2px 8px #d4a57466}.btn-delete-tiny{background:#dc35451a;border:1px solid rgba(220,53,69,.25);color:#dc3545}.btn-delete-tiny:hover{background:#dc3545;border-color:#dc3545;color:#fff;box-shadow:0 2px 8px #dc354566}.btn-save-title{background:#4caf501f;border:1px solid rgba(76,175,80,.35);color:#4caf50}.btn-save-title:hover{background:#4caf50;border-color:#4caf50;color:#fff;box-shadow:0 2px 8px #4caf5066}.btn-cancel-title{background:#9e9e9e1f;border:1px solid rgba(158,158,158,.35);color:#999}.btn-cancel-title:hover{background:#999;border-color:#999;color:#fff;box-shadow:0 2px 8px #9e9e9e66}.btn-edit-tiny .material-symbols-outlined,.btn-delete-tiny .material-symbols-outlined,.btn-save-title .material-symbols-outlined,.btn-cancel-title .material-symbols-outlined{font-size:1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.btn-close-modal,.btn-close-sidebar,.btn-close-edit{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0000000d;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;color:var(--color-text-tertiary)}.btn-close-modal:hover,.btn-close-sidebar:hover,.btn-close-edit:hover{background:#d4af3726;color:var(--color-gold-soft)}.btn-close-modal .material-symbols-outlined,.btn-close-edit .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-close-sidebar .material-symbols-outlined{font-size:1.5rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.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}.btn-close-upload .material-symbols-outlined{font-size:1.3rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-remove-file,.btn-remove-guest,.btn-delete-group{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#c62828}.btn-remove-file{width:36px;height:36px;background:#ffebee;border:none;border-radius:50%}.btn-remove-guest{width:28px;height:28px;background:transparent;border:none;border-radius:50%}.btn-delete-group{width:32px;height:32px;padding:0;background:transparent;border:1px solid #e8e0d6;border-radius:8px;color:#c96a6a}.btn-remove-file:hover,.btn-remove-guest:hover{background:#ffcdd2!important}.btn-delete-group:hover{background:#ffe6e6;border-color:#c96a6a}.btn-remove-file .material-symbols-outlined,.btn-remove-guest .material-symbols-outlined,.btn-delete-group .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.btn-remove-guest .material-symbols-outlined{font-size:1rem}.btn-copy-link{display:flex;align-items:center;justify-content:center;padding:4px 6px;min-width:28px;height:28px;background:transparent;border:1px solid var(--color-ivory-dark);border-radius:6px;cursor:pointer;color:var(--color-text-secondary);transition:all .2s ease;flex-shrink:0;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}.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)}.canvas-zoom-btn .material-symbols-outlined{font-size:1.2rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-ivory-dark);border-radius:8px;cursor:pointer;transition:all .3s ease;background:var(--color-white);color:var(--color-graphite)}.btn-action-small{width:32px;height:32px}.btn-action-tiny{width:28px;height:28px}.btn-action:hover{background:var(--color-gold-light);border-color:var(--color-gold-soft);color:var(--color-gold-soft)}.btn-action-edit{background:#d4a5741f;border-color:#d4a57459;color:#b8864a}.btn-action-edit:hover{background:var(--color-gold-soft);border-color:var(--color-gold-soft);color:#fff}.btn-action-delete{background:#dc35451a;border-color:#dc354540;color:#dc3545}.btn-action-delete:hover{background:#dc3545;border-color:#dc3545;color:#fff}.btn-action .material-symbols-outlined{font-size:1.1rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.btn-action-tiny .material-symbols-outlined{font-size:1rem}.toast-close{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);border-radius:4px;transition:all .2s ease}.toast-close:hover{background:#f5f1e8;color:var(--color-graphite)}.toast-close .material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.btn-primary:disabled,.btn-secondary:disabled,.btn-save:disabled,.btn-cancel:disabled,.btn-confirm:disabled,.btn-search-code:disabled,.btn-edit-tiny:disabled,.btn-edit-small:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}button .material-symbols-outlined{display:inline-flex;pointer-events:none;-webkit-user-select:none;user-select:none}: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;--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: #F7F5F2;--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)}
