:root{--color-primary:#5a6b57;--color-primary-light:#9baf8f;--color-secondary:#2c3e50;--color-background:#fff3;--color-background-alt:#f5f0e880;--color-text:#5a6b57;--color-text-secondary:#6e6e68;--color-white:#fff;--color-error:#e74c3c;--color-success:#27ae60;--color-warning:#f39c12;--font-heading:"Playfair Display",serif;--font-body:"Montserrat",sans-serif;--transition:all 0.3s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#5a6b57;color:var(--color-text);font-family:Montserrat,sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue;font-family:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;margin:0;overflow-x:hidden}@media (max-width:768px){html{font-size:15px}}@media (max-width:480px){html{font-size:14px}}body:before{background-image:url(/static/media/background_2.689cbaed6b11920d01c0.png);background-position:50%;background-repeat:no-repeat;background-size:cover;content:"";height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,.App{min-height:100vh;width:100%}.App{position:relative}.dev-mode-toggle{align-items:center;animation:pulse-dev 2s ease-in-out infinite;background:linear-gradient(135deg,#f39c12,#e67e22);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;font-size:1.8rem;height:60px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:60px;z-index:9999}.dev-mode-toggle:hover{box-shadow:0 6px 20px #0006;transform:scale(1.1)}.dev-mode-toggle:active{transform:scale(.95)}@keyframes pulse-dev{0%,to{box-shadow:0 4px 12px #0000004d}50%{box-shadow:0 4px 20px #f39c1280}}@media (max-width:768px){.dev-mode-toggle{bottom:15px;font-size:1.5rem;height:50px;right:15px;width:50px}}.login-screen{align-items:center;background:linear-gradient(135deg,var(--color-background) 0,var(--color-background-alt) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:var(--color-white);border-radius:20px;box-shadow:0 20px 60px #0000001a;max-width:450px;padding:60px 50px;text-align:center;width:100%}.login-container h1{color:var(--color-secondary);font-family:var(--font-heading);font-size:2rem;font-weight:500;line-height:1.3;margin-bottom:10px}.login-container>p{color:var(--color-text-light);font-family:var(--font-body);margin-bottom:30px}.login-form{display:flex;flex-direction:column;gap:15px}.login-form input{border:2px solid #e0e0e0;border-radius:10px;font-family:var(--font-body);font-size:1.1rem;padding:15px 20px;text-align:center;transition:var(--transition)}.login-form input:focus{border-color:var(--color-primary);outline:none}.login-form input:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:.7}.login-form button{background:var(--color-primary);border:none;border-radius:10px;color:var(--color-white);cursor:pointer;font-family:var(--font-body);font-size:1.1rem;font-weight:500;padding:15px 30px;transition:var(--transition)}.login-form button:hover:not(:disabled){background:var(--color-primary-light);transform:translateY(-2px)}.login-form button:disabled{cursor:not-allowed;opacity:.7;transform:none}.login-error{background-color:#e74c3c1a;border-left:3px solid var(--color-error);border-radius:8px;color:var(--color-error);font-family:var(--font-body);font-size:.9rem;margin-top:15px;padding:10px}.login-info{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.login-info p{color:var(--color-text-light);font-family:var(--font-body);font-size:.9rem}@media (max-width:768px){.login-container{margin:0 15px;padding:40px 30px}.login-container h1{font-size:1.5rem}.login-form button,.login-form input{font-size:1rem;padding:12px 18px}}.navbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000001a;display:flex;min-height:60px;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.hamburger{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:24px;justify-content:space-around;margin:1rem;padding:0;width:30px;z-index:1001}.hamburger-line{background-color:#333;background-color:var(--color-text,#333);border-radius:2px;height:3px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger.active .hamburger-line:first-child{transform:rotate(45deg) translate(5.5px,5.5px)}.hamburger.active .hamburger-line:nth-child(2){opacity:0}.hamburger.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5.5px,-5.5px)}.navbar ul{align-items:center;display:flex;flex-wrap:wrap;gap:0;justify-content:center;list-style:none;margin:0;padding:0}.navbar li{margin:0}.navbar .logout-btn,.navbar a{background:#0000;border:none;color:#333;color:var(--color-text,#333);cursor:pointer;display:block;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;font-weight:500;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.navbar .logout-btn:hover,.navbar a:hover{background-color:#b8860b1a;color:#b8860b;color:var(--color-primary,#b8860b)}.navbar .logout-btn{font-weight:600}.navbar .logout-btn,.navbar .logout-btn:hover{color:#e74c3c;color:var(--color-error,#e74c3c)}.navbar .logout-btn:hover{background-color:#e74c3c1a}@media (max-width:1200px){.navbar .logout-btn,.navbar a{font-size:.85rem;padding:.8rem 1rem}}@media (max-width:968px){.navbar{position:-webkit-sticky;position:sticky}.hamburger{display:flex}.navbar ul{align-items:stretch;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 4px 10px #0000001a;display:none;flex-direction:column;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .3s ease}.navbar ul.menu-open{animation:slideDown .3s ease forwards;display:flex;max-height:100vh}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar li{border-bottom:1px solid #0000000d;width:100%}.navbar .logout-btn,.navbar a{padding:1rem;text-align:center;width:100%}}@media (max-width:480px){.navbar .logout-btn,.navbar a{font-size:.9rem;padding:.9rem}}.preguntas-section{background:#ffffffd9;min-height:80vh;padding:80px 20px}.preguntas-content{margin:0 auto;max-width:900px}.preguntas-content h2{color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:1rem;text-align:center;text-transform:uppercase}.preguntas-content>p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin-bottom:50px;text-align:center}.ask-question{background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-bottom:50px;padding:40px}.ask-question h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:25px;text-align:center}.ask-question .form-group{margin-bottom:20px}.ask-question .form-group textarea{border:2px solid #0000001a;border-radius:10px;box-sizing:border-box;font-family:var(--font-body);font-size:1rem;line-height:1.6;min-height:120px;padding:15px 20px;resize:vertical;transition:all .3s ease;width:100%}.ask-question .form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #b8860b1a;outline:none}.comment-actions-row{align-items:center;display:flex;gap:16px}.comment-author-select{flex:1 1}.comment-author-select select,.reply-form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--color-primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px;border:2px solid var(--color-primary);border-radius:10px;box-sizing:border-box;color:var(--color-white);font-family:var(--font-body);font-size:1rem;font-weight:600;height:52px;padding:0 44px 0 14px;width:100%}.comment-author-select select:focus,.reply-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #b8860b33;outline:none}.ask-question button[type=submit]{background:var(--color-primary);border:none;border-radius:10px;color:var(--color-white);cursor:pointer;font-family:var(--font-body);font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease;width:100%}.comment-actions-row button[type=submit]{flex:1 1;min-width:0;white-space:nowrap;width:100%}.ask-question button[type=submit]:hover:not(:disabled){background:var(--color-primary-light);box-shadow:0 5px 15px #b8860b4d;transform:translateY(-2px)}.ask-question button[type=submit]:disabled{cursor:not-allowed;opacity:.6;transform:none}.questions-list{margin-bottom:50px}.questions-list h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:30px;text-align:center}.no-questions{background:var(--color-white);border-radius:15px;color:var(--color-text-light);font-family:var(--font-body);font-size:1.1rem;font-style:italic;padding:50px 40px;text-align:center}.questions{display:flex;flex-direction:column;gap:25px}.question-item{background:var(--color-white);border-radius:15px;box-shadow:0 5px 15px #00000014;overflow:hidden;transition:all .3s ease}.question-item:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-3px)}.question{background:var(--color-background);border-left:4px solid var(--color-primary);padding:25px}.question h4{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.2rem;line-height:1.5;margin-bottom:10px}.question-date{color:var(--color-text-light);font-size:.85rem;font-style:italic;margin-bottom:14px;margin-top:6px}.question-date,.reply-btn{display:block;font-family:var(--font-body)}.reply-btn{background:var(--color-primary);border:1px solid var(--color-primary);border-radius:8px;color:var(--color-white);cursor:pointer;font-size:.9rem;font-weight:600;margin-left:auto;margin-top:0;padding:8px 12px;transition:all .3s ease}.reply-btn:hover{background:var(--color-primary-light)}.reply-form{background:var(--color-background-alt);border-top:1px solid #0000000f;padding:15px 25px 20px}.reply-form textarea{border:2px solid #0000001a;border-radius:10px;box-sizing:border-box;font-family:var(--font-body);font-size:.95rem;line-height:1.5;margin-bottom:12px;min-height:90px;padding:12px 15px;resize:vertical;transition:all .3s ease;width:100%}.reply-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #b8860b1a;outline:none}.reply-form button[type=submit]{background:var(--color-primary);border:none;border-radius:8px;color:var(--color-white);cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:600;height:52px;padding:10px 16px}.nested-comments{margin-left:24px;padding:0 0 16px}.nested-comment{margin-top:16px}.answer{background:#27ae600d;border-left:4px solid var(--color-success);padding:25px}.answer h4{color:var(--color-success);font-family:var(--font-heading);font-size:1.15rem;line-height:1.5;margin-bottom:10px}.answer-date{color:var(--color-text-light);font-family:var(--font-body);font-size:.85rem;font-style:italic}.pending-answer{background:#f39c120d;border-left:4px solid var(--color-warning);padding:20px 25px}.pending-answer p{color:var(--color-warning);font-family:var(--font-body);font-size:.95rem;font-style:italic;margin:0}.faq{background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:40px}.faq h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:30px;text-align:center}.faq-list{display:flex;flex-direction:column;gap:20px}.faq-item{background:var(--color-background-alt);border-radius:12px;padding:25px;transition:all .3s ease}.faq-item:hover{box-shadow:0 5px 15px #00000014;transform:translateX(5px)}.faq-item h4{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.2rem;font-weight:600;margin-bottom:12px}.faq-item p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.7;margin:0}@media (max-width:768px){.preguntas-section{padding:60px 20px}.comment-actions-row{align-items:stretch;flex-direction:column}.comment-actions-row button[type=submit]{min-width:0;width:100%}.preguntas-content h2{font-size:1.8rem;margin-bottom:.8rem}.preguntas-content>p{font-size:.9rem;margin-bottom:30px}.ask-question{padding:30px 20px}.ask-question h3,.faq h3,.questions-list h3{font-size:1.3rem}.answer,.pending-answer,.question{padding:20px}.faq{padding:30px 20px}.faq-item{padding:20px}.faq-item h4{font-size:1.1rem}.pregunta-form{padding:25px 20px}.pregunta-answer,.pregunta-pending,.pregunta-question{gap:12px;padding:20px}.answer-icon,.pending-icon,.question-icon{font-size:1.2rem}.faq-item summary{padding:15px 20px}.faq-item summary:after{right:20px}.faq-item p{padding:0 20px 15px}}.contacto-section{background:linear-gradient(135deg,#5a6b57e6,#9baf8fe6);color:var(--color-white);min-height:80vh;padding:80px 20px}.contacto-content{margin:0 auto;max-width:900px;text-align:center}.contacto-content h2{color:var(--color-white);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:2rem;text-transform:uppercase}.contact-intro{margin-bottom:50px}.contact-intro p{font-family:var(--font-body);font-size:1rem;line-height:1.8;margin:0 auto;max-width:700px;opacity:.95}.contact-methods{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:50px}.contact-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:15px;padding:35px 30px;transition:all .3s ease}.contact-card:hover{background:#ffffff26;border-color:#fff6;box-shadow:0 10px 30px #0000004d;transform:translateY(-5px)}.contact-person h3{color:var(--color-white);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:20px}.contact-details{display:flex;flex-direction:column;gap:15px}.contact-link{border-radius:8px;color:#ffffffe6;font-family:var(--font-body);font-size:1.1rem;padding:10px;text-decoration:none;transition:all .3s ease}.contact-link:hover{background:#ffffff1a;color:var(--color-primary-light);transform:translateX(5px)}.contact-general{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:15px;margin-bottom:50px;padding:30px}.contact-general h3{color:var(--color-white);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:20px}.general-contact .contact-link.main{display:inline-block;font-size:1.3rem;font-weight:600}.general-contact .contact-link.main:hover{color:var(--color-white);transform:scale(1.05)}.social-media{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3;border-radius:15px;margin-bottom:50px;padding:35px 30px}.social-media h3{color:var(--color-white);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:25px}.social-links{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.social-link{border-radius:8px;color:#ffffffe6;font-family:var(--font-body);font-size:1.1rem;padding:12px;text-decoration:none;transition:all .3s ease}.social-link:hover{background:#ffffff1a;color:var(--color-primary-light);transform:translateX(5px)}.social-note{border-top:1px solid #fff3;color:#ffffffd9;font-family:var(--font-body);font-size:1rem;line-height:1.6;margin-top:20px;padding-top:20px}.social-note strong{color:var(--color-primary-light);font-weight:700}.emergency-contact{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#e74c3c33;border:2px solid #e74c3c66;border-radius:15px;margin-bottom:50px;padding:30px}.emergency-contact h3{color:var(--color-white);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:15px}.emergency-contact p{color:#ffffffe6;font-family:var(--font-body);font-size:1rem;margin:10px 0}.emergency-number{background:#e74c3c4d;border-radius:10px;color:var(--color-white);display:inline-block;font-family:var(--font-body);font-size:1.5rem;font-weight:700;margin:15px 0;padding:15px 30px;text-decoration:none;transition:all .3s ease}.emergency-number:hover{background:#e74c3c80;transform:scale(1.05)}.emergency-note{color:#fffc;font-size:.9rem;font-style:italic}.thank-you-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:2px solid #ffffff4d;border-radius:15px;padding:40px}.thank-you-message h3{color:var(--color-white);font-family:var(--font-heading);font-size:1.6rem;margin-bottom:20px}.thank-you-message p{color:#fffffff2;font-family:var(--font-body);font-size:1.1rem;line-height:1.8;margin:0 0 20px}.thank-you-message p:last-child{border-top:1px solid #ffffff4d;margin-bottom:0;margin-top:30px;padding-top:25px}.thank-you-message strong{display:block;font-weight:700;margin-bottom:10px}@media (max-width:768px){.contacto-section{padding:60px 20px}.contacto-content h2{font-size:1.8rem;margin-bottom:1.5rem}.contact-intro p{font-size:.9rem}.contact-methods{gap:20px;grid-template-columns:1fr}.contact-person h3{font-size:1.3rem}.contact-general,.emergency-contact,.social-media,.thank-you-message{padding:25px 20px}.emergency-number{font-size:1.2rem;padding:12px 25px}.thank-you-message h3{font-size:1.4rem}.contact-card,.contact-note,.thank-you{padding:25px 20px}.social-links{gap:12px}.social-item{flex-direction:column;gap:5px;text-align:center}}.countdown-section{background:#ffffffd9;color:var(--color-text);display:flex;padding:80px 20px}.countdown-content{align-items:center;margin:0 auto;text-align:center}.countdown-content h2{font-size:2.5rem;margin-bottom:3rem}.countdown-content h2,.countdown-content h3{color:var(--color-primary);font-family:var(--font-heading);font-weight:700;letter-spacing:2px;text-transform:uppercase}.countdown-content h3{font-size:1.3rem;margin-bottom:1.5rem}.countdown-fecha-display{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:1fr auto 1fr;justify-content:center;margin:40px auto;max-width:800px}.fecha-numero{font-size:4rem;font-weight:500;line-height:1;margin:0;padding:0 20px 20px}.fecha-numero,.fecha-string{color:var(--color-primary);font-family:var(--font-heading)}.fecha-string{border-bottom:2px solid var(--color-primary);border-top:2px solid var(--color-primary);font-size:1.3rem;font-weight:600;letter-spacing:3px;padding-bottom:20px;padding-top:20px;text-transform:uppercase;white-space:nowrap}.countdown-timer{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(4,1fr);margin:50px auto;max-width:700px}.time-unit{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:.1;background:var(--color-primary-light,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;border:2px solid var(--color-primary);border-radius:15px;display:flex;flex-direction:column;justify-content:center;max-width:150px;min-width:150px;padding:30px 15px;transition:all .3s ease}.time-unit:hover{background:.2;background:var(--color-primary-light,.2);box-shadow:0 10px 30px .3;box-shadow:0 10px 30px var(--color-primary-light,.3);transform:translateY(-5px)}.time-unit .number{color:var(--color-primary);display:block;font-family:var(--font-heading);font-size:2.4rem;font-weight:700;line-height:1;margin-bottom:8px}.time-unit .label{word-wrap:break-word;display:block;font-size:.9rem;font-weight:500;letter-spacing:.3px;line-height:1.2;max-width:100%;text-align:center;text-transform:uppercase}.countdown-message,.time-unit .label{color:var(--color-text);font-family:var(--font-body)}.countdown-message{font-size:1.2rem;font-weight:400;letter-spacing:.5px;margin-top:40px}@media (max-width:768px){.countdown-section{padding:60px 20px}.countdown-content h2{font-size:2rem;margin-bottom:2rem}.countdown-fecha-display{gap:20px;margin:30px auto;max-width:600px}.fecha-string{font-size:1rem;letter-spacing:2px;padding-top:15px}.fecha-numero{font-size:3.5rem;padding:0 15px 15px}.countdown-timer{gap:20px;grid-template-columns:repeat(4,1fr)}.time-unit{max-width:100px;min-width:100px;padding:20px 10px}.time-unit .number{font-size:2rem;margin-bottom:6px}.time-unit .label{font-size:.72rem;letter-spacing:.2px}.countdown-message{font-size:1.2rem;margin-top:30px}}@media (max-width:480px){.countdown-fecha-display{gap:10px;margin:25px auto;max-width:100%}.fecha-string{font-size:.75rem;letter-spacing:1px;padding-top:12px}.fecha-numero{font-size:2.5rem;padding:0 10px 10px}.countdown-timer{gap:10px;grid-template-columns:repeat(4,1fr)}.time-unit{max-width:80px;min-width:80px;padding:15px 6px}.time-unit .number{font-size:1.6rem;margin-bottom:4px}.time-unit .label{font-size:.62rem;letter-spacing:.1px}}.info-section{background:#ffffffd9;padding:80px 20px}.info-content{margin:0 auto;max-width:1000px;text-align:center}.info-content h2{color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:3rem;text-transform:uppercase}.info-cards{grid-gap:30px;display:grid;gap:30px;margin-top:50px}.info-card{align-items:center;background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;display:grid;grid-template-columns:1fr auto;padding:40px 30px;transition:var(--transition)}.info-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.info-details{background:var(--color-primary-light);border-radius:15px;display:flex;flex-direction:column;justify-content:center;margin:0 20px;min-height:200px;padding:20px}.info-details h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.3rem;margin-bottom:15px}.info-details p{color:var(--color-text);font-family:var(--font-body);font-size:.95rem;line-height:1.6;margin:0}.info-map{border-radius:12px;box-shadow:0 4px 12px #00000026;height:200px;overflow:hidden;width:300px}@media (max-width:768px){.info-section{padding:60px 15px}.info-cards{gap:25px}.info-content h2{font-size:1.8rem;margin-bottom:2rem}.info-card{gap:15px;grid-template-columns:1fr;grid-template-rows:auto auto;padding:20px 15px}.info-details{margin:0;min-height:auto;padding:20px 15px}.info-details h3{font-size:1.1rem;margin-bottom:10px}.info-details p{font-size:.85rem}.info-map{height:180px;width:100%}}@media (max-width:480px){.info-section{padding:40px 10px}.info-card,.info-details{padding:15px 10px}.info-details h3{font-size:1rem}.info-map{height:160px}}.musica-section{background:#ffffffd9;min-height:80vh;padding:80px 20px}.musica-content{margin:0 auto;max-width:1000px}.musica-content h2{color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:1rem;text-align:center;text-transform:uppercase}.musica-content>p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin-bottom:50px;text-align:center}.add-song-form{background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-bottom:50px;padding:40px}.add-song-form h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:30px;text-align:center}.form-group input{border:2px solid #0000001a;border-radius:10px;font-family:var(--font-body);padding:15px 20px}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #b8860b1a}.form-group input:disabled{background-color:var(--color-background-alt)}.add-song-form button[type=submit]{background:var(--color-primary);border:none;border-radius:10px;color:var(--color-white);cursor:pointer;font-family:var(--font-body);font-size:1.1rem;font-weight:600;padding:15px 30px;transition:all .3s ease;width:100%}.add-song-form button[type=submit]:hover:not(:disabled){background:var(--color-primary-light);box-shadow:0 5px 15px #b8860b4d;transform:translateY(-2px)}.add-song-form button[type=submit]:disabled{cursor:not-allowed;opacity:.6;transform:none}.songs-list{margin-top:40px}.songs-list h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:30px;text-align:center}.no-songs{background:var(--color-white);border-radius:15px;color:var(--color-text-light);font-family:var(--font-body);font-size:1.1rem;font-style:italic;padding:50px 40px;text-align:center}.songs{grid-gap:15px;display:grid;gap:15px;list-style:none;margin:0;padding:0}.song-item{align-items:center;background:var(--color-white);border-radius:12px;box-shadow:0 5px 15px #00000014;display:flex;gap:15px;justify-content:space-between;padding:20px 25px;transition:all .3s ease}.song-item:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-3px)}.song-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.song-info strong{color:var(--color-secondary);display:block;font-family:var(--font-heading);font-size:1.2rem}.song-info .artist{color:var(--color-text-light);display:block;font-family:var(--font-body);font-size:.95rem;font-style:italic}.song-info a{color:var(--color-primary);display:inline-block;font-family:var(--font-body);font-size:.9rem;font-weight:600;margin-top:5px;text-decoration:none;transition:all .3s ease}.song-info a:hover{color:var(--color-primary-light);text-decoration:underline}.delete-btn{background:none;border:none;border-radius:50%;cursor:pointer;flex-shrink:0;font-size:1.3rem;padding:8px;transition:all .3s ease}.delete-btn:hover{background:#e74c3c1a;transform:scale(1.15)}@media (max-width:768px){.musica-section{padding:60px 20px}.musica-content h2{font-size:1.8rem;margin-bottom:.8rem}.musica-content>p{font-size:.9rem;margin-bottom:30px}.add-song-form{padding:30px 20px}.add-song-form h3,.songs-list h3{font-size:1.3rem}.song-item{align-items:flex-start;flex-direction:column;padding:20px}.delete-btn{align-self:flex-end}}.nosotros-section{align-items:center;background:#ffffffd9;display:flex;justify-content:center;min-height:80vh;padding:80px 20px}.nosotros-content{margin:0 auto;max-width:1000px;text-align:center}.nosotros-content h2{color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:3rem;text-transform:uppercase}.couple-story{align-items:center;display:flex;flex-direction:column;gap:40px}.story-text{background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;max-width:700px;padding:40px}.story-text p{color:var(--color-text);font-family:var(--font-body);font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem;text-align:left}.story-text p:last-child{margin-bottom:0}.couple-photos{align-items:stretch;display:flex;flex-direction:row;flex-wrap:nowrap;gap:16px;justify-content:center;margin-top:20px;width:100%}.couple-photo-image{aspect-ratio:3/4;border-radius:15px;box-shadow:0 10px 30px #0000001f;max-width:280px;object-fit:cover;width:calc(33.33333% - 10.66667px)}@media (max-width:768px){.nosotros-section{padding:60px 20px}.nosotros-content h2{font-size:1.8rem;margin-bottom:2rem}.story-text{padding:30px 25px}.story-text p{font-size:.95rem}.couple-photos{align-items:center;flex-direction:column;flex-wrap:nowrap;gap:14px}.couple-photo-image{max-width:420px;width:100%}}.portada-section{align-items:center;background:#0000;display:flex;justify-content:center;min-height:100vh;min-height:100dvh;overflow-x:hidden;padding:2rem;position:relative;text-align:center}.portada-content{animation:fadeInUp 1s ease-out;max-width:900px;position:relative;top:200px;width:100%;z-index:2}.couple-names h3{font-size:3.2rem;font-weight:700;letter-spacing:2px;margin:0}.couple-names h3,.wedding-date h3{color:var(--color-text);font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);text-shadow:3px 3px 6px #0000004d;text-transform:uppercase}.wedding-date h3{font-size:2rem;font-weight:400;letter-spacing:8px;margin-top:2rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:968px){.couple-names h3{font-size:2.5rem}.wedding-date h3{font-size:1.6rem;letter-spacing:5px}}@media (max-width:480px){.portada-section{min-height:100vh;min-height:100dvh;padding:1rem}.couple-names h3{font-size:1.8rem;letter-spacing:1px}.wedding-date h3{font-size:1.3rem;letter-spacing:3px}}.regalo-section{background:#ffffffd9;min-height:80vh;padding:80px 20px}.regalo-content{margin:0 auto;max-width:900px;text-align:center}.regalo-content h2{color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:2rem;text-transform:uppercase}.gift-message{margin-bottom:50px;margin-left:auto;margin-right:auto;max-width:700px}.gift-message p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.8;margin-bottom:1rem}.bank-details{background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;padding:40px}.bank-details h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:30px}.iban-container{align-items:center;background:var(--color-background-alt);border:2px solid #b8860b33;border-radius:12px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px;padding:25px}.iban-info{flex:1 1;text-align:left}.iban-info label{color:var(--color-text);display:block;font-family:var(--font-body);font-size:.95rem;font-weight:700;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.iban-number{color:var(--color-secondary);display:block;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;letter-spacing:2px;word-spacing:5px}.copy-btn{background:var(--color-primary);border:none;border-radius:8px;color:var(--color-white);cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:600;padding:12px 25px;transition:all .3s ease;white-space:nowrap}.copy-btn:hover{background:var(--color-primary-light);box-shadow:0 5px 15px #b8860b4d;transform:translateY(-2px)}.bank-info{border-top:1px solid #0000001a;padding-top:15px;text-align:left}.bank-info p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin:10px 0}.bank-info strong{color:var(--color-secondary);font-weight:600}.gift-alternatives{background:var(--color-white);border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;padding:40px}.gift-alternatives h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.5rem;margin-bottom:30px}.alternatives-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.alternative-item{background:var(--color-background-alt);border-radius:12px;padding:30px;transition:all .3s ease}.alternative-item:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-5px)}.alternative-item h4{color:var(--color-primary);font-family:var(--font-heading);font-size:1.3rem;margin-bottom:15px}.alternative-item p{color:var(--color-text);font-family:var(--font-body);line-height:1.6;margin:0}.thank-you{background:#b8860b1a;border-left:4px solid var(--color-primary);border-radius:15px;margin-top:40px;padding:30px}.thank-you p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin:0}.thank-you strong{color:var(--color-primary)}@media (max-width:768px){.regalo-section{padding:60px 20px}.regalo-content h2{font-size:1.8rem;margin-bottom:1.5rem}.gift-message p{font-size:.9rem}.bank-details,.gift-alternatives{padding:30px 20px}.bank-details h3,.gift-alternatives h3{font-size:1.3rem}.iban-container{align-items:stretch;flex-direction:column;padding:20px}.iban-info{text-align:center}.iban-number{font-size:1.1rem;letter-spacing:1px;word-break:break-all}.copy-btn{width:100%}.bank-info{text-align:center}.alternatives-grid{grid-template-columns:1fr}.thank-you{padding:20px}}.rsvp-section{background:#ffffffd9;min-height:80vh;padding:80px 20px}.rsvp-content{margin:0 auto;max-width:980px}.rsvp-header-panel{background:var(--color-white);border:1px solid #b8860b26;border-radius:18px;box-shadow:0 12px 28px #0000000f;margin-bottom:28px;padding:28px 26px;text-align:center}.rsvp-header-panel h2{color:var(--color-primary);font-family:var(--font-heading);font-size:2.2rem;font-weight:700;letter-spacing:1px;margin-bottom:.7rem}.rsvp-header-panel p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin:0}.rsvp-header-panel p strong{color:var(--color-primary);font-weight:700}.group-info{background:var(--color-white);border:1px solid #b8860b26;border-radius:16px;margin-bottom:28px;padding:24px;text-align:center}.group-info h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.35rem;margin-bottom:16px}.summary{display:flex;flex-wrap:wrap;gap:30px;justify-content:center}.summary span{background:#ffffffe6;border-radius:999px;font-family:var(--font-body);font-size:.98rem;font-weight:600;padding:10px 16px}.summary .confirmed{border:2px solid var(--color-success);color:var(--color-success)}.summary .declined{border:2px solid var(--color-error);color:var(--color-error)}.summary .pending{border:2px solid var(--color-warning);color:var(--color-warning)}.rsvp-form{background:#0000;border-radius:0;box-shadow:none;margin-bottom:30px;padding:0}.invitados-list{display:flex;flex-direction:column;gap:18px;margin-bottom:30px}.invitado-card{background:var(--color-white);border:1px solid #00000014;border-radius:16px;box-shadow:0 8px 24px #0000000d;padding:24px;transition:all .3s ease}.invitado-card:hover{border-color:#b8860b59;box-shadow:0 12px 26px #b8860b1f}.invitado-card.status-confirmed{border-color:#2e7d3259}.invitado-card.status-declined{border-color:#d32f2f59}.invitado-card.status-pending{border-color:#ff8f0052}.invitado-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.invitado-card h4{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.2rem;font-weight:600;margin:0}.invitado-status{border:1px solid #0000;border-radius:999px;font-family:var(--font-body);font-size:.85rem;font-weight:700;letter-spacing:.4px;padding:7px 12px;text-transform:uppercase}.status-confirmed .invitado-status{background:#2e7d321a;border-color:#2e7d323d;color:var(--color-success)}.status-declined .invitado-status{background:#d32f2f1a;border-color:#d32f2f40;color:var(--color-error)}.status-pending .invitado-status{background:#ff8f001f;border-color:#ff8f0047;color:var(--color-warning)}.confirmation-options{margin-bottom:18px}.confirmation-question{color:var(--color-text);font-family:var(--font-body);font-size:.98rem;font-weight:600;margin:0 0 12px}.response-buttons{display:flex;flex-wrap:wrap;gap:10px}.response-btn{background:var(--color-white);border:1px solid #00000029;border-radius:12px;color:var(--color-text);cursor:pointer;flex:1 1;font-family:var(--font-body);font-size:.95rem;font-weight:500;min-width:180px;padding:12px 14px;transition:all .3s ease}.response-btn:hover{background:#b8860b14;border-color:var(--color-primary)}.response-btn.active-confirm{background:#2e7d321f;border-color:#2e7d3280;color:var(--color-success);font-weight:700}.response-btn.active-decline{background:#d32f2f1f;border-color:#d32f2f80;color:var(--color-error);font-weight:700}.form-group input:focus-visible,.form-group textarea:focus-visible,.response-btn:focus-visible,.save-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.additional-info{background:#b8860b0f;border:1px solid #b8860b24;border-radius:12px;margin-top:16px;padding:14px}.form-group{margin-bottom:14px}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--color-text);font-family:var(--font-body)}.form-group input,.form-group textarea{background:#fffffff5;border:1px solid #00000029;border-radius:10px;box-sizing:border-box;font-family:var(--font-body);font-size:.95rem;padding:11px 13px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #b8860b24;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-actions{border-top:1px solid #0000001f;margin-top:24px;padding-top:24px;text-align:center}.save-btn{background:linear-gradient(120deg,var(--color-primary),var(--color-primary-light));border:1px solid #b8860b73;border-radius:12px;color:var(--color-white);cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:.4px;padding:14px 34px;transition:all .3s ease}.save-btn:hover:not(:disabled){box-shadow:0 8px 18px #b8860b42;filter:brightness(1.04);transform:translateY(-2px)}.save-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.rsvp-note{background:#b8860b14;border:1px solid #b8860b2e;border-radius:14px;padding:20px 22px}.rsvp-note p{color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.6;margin:0}.rsvp-note strong{color:var(--color-primary);font-weight:700}@media (max-width:768px){.rsvp-section{padding:60px 20px}.rsvp-header-panel h2{font-size:1.8rem}.rsvp-header-panel p{font-size:.9rem}.group-info{padding:20px 16px}.group-info h3{font-size:1.3rem}.summary{flex-direction:column;gap:15px}.summary span{font-size:1rem}.invitado-card{padding:18px}.invitado-card h4{font-size:1.15rem}.invitado-header{align-items:flex-start}.invitado-header,.response-buttons{flex-direction:column}.response-btn{min-width:100%}.save-btn{font-size:.98rem;width:100%}.rsvp-note{padding:20px}}.timeline-section{background:#ffffffd9;min-height:80vh;padding:80px 20px}.timeline-content{margin:0 auto;max-width:900px}.timeline-content h2{color:var(--color-text);font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:2px;margin-bottom:4rem;text-align:center;text-transform:uppercase}.timeline{margin-top:50px;position:relative}.timeline-event{margin-bottom:60px}.timeline-event,.timeline-icon{align-items:center;display:flex;justify-content:center;position:relative}.timeline-icon{flex:0 0 100px}.timeline-icon svg{background:var(--color-primary-light);border-radius:50%;box-shadow:0 4px 15px #0000001a;color:var(--color-primary);height:60px;padding:15px;transition:all .3s ease;width:60px}.timeline-icon svg:hover{box-shadow:0 6px 20px #00000026;transform:scale(1.1)}.timeline-details{border-left:2px solid var(--color-primary);flex:1 1;margin-left:30px;margin-right:0;max-width:600px}.timeline-details h3{color:var(--color-secondary);font-family:var(--font-heading);font-size:1.3rem;margin-bottom:10px;margin-left:3rem}.timeline-details p{color:var(--color-text);font-family:var(--font-body);line-height:1.6;margin:0 0 0 3rem}@media (max-width:768px){.timeline-list:before{left:40px}.timeline-item{flex-direction:row}.timeline-time{flex:0 0 80px}.timeline-hour{font-size:1.2rem}.timeline-marker{flex:0 0 60px}.timeline-icon{font-size:1.2rem;height:50px;width:50px}.timeline-details{flex:1 1;margin-left:20px;margin-right:0;max-width:none}}.wedding-content{background:#0000;min-height:100vh;width:100%}.wedding-loading{align-items:center;color:#333;color:var(--color-text,#333);display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1.5rem;justify-content:center;min-height:100vh}.main-sections{position:relative;width:100%}@media (max-width:768px){.wedding-loading{font-size:1.2rem;padding:20px;text-align:center}}.loading-spinner-container{align-items:center;background:linear-gradient(135deg,#fdfbf7,#f5f0e8);display:flex;justify-content:center;min-height:100vh;width:100%}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:1.5rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #b8860b33;border-top:4px solid var(--color-primary,#b8860b);height:60px;width:60px}.loading-spinner p{color:#333;color:var(--color-text,#333);font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1.2rem;font-weight:500;margin:0}@media (max-width:480px){.spinner{height:50px;width:50px}.loading-spinner p{font-size:1rem}}.admin-login-screen{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-login-container{animation:fadeIn .4s ease-in;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:420px;padding:50px 40px;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.admin-login-header{margin-bottom:30px;text-align:center}.admin-icon{animation:pulse 2s ease-in-out infinite;font-size:3rem;margin-bottom:15px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.admin-login-header h1{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.8rem;font-weight:600;margin-bottom:8px}.admin-login-header p{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem}.admin-login-form{gap:20px}.admin-login-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-weight:500;text-align:left}.form-group input{background-color:#fff;font-size:1rem}.form-group input:focus{box-shadow:0 0 0 3px #0f34601a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.form-group input::placeholder{color:#999}.admin-login-button{align-items:center;background:linear-gradient(135deg,#0f3460,#16213e);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1rem;font-weight:600;gap:8px;justify-content:center;margin-top:10px;padding:14px 24px;transition:all .3s ease}.admin-login-button:hover:not(:disabled){background:linear-gradient(135deg,#16213e,#0f3460);box-shadow:0 8px 20px #0f34604d;transform:translateY(-2px)}.admin-login-button:active:not(:disabled){transform:translateY(0)}.admin-login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.admin-login-error{align-items:center;animation:shake .4s ease-in-out;background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;gap:8px;margin-top:15px;padding:12px 16px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-icon{font-size:1.2rem}.admin-login-footer{margin-top:25px;text-align:center}.admin-login-footer p{color:#999;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.85rem}@media (max-width:480px){.admin-login-container{padding:40px 30px}.admin-login-header h1{font-size:1.5rem}.admin-icon{font-size:2.5rem}.admin-login-button,.form-group input{font-size:.95rem}}@media (max-width:360px){.admin-login-container{padding:30px 20px}.admin-login-header h1{font-size:1.3rem}}.admin-panel{background:#f5f5f5;display:flex;min-height:100vh}.admin-panel-loading{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.admin-panel-loading p{font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1.1rem}.admin-sidebar{background:linear-gradient(180deg,#1a1a2e,#16213e);box-shadow:4px 0 12px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;width:280px}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:30px 20px}.sidebar-header h2{color:#fff;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.5rem;margin:0 0 10px}.admin-user{color:#ffffffb3;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;margin:0}.sidebar-nav{flex:1 1;padding:20px 0}.nav-item{align-items:center;background:none;border:none;color:#ffffffb3;cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;gap:12px;padding:14px 20px;position:relative;text-align:left;transition:all .3s ease;width:100%}.nav-item:hover:not(:disabled){background:#ffffff1a;color:#fff}.nav-item.active{background:#ffffff26;border-left:4px solid #f39c12;color:#fff}.nav-item:disabled{cursor:not-allowed;opacity:.5}.nav-icon{flex-shrink:0;font-size:1.3rem}.nav-label{flex:1 1;font-weight:500}.badge-soon{background:#f39c12;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.sidebar-footer{border-top:1px solid #ffffff1a;padding:20px}.logout-button{align-items:center;background:#e74c3c33;border:1px solid #e74c3c80;border-radius:8px;color:#ff6b6b;cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;font-weight:500;gap:12px;padding:14px 20px;transition:all .3s ease;width:100%}.logout-button:hover{background:#e74c3c4d;border-color:#e74c3c;color:#ff8080}.admin-content{background:#f5f5f5;flex:1 1;overflow-y:auto}.content-wrapper{min-height:100%}.coming-soon{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.coming-soon h2{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:2rem;margin-bottom:15px}.coming-soon p{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1.1rem}@media (max-width:1024px){.admin-sidebar{width:240px}.sidebar-header{padding:25px 15px}.sidebar-header h2{font-size:1.3rem}.nav-item{font-size:.9rem;padding:12px 15px}}@media (max-width:768px){.admin-panel{flex-direction:column}.admin-sidebar{height:auto;position:relative;width:100%}.sidebar-header{padding:20px}.sidebar-nav{display:flex;gap:8px;overflow-x:auto;padding:10px 0}.nav-item{flex-direction:column;gap:6px;min-width:80px;padding:12px 8px;text-align:center}.nav-item.active{border-bottom:3px solid #f39c12;border-left:none}.nav-icon{font-size:1.5rem}.nav-label{font-size:.75rem}.badge-soon{font-size:.6rem;padding:1px 6px}.sidebar-footer{padding:15px 20px}.logout-button{font-size:.9rem;padding:12px 16px}}@media (max-width:480px){.sidebar-header h2{font-size:1.1rem}.admin-user{font-size:.8rem}.nav-item{min-width:70px;padding:10px 6px}.nav-icon{font-size:1.3rem}.nav-label{font-size:.7rem}.coming-soon h2{font-size:1.5rem}.coming-soon p{font-size:.95rem}}.admin-sidebar::-webkit-scrollbar{width:6px}.admin-sidebar::-webkit-scrollbar-track{background:#ffffff0d}.admin-sidebar::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.admin-sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.admin-content::-webkit-scrollbar{width:8px}.admin-content::-webkit-scrollbar-track{background:#f0f0f0}.admin-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.admin-content::-webkit-scrollbar-thumb:hover{background:#999}.dashboard-container{margin:0 auto;max-width:1400px;padding:30px}.dashboard-header{margin-bottom:30px}.dashboard-header h1{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:2.2rem;margin-bottom:8px}.dashboard-header p{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1rem}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:100px 20px}.spinner-large{animation:spin .8s linear infinite;border:4px solid #0f346033;border-radius:50%;border-top-color:#0f3460;height:50px;width:50px}.dashboard-loading p{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:1.1rem}.dashboard-error{background:#fee;border:2px solid #fcc;border-radius:12px;margin:50px auto;max-width:500px;padding:40px;text-align:center}.dashboard-error .error-icon{display:block;font-size:3rem;margin-bottom:15px}.dashboard-error h3{color:#c33;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.5rem;margin-bottom:10px}.dashboard-error p{color:#666;margin-bottom:20px}.dashboard-error p,.retry-button{font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif)}.retry-button{background:#c33;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.retry-button:hover{background:#a22;transform:translateY(-2px)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;gap:20px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-4px)}.stat-card-primary{border-left-color:#0f3460}.stat-card-info{border-left-color:#3498db}.stat-card-success{border-left-color:#27ae60}.stat-card-danger{border-left-color:#e74c3c}.stat-card-warning{border-left-color:#f39c12}.stat-icon{flex-shrink:0;font-size:2.5rem}.stat-content{flex:1 1}.stat-content h3{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-number{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:2rem;font-weight:700;line-height:1;margin:0}.stat-percentage{color:#27ae60;font-size:.9rem;font-weight:600}.stat-percentage,.stat-subtitle{font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);margin-top:4px}.stat-subtitle{color:#999;font-size:.85rem}.progress-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:40px;padding:30px}.progress-section h2{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.5rem;margin-bottom:25px}.progress-bars{gap:20px}.progress-bars,.progress-item{display:flex;flex-direction:column}.progress-item{gap:8px}.progress-label{align-items:center;color:#333;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;justify-content:space-between}.progress-value{color:#666;font-weight:600}.progress-bar{background:#f0f0f0;border-radius:12px;height:24px;overflow:hidden;position:relative}.progress-fill{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:100%;justify-content:flex-end;padding-right:10px;transition:width .6s ease}.progress-fill-success{background:linear-gradient(90deg,#27ae60,#2ecc71)}.progress-fill-danger{background:linear-gradient(90deg,#e74c3c,#ec7063)}.progress-fill-warning{background:linear-gradient(90deg,#f39c12,#f8c471)}.quick-actions{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:30px}.quick-actions h2{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.5rem;margin-bottom:20px}.actions-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-button{align-items:center;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;font-weight:600;gap:12px;justify-content:center;padding:16px 20px;transition:all .3s ease}.action-button:hover{box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.action-button:active{transform:translateY(0)}.action-icon{font-size:1.3rem}.action-button-primary{background:linear-gradient(135deg,#0f3460,#16213e)}.action-button-info{background:linear-gradient(135deg,#3498db,#2980b9)}.action-button-success{background:linear-gradient(135deg,#27ae60,#229954)}.action-button-warning{background:linear-gradient(135deg,#f39c12,#e67e22)}@media (max-width:768px){.dashboard-container{padding:20px}.dashboard-header h1{font-size:1.8rem}.stats-grid{gap:15px;grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{font-size:2rem}.stat-number{font-size:1.6rem}.progress-section,.quick-actions{padding:20px}.actions-grid{grid-template-columns:1fr}}@media (max-width:480px){.dashboard-header h1{font-size:1.5rem}.stat-card{flex-direction:column;gap:12px;text-align:center}.progress-label{align-items:flex-start;flex-direction:column;gap:4px}}.grupos-manager{margin:0 auto;max-width:1400px;padding:30px}.manager-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.manager-header h1{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:2.2rem;margin:0}.btn-primary{background:linear-gradient(135deg,#0f3460,#16213e);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-primary:hover{box-shadow:0 6px 16px #0f34604d;transform:translateY(-2px)}.btn-secondary{background:#e0e0e0;border:none;border-radius:8px;color:#333;cursor:pointer;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover{background:#d0d0d0}.filters-section{display:flex;gap:15px;margin-bottom:20px}.filter-select,.search-input{border:2px solid #e0e0e0;border-radius:8px;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;padding:12px 16px;transition:all .3s ease}.search-input{flex:1 1}.filter-select:focus,.search-input:focus{border-color:#0f3460;outline:none}.filter-select{min-width:200px}.summary-bar{align-items:center;background:#f8f9fa;border-radius:8px;color:#666;display:flex;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;gap:15px;margin-bottom:20px;padding:12px 20px}.table-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;overflow:hidden}.grupos-table{border-collapse:collapse;width:100%}.grupos-table thead{background:#f8f9fa}.grupos-table th{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.grupos-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s ease}.grupos-table tbody tr:hover{background:#f8f9fa}.grupos-table td{color:#333;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.9rem;padding:16px}.text-center{text-align:center}.codigo-badge{background:#0f3460;border-radius:6px;color:#fff;font-family:monospace;font-size:.85rem;font-weight:600;padding:6px 12px}.grupo-nombre{color:#1a1a2e;font-weight:600}.grupo-contacto{color:#666;font-size:.85rem}.grupo-contacto div{margin:2px 0}.no-data{color:#999}.confirmados-badge{background:#d4edda;color:#155724;margin-right:5px}.confirmados-badge,.no-asisten-badge{border-radius:4px;display:inline-block;font-size:.85rem;padding:4px 10px}.no-asisten-badge{background:#f8d7da;color:#721c24}.progress-cell{align-items:center;display:flex;gap:10px}.mini-progress-bar{background:#f0f0f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.mini-progress-fill{background:linear-gradient(90deg,#27ae60,#2ecc71);height:100%;transition:width .6s ease}.progress-text{color:#666;font-size:.85rem;font-weight:600;min-width:40px}.action-buttons{display:flex;gap:8px}.btn-delete,.btn-edit{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1.2rem;padding:6px;transition:all .2s ease}.btn-edit:hover{background:#e3f2fd}.btn-delete:hover{background:#ffebee}.empty-state{color:#999;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);padding:60px 20px;text-align:center}.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;padding:100px 20px}.error-container{background:#fee;border:2px solid #fcc;border-radius:12px;margin:50px auto;max-width:500px;padding:40px;text-align:center}.error-container .error-icon{display:block;font-size:3rem;margin-bottom:15px}.error-container h3{color:#c33;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.5rem;margin-bottom:10px}.error-container p{color:#666;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);margin-bottom:20px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:24px 24px 20px}.modal-header h2{color:#1a1a2e;font-family:Playfair Display,serif;font-family:var(--font-heading,"Playfair Display",serif);font-size:1.5rem;margin:0}.modal-close{background:none;border:none;color:#999;cursor:pointer;font-size:2rem;height:30px;line-height:1;padding:0;transition:color .2s ease;width:30px}.modal-close:hover{color:#333}.modal-content form{padding:24px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:.9rem;font-weight:600;margin-bottom:8px}.form-group input,.form-group label{font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif)}.form-group input{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#0f3460;outline:none}.modal-footer{border-top:1px solid #f0f0f0;display:flex;gap:12px;justify-content:flex-end;padding-top:20px}@media (max-width:1024px){.grupos-table{font-size:.85rem}.grupos-table td,.grupos-table th{padding:12px}}@media (max-width:768px){.grupos-manager{padding:20px}.manager-header{align-items:flex-start;flex-direction:column;gap:15px}.manager-header h1{font-size:1.8rem}.filters-section{flex-direction:column}.filter-select{width:100%}.table-container{overflow-x:auto}.grupos-table{min-width:800px}}@media (max-width:480px){.manager-header h1{font-size:1.5rem}.btn-primary,.btn-secondary{width:100%}}.grupo-select-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#0f3460 0),linear-gradient(135deg,#0f3460 50%,#0000 0);background-position:calc(100% - 22px) calc(50% - 3px),calc(100% - 16px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#333;cursor:pointer;font-family:Montserrat,sans-serif;font-family:var(--font-body,"Montserrat",sans-serif);font-size:.95rem;padding:12px 44px 12px 16px;transition:all .25s ease;width:100%}.grupo-select-input:hover{background-color:#fcfcfe;border-color:#c9d1dc}.grupo-select-input:focus{background-color:#fff;border-color:#0f3460;box-shadow:0 0 0 3px #0f34601f;outline:none}.grupo-select-input option{color:#333}@media (max-width:768px){.grupo-select-input{background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);padding-right:40px}}
/*# sourceMappingURL=main.62ab6616.css.map*/