:root{--primary-color: #8B7355;--secondary-color: #D4C5B5;--accent-color: #C9A87C;--gold-color: #B8860B;--text-color: #4A4A4A;--background-color: #FAF8F5;--white: #FFFFFF;--error-color: #D32F2F;--success-color: #388E3C}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif;color:var(--text-color);line-height:1.6;margin:0;padding:0}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}.app:after{content:"";position:absolute;inset:0;background:url(/circulo.jpeg) top center no-repeat;background-size:100% auto;z-index:-1;pointer-events:none}.app:before{content:"";position:absolute;inset:0;background:url(/base.jpeg) top center repeat-y;background-size:100% auto;transform:scaleX(-1);z-index:-2;pointer-events:none}.header{background:transparent;color:var(--text-color);text-align:center;padding:2vw;min-height:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.invitation-text{font-size:3.5vw;font-style:italic;color:var(--primary-color);margin-top:12vw;margin-bottom:0;letter-spacing:.05em}.circle-content{margin-top:28vw;padding:4vw 6vw}.circle-content h1{font-family:Playfair Display,serif;font-size:4.5vw;font-weight:400;color:var(--gold-color);line-height:1.4;letter-spacing:.02em}.event-details{margin-top:30vw}@media(min-width:601px){.event-details{margin-top:28vw}.date-time{margin-top:1vw}}.date-time{display:flex;width:100%;padding:0;margin-bottom:2vw;justify-content:center}.date{width:50%;text-align:right;padding-right:4vw;padding-left:0;margin:0}.time{width:50%;text-align:left;padding-left:11vw;padding-right:0;margin:0}.date .label,.time .label{display:block;font-size:2.8vw;color:var(--primary-color);letter-spacing:.1em;margin-bottom:0}.date .value,.time .value{display:block;font-size:3.5vw;font-weight:600;color:var(--text-color);white-space:nowrap}.divider{width:1px;height:40px;background:var(--secondary-color)}.location{font-size:3vw;color:var(--primary-color);font-weight:500;text-transform:uppercase;letter-spacing:.05em;padding:0 5vw;margin-top:0;margin-bottom:2vw}.location-link{display:inline-block;font-size:3vw;color:var(--primary-color);text-decoration:none;border:1px solid var(--primary-color);padding:1.5vw 4vw;margin-top:2vw;border-radius:10vw;background-color:#ffffffb3;transition:all .3s ease}.location-link:hover{background-color:var(--primary-color);color:#fff}.celebration-text{font-size:3.5vw;color:var(--primary-color);margin-top:20vw;font-style:italic;line-height:1.4;padding:0 4vw;margin-bottom:4vw;letter-spacing:.05em}.recommendation-text{font-size:3.5vw;color:var(--primary-color);margin-top:10vw;font-style:italic;line-height:1.4;padding:0 4vw;margin-bottom:4vw;letter-spacing:.05em}.main-content{padding:1rem;display:flex;justify-content:center;align-items:center}.rsvp-trigger{padding:3vw 6vw;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:var(--white);border:none;border-radius:10vw;font-size:3.5vw;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #8b73554d;margin-top:4vw}.rsvp-trigger:hover{transform:translateY(-3px);box-shadow:0 6px 20px #8b735566}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#8b735566;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease-out}.modal-content{background:var(--background-color);padding:2.5rem;border-radius:24px;width:90%;max-width:500px;position:relative;box-shadow:0 15px 50px #8b735533;max-height:90vh;overflow-y:auto;border:1px solid var(--secondary-color);animation:slideUp .3s cubic-bezier(.16,1,.3,1);margin:.5rem}.modal-close{position:absolute;top:20px;right:20px;background:var(--secondary-color);border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;color:var(--primary-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:.8}.rsvp-form{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem;padding:1.5rem}.rsvp-form h2{font-family:Playfair Display,serif;color:var(--text-color);text-align:center;margin-bottom:1rem;font-size:2rem;border-bottom:1px solid var(--secondary-color);padding-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.form-group label{font-size:.85rem;color:var(--primary-color);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem;opacity:.9}.rsvp-input{width:100%;padding:1rem 1.2rem;border:1px solid var(--secondary-color);border-radius:12px;font-size:1rem;font-family:inherit;background:#d4c5b51a;color:var(--text-color);transition:all .2s ease}.rsvp-input:focus{outline:none;background:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #8b73551a}.radio-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;justify-content:flex-start;background:#d4c5b533;border:1px solid var(--secondary-color);padding:.4rem;border-radius:14px;width:fit-content}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:var(--text-color);padding:.6rem 1.2rem;border-radius:10px;transition:all .2s;font-weight:500;background:transparent}.radio-label:hover{background:#ffffff80}.radio-label input[type=radio]{display:none}.radio-label:has(input:checked){background:#fff;color:var(--primary-color);box-shadow:0 2px 8px #8b735526}.submit-btn{margin-top:1.5rem;padding:1.2rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:Playfair Display,serif;box-shadow:0 8px 20px #8b735540;text-transform:uppercase;letter-spacing:.1em}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px #8b735559;filter:brightness(.9)}textarea.rsvp-input{min-height:80px;resize:vertical}.footer{background:transparent;color:var(--text-color);padding-top:15vw;text-align:center}.photos-link{margin-bottom:2rem}.photos-link-btn{display:inline-flex;align-items:center;gap:.5rem;padding:2vw 4vw;background:var(--white);color:var(--primary-color);border:none;border-radius:10vw;font-size:3vw;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;box-shadow:0 2px 10px #0000001a}.photos-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003}.countdown{margin-top:18vw;padding-bottom:8vw}@media(min-width:601px){.countdown{margin-top:25vw}}.countdown h3{font-size:3.5vw;font-weight:400;margin-bottom:3vw;color:var(--primary-color)}.countdown-timer{display:flex;justify-content:center;gap:2vw;flex-wrap:wrap;margin-top:4vw}.countdown-item{background:#ffffffe6;padding:2vw;border-radius:2vw;min-width:15vw;box-shadow:0 .5vw 2vw #0000001a}.countdown-number{font-size:6vw;font-weight:700;display:block;color:var(--gold-color)}.countdown-label{font-size:2.5vw;color:var(--text-color)}.music-player{position:fixed;bottom:2rem;right:2rem;z-index:2000;pointer-events:auto}.music-btn{width:50px;height:50px;border-radius:50%;border:none;background:#ffffffe6;color:var(--text-color);font-size:1.5rem;cursor:pointer;box-shadow:0 4px 15px #0003;display:flex;justify-content:center;align-items:center;transition:all .3s ease}@media(max-width:600px){.music-btn{width:12vw;height:12vw;font-size:5vw}}.music-btn:hover{transform:scale(1.1)}.music-btn.playing{background:var(--primary-color);color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #8b7355b3}70%{box-shadow:0 0 0 3vw #8b735500}to{box-shadow:0 0 #8b735500}}.admin-view{background:var(--background-color);min-height:100vh;padding:2rem 1rem}.confirmations-page{max-width:800px;margin:0 auto}.admin-header{text-align:center;margin-bottom:3rem}.admin-header h1{font-family:Playfair Display,serif;color:var(--primary-color);font-size:2.5rem;margin-bottom:1rem}.back-link{color:var(--accent-color);text-decoration:none;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;padding:1.5rem;border-radius:20px;text-align:center;box-shadow:0 4px 15px #8b73551a;border:1px solid var(--secondary-color)}.stat-value{display:block;font-size:2rem;font-weight:700;color:var(--gold-color);font-family:Playfair Display,serif}.stat-label{font-size:.8rem;color:var(--primary-color);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.menu-summary{display:flex;justify-content:center;gap:1rem;font-size:1.2rem;margin-bottom:.2rem}.registros-list{display:flex;flex-direction:column;gap:1rem}.reg-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 2px 10px #0000000d;border-left:5px solid var(--primary-color);transition:transform .2s}.reg-card:hover{transform:translate(5px)}.reg-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}.reg-header-main{display:flex;flex-direction:column;gap:.2rem}.reg-header h3{font-family:Playfair Display,serif;color:var(--text-color);margin:0}.reg-date{font-size:.8rem;color:var(--secondary-color)}.delete-btn{background:#d32f2f0d;border:1px solid rgba(211,47,47,.1);color:#d32f2f;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1rem;opacity:.6}.delete-btn:hover{opacity:1;background:#d32f2f1a;transform:scale(1.05)}.reg-details p{margin:.3rem 0;font-size:1rem;color:var(--text-color)}.reg-alergias{color:var(--error-color)!important;font-style:italic;margin-top:.5rem!important;padding:.5rem;background:#d32f2f0d;border-radius:8px}.empty-state{text-align:center;padding:4rem;color:var(--secondary-color);font-style:italic}@media(max-width:600px){.admin-header h1{font-size:1.8rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.reg-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.reg-card{padding:1rem}.app:before,.app:after{background-size:100% auto}.invitation-text{font-size:3.5vw}.circle-content h1{font-size:4.5vw}.date{width:50%;text-align:right;padding-right:4vw;padding-left:0;margin:0}.time{width:50%;text-align:left;padding-left:11vw;padding-right:0;margin:0}.date .value,.time .value{font-size:3.5vw}.location,.location-link{font-size:3vw}.celebration-text,.recommendation-text,.rsvp-trigger{font-size:3.5vw}.photos-link-btn{font-size:3vw}.music-player{bottom:1rem;right:1rem}.music-btn{width:12vw;height:12vw;font-size:5vw}@keyframes pulse{0%{box-shadow:0 0 #8b7355b3}70%{box-shadow:0 0 0 3vw #8b735500}to{box-shadow:0 0 #8b735500}}}
