:root{--verde-primario:#1a5c38;--verde-secundario:#2e8b57;--verde-acento:#52c47a;--verde-claro:#e8f5e9;--blanco-natural:#f5fbf7;--gris-texto:#4a4a4a;--gris-claro:#8b8b8b;--dorado:#c9a84c;--dorado-claro:#e5c56b;--blanco:#fff;--negro:#1a1a1a;--sombra-suave:#1a5c3826;--sombra-media:#1a5c3840;--fuente-titulos:"Fraunces", serif;--fuente-cuerpo:"DM Sans", sans-serif;--transicion-suave:all .3s ease;--transicion-media:all .5s ease;--radio-pequeno:8px;--radio-medio:12px;--radio-grande:20px;--radio-circular:50%}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--fuente-cuerpo);background-color:var(--blanco-natural);color:var(--gris-texto);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--fuente-titulos);color:var(--verde-primario);font-weight:600;line-height:1.2}a{color:inherit;transition:var(--transicion-suave);text-decoration:none}button{font-family:var(--fuente-cuerpo);cursor:pointer;transition:var(--transicion-suave);border:none;outline:none}img{max-width:100%;height:auto;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #52c47a66}50%{transform:scale(1.05);box-shadow:0 6px 30px #52c47a99}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes checkBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.fade-in{animation:.6s forwards fadeIn}.slide-up{animation:.6s forwards slideUp}.slide-down{animation:.6s forwards slideDown}.pulse{animation:2s infinite pulse}.float{animation:3s ease-in-out infinite float}.animate-on-scroll{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(40px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:80px 0}.section-title{text-align:center;color:var(--verde-primario);margin-bottom:16px;font-size:clamp(2rem,5vw,3rem)}.section-subtitle{text-align:center;color:var(--gris-texto);max-width:600px;margin:0 auto 48px;font-size:clamp(1rem,2.5vw,1.2rem)}.btn{border-radius:var(--radio-grande);transition:var(--transicion-suave);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--verde-acento), var(--verde-secundario));color:var(--blanco);box-shadow:0 4px 15px var(--sombra-suave)}.btn-primary:hover{box-shadow:0 8px 25px var(--sombra-media);transform:translateY(-3px)}.btn-secondary{color:var(--verde-acento);border:2px solid var(--verde-acento);background:0 0}.btn-secondary:hover{background:var(--verde-acento);color:var(--blanco)}.btn-whatsapp{color:var(--blanco);background:#25d366;box-shadow:0 4px 15px #25d36666}.btn-whatsapp:hover{background:#1ebe5b;transform:translateY(-3px);box-shadow:0 6px 25px #25d36699}.btn-gold{background:linear-gradient(135deg, var(--dorado), var(--dorado-claro));color:var(--negro)}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 8px 25px #c9a84c66}.navbar{z-index:1000;background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));box-shadow:0 2px 20px var(--sombra-media);padding:16px 0;position:fixed;top:0;left:0;right:0}.navbar-container{justify-content:space-between;align-items:center;display:flex}.navbar-logo{color:var(--blanco);font-family:var(--fuente-titulos);align-items:center;gap:12px;font-size:1.5rem;font-weight:700;display:flex}.navbar-logo-icon{font-size:2rem}.navbar-menu{align-items:center;gap:32px;list-style:none;display:flex}.navbar-link{color:var(--blanco);padding:8px 0;font-weight:500;position:relative}.navbar-link:after{content:"";background:var(--verde-acento);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.navbar-link:hover:after{width:100%}.navbar-actions{align-items:center;gap:16px;display:flex}.navbar-admin{border-radius:var(--radio-circular);cursor:pointer;width:40px;height:40px;transition:var(--transicion-suave);background:0 0;border:2px solid #ffffff4d;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.navbar-admin:hover{border-color:var(--blanco);background:#ffffff1a}.navbar-cta{padding:12px 24px;font-size:.9rem}.navbar-toggle{cursor:pointer;background:0 0;flex-direction:column;gap:5px;padding:8px;display:none}.navbar-toggle span{background:var(--blanco);width:25px;height:3px;transition:var(--transicion-suave);border-radius:2px}.hero{text-align:center;background:linear-gradient(135deg, var(--verde-primario) 0%, var(--verde-secundario) 50%, var(--verde-acento) 100%);justify-content:center;align-items:center;min-height:100vh;padding:120px 20px 80px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";opacity:.5;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:1;max-width:800px;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radio-grande);color:var(--blanco);background:#ffffff26;border:1px solid #fff3;margin-bottom:24px;padding:8px 20px;font-size:.9rem;font-weight:500;display:inline-block}.hero-title{color:var(--blanco);text-shadow:0 4px 20px #0000004d;margin-bottom:20px;font-size:clamp(2.5rem,7vw,4.5rem)}.hero-description{color:#ffffffe6;margin-bottom:40px;font-size:clamp(1.1rem,2.5vw,1.3rem);line-height:1.8}.hero-buttons{flex-direction:column;align-items:center;gap:16px;display:flex}.hero-buttons .btn{min-width:250px}.hero-scroll{color:var(--blanco);opacity:.8;flex-direction:column;align-items:center;gap:8px;animation:2s ease-in-out infinite float;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;display:grid}.card{background:var(--blanco);border-radius:var(--radio-medio);box-shadow:0 4px 20px var(--sombra-suave);transition:var(--transicion-media);overflow:hidden}.card:hover{box-shadow:0 12px 40px var(--sombra-media);transform:translateY(-10px)}.card-image{object-fit:cover;background:linear-gradient(135deg, var(--verde-claro), var(--verde-secundario));justify-content:center;align-items:center;width:100%;height:220px;font-size:4rem;display:flex;position:relative}.card-image img{object-fit:cover;width:100%;height:100%}.card-badge{background:var(--dorado);color:var(--negro);border-radius:var(--radio-pequeno);padding:6px 14px;font-size:.85rem;font-weight:600;position:absolute;top:16px;right:16px}.card-content{padding:24px}.card-title{color:var(--verde-primario);margin-bottom:12px;font-size:1.5rem}.card-description{color:var(--gris-texto);margin-bottom:16px;line-height:1.6}.card-price{color:var(--dorado);margin-bottom:20px;font-size:1.4rem;font-weight:700}.card-price span{color:var(--gris-texto);font-size:.9rem;font-weight:400}.card-actions{gap:12px;display:flex}.card-actions .btn{flex:1;padding:12px 20px;font-size:.95rem}.animales-section{background:linear-gradient(180deg, var(--verde-claro) 0%, var(--blanco-natural) 100%);position:relative}.animales-section:before{content:"";background:linear-gradient(90deg, var(--verde-primario), var(--dorado), var(--verde-primario));height:4px;position:absolute;top:0;left:0;right:0}.por-que-section{background:var(--verde-primario);color:var(--blanco)}.por-que-section .section-title,.por-que-section .section-subtitle{color:var(--blanco)}.por-que-section .section-subtitle{opacity:.9}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;display:grid}.feature-card{text-align:center;border-radius:var(--radio-medio);transition:var(--transicion-media);background:#ffffff0d;border:1px solid #ffffff1a;padding:32px 24px}.feature-card:hover{background:#ffffff1a;transform:translateY(-5px)}.feature-icon{margin-bottom:20px;font-size:3rem;display:block}.feature-title{color:var(--blanco);font-size:1.3rem;font-family:var(--fuente-titulos);margin-bottom:12px}.feature-description{color:#fffc;line-height:1.6}.reservas-section{background:var(--blanco-natural)}.booking-container{background:var(--blanco);border-radius:var(--radio-medio);max-width:800px;box-shadow:0 8px 40px var(--sombra-suave);margin:0 auto;overflow:hidden}.booking-header{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));color:var(--blanco);text-align:center;padding:32px}.booking-header h2{color:var(--blanco);margin-bottom:8px;font-size:2rem}.booking-header p{opacity:.9}.booking-body{padding:40px}.form-group{margin-bottom:24px}.form-label{color:var(--verde-primario);margin-bottom:8px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);width:100%;font-size:1rem;font-family:var(--fuente-cuerpo);transition:var(--transicion-suave);background:var(--blanco);padding:14px 18px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--verde-acento);outline:none;box-shadow:0 0 0 4px #52c47a1a}.form-textarea{resize:vertical;min-height:120px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;display:grid}.form-checkbox-group{align-items:center;gap:12px;display:flex}.form-checkbox{width:20px;height:20px;accent-color:var(--verde-acento)}.price-summary{background:var(--verde-claro);border-radius:var(--radio-pequeno);margin-top:24px;padding:24px}.price-row{border-bottom:1px solid #1a5c381a;justify-content:space-between;padding:12px 0;display:flex}.price-row:last-child{border-bottom:none;margin-top:8px;padding-top:16px}.price-label{color:var(--gris-texto)}.price-value{color:var(--verde-primario);font-weight:700}.price-value.highlight{color:var(--dorado);font-size:1.3rem}.booking-actions{flex-direction:column;gap:16px;margin-top:32px;display:flex}.booking-actions .btn{width:100%;padding:16px;font-size:1.1rem}.payment-section{padding:40px 0}.payment-summary{background:var(--verde-claro);border-radius:var(--radio-pequeno);margin-bottom:32px;padding:24px}.payment-summary h3{color:var(--verde-primario);margin-bottom:16px;font-size:1.3rem}.payment-tabs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:32px;display:grid}.payment-tab{border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);background:var(--blanco);cursor:pointer;transition:var(--transicion-suave);text-align:center;padding:16px}.payment-tab:hover{border-color:var(--verde-acento)}.payment-tab.active{border-color:var(--verde-acento);background:var(--verde-primario);color:var(--blanco)}.payment-tab-icon{margin-bottom:8px;font-size:1.5rem;display:block}.payment-tab-label{font-size:.9rem;font-weight:600}.payment-content{background:var(--blanco);border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);padding:32px}.payment-content.active{display:block}.payment-content.hidden{display:none}.credit-card-visual{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));border-radius:var(--radio-medio);color:var(--blanco);box-shadow:0 8px 30px var(--sombra-media);margin-bottom:24px;padding:24px;position:relative;overflow:hidden}.credit-card-visual:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:100%;height:100%;position:absolute;top:-50%;right:-50%}.credit-card-chip{background:linear-gradient(135deg, var(--dorado), var(--dorado-claro));border-radius:6px;width:50px;height:35px;margin-bottom:20px}.credit-card-number-display{letter-spacing:4px;margin-bottom:20px;font-family:monospace;font-size:1.4rem}.credit-card-info{justify-content:space-between;display:flex}.credit-card-label{opacity:.8;text-transform:uppercase;font-size:.75rem}.credit-card-value{font-size:1rem;font-weight:600}.form-card-input{border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);width:100%;font-size:1rem;font-family:var(--fuente-cuerpo);transition:var(--transicion-suave);margin-bottom:16px;padding:14px 18px}.form-card-input:focus{border-color:var(--verde-acento);outline:none;box-shadow:0 0 0 4px #52c47a1a}.form-card-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.paypal-button{color:var(--negro);border-radius:var(--radio-pequeno);width:100%;transition:var(--transicion-suave);background:#ffc439;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:1.1rem;font-weight:700;display:flex}.paypal-button:hover{background:#f4b529;transform:translateY(-2px);box-shadow:0 6px 20px #ffc43966}.bank-info{background:var(--verde-claro);border-radius:var(--radio-pequeno);margin-bottom:20px;padding:24px}.bank-info-row{border-bottom:1px solid #1a5c381a;justify-content:space-between;padding:12px 0;display:flex}.bank-info-row:last-child{border-bottom:none}.bank-info-label{color:var(--gris-texto);font-weight:500}.bank-info-value{color:var(--verde-primario);font-family:monospace;font-weight:700}.confirmation-container{text-align:center;padding:40px 20px}.confirmation-check{background:linear-gradient(135deg, var(--verde-acento), var(--verde-secundario));border-radius:var(--radio-circular);justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 24px;animation:.6s forwards checkBounce;display:flex}.confirmation-check-icon{color:var(--blanco);font-size:3rem}.confirmation-title{color:var(--verde-primario);margin-bottom:16px;font-size:2rem}.confirmation-message{color:var(--gris-texto);margin-bottom:24px;line-height:1.6}.confirmation-number{background:var(--verde-claro);border-radius:var(--radio-pequeno);margin-bottom:24px;padding:16px 32px;display:inline-block}.confirmation-number-label{color:var(--gris-texto);margin-bottom:4px;font-size:.9rem}.confirmation-number-value{color:var(--verde-primario);letter-spacing:2px;font-family:monospace;font-size:1.5rem;font-weight:700}.confirmation-details{background:var(--blanco);border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);text-align:left;max-width:500px;margin:24px auto;padding:24px}.confirmation-details h4{color:var(--verde-primario);margin-bottom:16px;font-size:1.2rem}.confirmation-row{border-bottom:1px solid var(--verde-claro);justify-content:space-between;padding:10px 0;display:flex}.confirmation-row:last-child{border-bottom:none}.confetti-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti{border-radius:2px;width:10px;height:10px;animation:3s linear forwards confettiFall;position:absolute}.contacto-section{background:var(--blanco)}.contacto-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;display:grid}.contacto-card{text-align:center;background:var(--blanco-natural);border-radius:var(--radio-medio);transition:var(--transicion-media);padding:32px 24px}.contacto-card:hover{box-shadow:0 8px 30px var(--sombra-suave);transform:translateY(-5px)}.contacto-icon{margin-bottom:16px;font-size:2.5rem;display:block}.contacto-title{color:var(--verde-primario);margin-bottom:8px;font-size:1.2rem}.contacto-info{color:var(--gris-texto);line-height:1.6}.contacto-info a{color:var(--verde-acento);font-weight:600}.contacto-info a:hover{text-decoration:underline}.footer{background:var(--verde-primario);color:var(--blanco);padding:48px 0 24px}.footer-content{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:32px;display:grid}.footer-logo{font-family:var(--fuente-titulos);align-items:center;gap:12px;margin-bottom:16px;font-size:1.8rem;font-weight:700;display:flex}.footer-slogan{opacity:.9;margin-bottom:20px;line-height:1.6}.footer-social{gap:16px;display:flex}.footer-social-link{border-radius:var(--radio-circular);width:44px;height:44px;transition:var(--transicion-suave);background:#ffffff1a;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.footer-social-link:hover{background:var(--verde-acento);transform:translateY(-3px)}.footer-title{color:var(--blanco);margin-bottom:20px;font-size:1.2rem}.footer-links{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{opacity:.9;transition:var(--transicion-suave)}.footer-links a:hover{opacity:1;color:var(--verde-acento)}.footer-bottom{text-align:center;opacity:.8;border-top:1px solid #ffffff1a;padding-top:24px;font-size:.9rem}.footer-whatsapp{color:var(--verde-acento);align-items:center;gap:8px;font-weight:600;display:inline-flex}.whatsapp-float{z-index:999;color:var(--blanco);border-radius:var(--radio-grande);transition:var(--transicion-suave);background:#25d366;align-items:center;gap:10px;padding:14px 24px;font-size:1rem;font-weight:600;animation:2s infinite pulse;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #25d36666}.whatsapp-float:hover{background:#1ebe5b;transform:scale(1.05);box-shadow:0 6px 30px #25d36699}.whatsapp-float-icon{font-size:1.5rem}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-container{background:var(--blanco);border-radius:var(--radio-medio);width:100%;max-width:450px;max-height:90vh;animation:.3s forwards slideUp;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));color:var(--blanco);justify-content:space-between;align-items:center;padding:24px;display:flex}.modal-header h3{color:var(--blanco);font-size:1.5rem}.modal-close{color:var(--blanco);cursor:pointer;transition:var(--transicion-suave);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:1.5rem;display:flex}.modal-close:hover{transform:rotate(90deg)}.modal-body{padding:32px 24px}.modal-footer{border-top:1px solid var(--verde-claro);padding:24px}.admin-panel{background:var(--blanco-natural);min-height:100vh;padding:100px 20px 40px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px;display:flex}.admin-header h2{color:var(--verde-primario);font-size:2rem}.admin-tabs{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.admin-tab{background:var(--blanco);border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);color:var(--gris-texto);cursor:pointer;transition:var(--transicion-suave);padding:12px 24px;font-weight:600}.admin-tab:hover{border-color:var(--verde-acento)}.admin-tab.active{background:var(--verde-primario);border-color:var(--verde-primario);color:var(--blanco)}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.admin-card{background:var(--blanco);border-radius:var(--radio-medio);box-shadow:0 4px 20px var(--sombra-suave);overflow:hidden}.admin-card-header{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));color:var(--blanco);padding:16px 20px}.admin-card-header h4{color:var(--blanco);font-size:1.2rem}.admin-card-body{padding:20px}.admin-photo-preview{object-fit:cover;border-radius:var(--radio-pequeno);background:var(--verde-claro);justify-content:center;align-items:center;width:100%;height:180px;margin-bottom:16px;font-size:3rem;display:flex}.admin-photo-preview img{object-fit:cover;border-radius:var(--radio-pequeno);width:100%;height:100%}.admin-actions{gap:12px;display:flex}.admin-actions .btn{flex:1;padding:10px 16px;font-size:.9rem}.reservas-table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.reservas-table thead{background:var(--verde-primario);color:var(--blanco)}.reservas-table th,.reservas-table td{text-align:left;border-bottom:1px solid var(--verde-claro);padding:14px 12px}.reservas-table th{white-space:nowrap;font-size:.9rem;font-weight:600}.reservas-table tbody tr:hover{background:var(--verde-claro)}.reservas-table-responsive{overflow-x:auto}.reservas-table .btn-whatsapp-link{color:#25d366;font-weight:600;text-decoration:none;transition:all .3s}.reservas-table .btn-whatsapp-link:hover{color:#128c7e;text-decoration:underline}.reservas-table .btn-delete{color:#fff;cursor:pointer;background:#ff4d4f;border:none;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:all .3s}.reservas-table .btn-delete:hover{background:#ff7875;transform:translateY(-1px)}@media (width<=768px){.navbar-menu{background:var(--verde-primario);opacity:0;visibility:hidden;transition:var(--transicion-media);flex-direction:column;gap:16px;padding:24px;position:fixed;top:72px;left:0;right:0;transform:translateY(-100%)}.navbar-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.navbar-toggle{display:flex}.navbar-actions{gap:12px}.navbar-cta{padding:10px 18px;font-size:.85rem}.hero-title{font-size:2.5rem}.hero-buttons{flex-direction:column}.section{padding:60px 0}.booking-body{padding:24px}.form-row{grid-template-columns:1fr}.payment-tabs{grid-template-columns:1fr 1fr}.whatsapp-float{padding:12px 18px;font-size:.9rem;bottom:16px;right:16px}.admin-header{flex-direction:column;align-items:flex-start}.admin-tabs{flex-direction:column}.reservas-table{font-size:.85rem}.reservas-table th,.reservas-table td{padding:10px 8px}}@media (width<=480px){.cards-grid,.features-grid,.payment-tabs,.form-card-row{grid-template-columns:1fr}}.admin-login-page{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.admin-login-container{width:100%;max-width:420px}.admin-login-card{background:var(--blanco);border-radius:var(--radio-medio);animation:.5s forwards slideUp;overflow:hidden;box-shadow:0 20px 60px #0000004d}.admin-login-header{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));color:var(--blanco);text-align:center;padding:40px 24px}.admin-login-logo{margin-bottom:16px;font-size:3rem;display:block}.admin-login-header h1{color:var(--blanco);margin:0 0 8px;font-size:1.8rem}.admin-login-header p{color:var(--verde-claro);margin:0;font-size:1rem}.admin-login-form{padding:32px 24px}.admin-login-form .form-group{margin-bottom:20px}.admin-login-form .form-label{color:var(--gris-texto);margin-bottom:8px;font-weight:600;display:block}.admin-login-form .form-input{border:2px solid var(--verde-claro);border-radius:var(--radio-pequeno);width:100%;transition:var(--transicion-suave);padding:12px 16px;font-size:1rem}.admin-login-form .form-input:focus{border-color:var(--verde-acento);outline:none;box-shadow:0 0 0 3px #52c47a33}.login-error{color:#d32f2f;border-radius:var(--radio-pequeno);background:#ffebee;margin-bottom:20px;padding:12px 16px;font-size:.9rem}.admin-login-btn{width:100%;margin-bottom:12px;padding:14px 24px;font-size:1rem;font-weight:600}.admin-dashboard-page{background:var(--blanco-natural);min-height:100vh}.admin-dashboard-header{background:linear-gradient(135deg, var(--verde-primario), var(--verde-secundario));color:var(--blanco);z-index:100;padding:20px 0;position:sticky;top:0;box-shadow:0 4px 20px #0003}.admin-header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.admin-logo-section{align-items:center;gap:16px;display:flex}.admin-logo{font-size:2.5rem}.admin-logo-section h1{color:var(--blanco);margin:0;font-size:1.5rem}.admin-logo-section p{color:var(--verde-claro);margin:0;font-size:.9rem}.admin-header-actions{gap:12px;display:flex}.admin-header-actions .btn{padding:10px 20px;font-size:.9rem}.admin-dashboard-main{padding:40px 0}.admin-help-banner{border:2px solid var(--verde-acento);border-radius:var(--radio-medio);background:linear-gradient(135deg,#e8f5e9,#c8e6c9);align-items:flex-start;gap:16px;margin-bottom:32px;padding:20px;display:flex}.help-banner-icon{font-size:2rem}.help-banner-content h3{color:var(--verde-primario);margin:0 0 12px;font-size:1.2rem}.help-banner-content ol{color:var(--gris-texto);margin:0 0 12px;padding-left:20px;line-height:1.8}.help-banner-content p{color:var(--gris-texto);margin:0;font-size:.9rem}.help-banner-close{cursor:pointer;color:var(--verde-primario);background:0 0;border:none;margin-left:auto;padding:0;font-size:1.5rem;line-height:1}.admin-dashboard-footer{background:var(--verde-primario);color:var(--blanco);text-align:center;margin-top:60px;padding:20px 0}.admin-dashboard-footer p{opacity:.9;margin:0;font-size:.9rem}.admin-loading{background:var(--blanco-natural);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-loading-spinner{margin-bottom:16px;font-size:3rem;animation:2s ease-in-out infinite float}.admin-loading p{color:var(--gris-texto);font-size:1.1rem}.admin-card.full-width{grid-column:1/-1}.no-reservas{text-align:center;color:var(--gris-texto);padding:60px 20px;font-size:1.1rem}.btn-view{color:var(--blanco);border-radius:var(--radio-pequeno);cursor:pointer;transition:var(--transicion-suave);background:#1890ff;border:none;padding:6px 12px;font-size:.85rem}.btn-view:hover{background:#096dd9}.admin-file-input{display:none}.reserva-detalles-grid{gap:20px;margin-bottom:24px;display:grid}.reserva-detalles-section{background:var(--blanco-natural);border-radius:var(--radio-pequeno);padding:16px}.reserva-detalles-section h4{color:var(--verde-primario);margin:0 0 12px;font-size:1rem}.reserva-detalles-section p{margin:8px 0;font-size:.95rem}.reserva-detalles-actions{gap:12px;display:grid}@media (width<=768px){.admin-header-content{flex-direction:column;align-items:flex-start}.admin-header-actions{justify-content:flex-start;width:100%}.admin-help-banner{flex-direction:column}.help-banner-close{margin-top:12px;margin-left:0}}.app-loading{background:var(--blanco-natural);flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.loading-spinner{font-size:4rem;animation:2s ease-in-out infinite float}.app-loading p{color:var(--gris-texto);font-size:1.1rem;animation:2s ease-in-out infinite pulse}.vision-mision-valores-section{background:linear-gradient(135deg, var(--verde-claro), var(--blanco-natural));padding:100px 0}.vmv-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;display:grid}.vmv-card{background:var(--blanco);border-radius:var(--radio-medio);box-shadow:0 8px 30px var(--sombra-suave);transition:var(--transicion-media);border:2px solid #0000;padding:40px 32px}.vmv-card:hover{box-shadow:0 16px 40px var(--sombra-media);border-color:var(--verde-acento);transform:translateY(-8px)}.vmv-icon{text-align:center;margin-bottom:24px;font-size:3.5rem;display:block}.vmv-title{color:var(--verde-primario);text-align:center;font-size:1.8rem;font-family:var(--fuente-titulos);margin-bottom:20px}.vmv-description{color:var(--gris-texto);text-align:center;font-size:1.05rem;line-height:1.8}.vmv-list{margin:0;padding:0;list-style:none}.vmv-list li{background:var(--blanco-natural);border-radius:var(--radio-pequeno);transition:var(--transicion-suave);align-items:flex-start;gap:16px;margin-bottom:24px;padding:16px;display:flex}.vmv-list li:hover{background:var(--verde-claro);transform:translate(8px)}.vmv-list-icon{flex-shrink:0;font-size:1.8rem}.vmv-list li strong{color:var(--verde-primario);font-size:1.1rem;font-family:var(--fuente-titulos);margin-bottom:4px;display:block}.vmv-list li p{color:var(--gris-texto);margin:0;font-size:.95rem;line-height:1.6}@media (width<=768px){.vision-mision-valores-section{padding:60px 0}.vmv-grid{grid-template-columns:1fr;gap:24px}.vmv-card{padding:32px 24px}.vmv-icon{font-size:3rem}.vmv-title{font-size:1.5rem}.vmv-description{font-size:1rem}.vmv-list li{padding:12px}.vmv-list-icon{font-size:1.5rem}}
