@keyframes pulse-border{0%,to{box-shadow:inset 0 0 0 3px red,0 0 20px #ff00004d}50%{box-shadow:inset 0 0 0 5px #f44,0 0 30px #ff444480}}@keyframes pulse-background{0%,to{background-color:red}50%{background-color:#f44}}@media (width<=768px){body{margin:0!important;padding:0!important;font-family:Lato,sans-serif!important;overflow-x:hidden!important}.container,#main-content{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;transform:translateY(-15px)!important}.profile-wrapper{box-sizing:border-box!important;background-color:#f5f5f5!important;width:100%!important;max-width:100%!important;min-height:100vh!important;margin:0!important;padding:56px 0 0!important}.profile-container-inner{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.profile-card{box-sizing:border-box!important;background:0 0!important;width:100%!important;margin:0!important;padding:0!important;position:relative!important}.form-header{z-index:1000!important;-webkit-backdrop-filter:blur(20px)!important;box-sizing:border-box!important;background:#fff6!important;border-bottom:1px solid #ffffff4d!important;grid-template-columns:56px 1fr 56px!important;align-items:center!important;width:100%!important;height:56px!important;margin:0!important;padding:0!important;display:grid!important;position:fixed!important;top:0!important;left:0!important;right:0!important;box-shadow:0 4px 30px #0000001a!important}.form-header .back-button{color:#333!important;cursor:pointer!important;-webkit-backdrop-filter:blur(10px)!important;background:#fffc!important;border:1px solid #fff6!important;border-radius:50%!important;grid-column:1!important;justify-self:center!important;place-items:center!important;width:40px!important;height:40px!important;font-size:24px!important;text-decoration:none!important;transition:all .3s!important;display:grid!important}.form-header .back-button:hover{background:#fffffff2!important;transform:scale(1.05)!important}.form-header h1{color:#fb6d00!important;letter-spacing:3px!important;text-align:center!important;text-transform:uppercase!important;text-shadow:0 2px 4px #00000026!important;grid-column:2!important;margin:0!important;padding:0!important;font-family:Lato,sans-serif!important;font-size:16px!important;font-weight:900!important}.form-header h1:before{content:""!important;display:none!important}.form-header .share-button{color:#333!important;cursor:pointer!important;-webkit-backdrop-filter:blur(10px)!important;background:#fffc!important;border:1px solid #fff6!important;border-radius:50%!important;grid-column:3!important;justify-self:center!important;place-items:center!important;width:40px!important;height:40px!important;font-size:20px!important;transition:all .3s!important;display:grid!important}.form-header .share-button:hover{background:#fffffff2!important;transform:scale(1.05)!important}.profile-card #profile-photo{object-fit:cover!important;object-position:center center!important;width:100%!important;min-width:auto!important;max-width:100%!important;height:100vw!important;min-height:auto!important;max-height:none!important;box-shadow:none!important;aspect-ratio:1!important;box-sizing:border-box!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;top:auto!important;left:auto!important;transform:none!important}.white-card-content{height:auto;max-height:fit-content;box-sizing:border-box!important;background:#fff!important;border-radius:32px 32px 0 0!important;width:100%!important;min-height:50vh!important;margin:-60px 0 0!important;padding:32px 20px 40px!important;font-family:Lato,sans-serif!important;position:relative!important;box-shadow:0 -15px 50px #00000040!important}.white-card-content>*{z-index:3!important;font-family:inherit!important;position:relative!important}#profile-name{justify-content:space-between;text-align:left!important;flex-wrap:nowrap!important;align-items:baseline!important;gap:8px!important;margin:0!important;padding:0!important;line-height:1.1!important;display:flex!important}#profile-name-text{color:#000!important;letter-spacing:-.5px!important;text-transform:uppercase!important;text-overflow:ellipsis!important;white-space:nowrap!important;flex:0 auto!important;min-width:0!important;font-size:24px!important;font-weight:800!important;display:inline-block!important;overflow:hidden!important}#profile-placa-id{color:#666!important;white-space:nowrap!important;flex:none!important;font-size:16px!important;font-weight:700!important;display:inline-block!important}#profile-address{font-size:16spx!important;color:#666!important;justify-content:flex-start!important;align-items:center!important;gap:4px!important;margin:0 0 16px!important;padding:0!important;font-weight:400!important;display:flex!important}#profile-address .icon-house{fill:#666!important;flex-shrink:0!important;width:10px!important;height:10px!important}#profile-address #address-text{color:#666!important;font-size:11px!important;font-weight:400!important}#profile-address:hover{box-shadow:none!important;background:0 0!important;border:none!important}.profile-meta{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:0!important;padding:0!important;display:grid!important}.profile-meta .meta-item{text-align:center!important;text-transform:uppercase!important;border-radius:12px!important;place-items:center!important;padding:12px 8px!important;font-size:12px!important;font-weight:900!important;display:grid!important}#profile-gender{color:#747200!important;background-color:#fffebb!important;font-weight:600!important}#profile-age{color:#003513!important;background-color:#c6ffbc!important;font-weight:600!important}#profile-breed{color:#450053!important;background-color:#f8d4ff!important;font-weight:600!important}.profile-meta .meta-item:before{text-transform:uppercase!important;color:#242424!important;order:-1!important;margin-bottom:4px!important;font-size:10px!important;font-weight:900!important}#profile-gender:before{content:"GÉNERO"!important}#profile-age:before{content:"EDAD"!important}#profile-breed:before{content:"RAZA"!important}.profile-meta .meta-item{color:#000!important;text-transform:uppercase!important;visibility:visible!important;opacity:1!important;grid-template-rows:auto 1fr!important;font-size:13px!important;font-weight:700!important;display:grid!important}.profile-meta .meta-item *{visibility:visible!important;opacity:1!important}.profile-meta .meta-item:after{content:none!important;display:none!important}.section-title{color:#000!important;text-align:left!important;background:0 0!important;border:none!important;align-items:center!important;gap:6px!important;margin:0 0 12px!important;padding:0!important;font-size:14px!important;font-weight:700!important;display:flex!important}.section-title i{font-size:16px!important}.medical-card,.observations-box{box-shadow:none!important;text-align:left!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0 0 24px!important;padding:0!important}.medical-card:before{content:none!important;display:none!important}.medical-card p,.observations-box p{color:#333!important;margin:0!important;padding:0!important;font-size:14px!important;font-weight:400!important;line-height:1.5!important}.medical-card:hover,.observations-box:hover{box-shadow:none!important;background:#fff!important;border:none!important}.contact-buttons{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}.contact-buttons:before{display:none!important}.contact-label{color:#666!important;text-align:left!important;margin:0 0 8px!important;padding:0!important;font-size:12px!important;font-weight:700!important}.contact-group{box-shadow:none!important;background:0 0!important;border:none!important;margin-bottom:16px!important;padding:0!important}.contact-group:hover{box-shadow:none!important;background:0 0!important;border:none!important}.contact-buttons .button-row{flex-direction:row!important;gap:8px!important;margin:0!important;padding:0!important;display:flex!important;position:static!important}.contact-buttons .button-row:after{content:none!important;display:none!important}.contact-buttons .button{cursor:pointer!important;box-shadow:none!important;letter-spacing:0!important;border:none!important;border-radius:8px!important;flex:1!important;justify-content:center!important;align-items:center!important;gap:8px!important;min-height:auto!important;padding:12px!important;font-size:14px!important;font-weight:700!important;transition:all .3s!important;display:flex!important;position:static!important;overflow:visible!important}.contact-buttons .button.success{color:#fff!important;opacity:1!important;visibility:visible!important;background:#25d366!important}.contact-buttons .button.success:hover{background:#20bd5a!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #25d3664d!important}.contact-buttons .button.primary{color:#fff!important;opacity:1!important;visibility:visible!important;background:#ff9a3d!important}.contact-buttons .button.primary:hover{background:#ff8a2a!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #ff9a3d4d!important}.contact-buttons .button i{font-size:16px!important}.contact-buttons .button:before,.contact-buttons .button:after{content:none!important;display:none!important}.contact-buttons .button:active:before{display:none!important}.profile-share-section{box-shadow:none!important;background:0 0!important;border:none!important;margin:20px 0!important;padding:0!important}.share-btn{width:36px!important;height:36px!important;box-shadow:none!important;background-color:#fff!important;border:none!important;border-radius:50%!important;transition:all .3s!important}.share-btn:hover{background-color:#f0f0f0!important;transform:scale(1.05)!important}.admin-controls-card{background:#fff!important;border-radius:8px!important;margin:20px 0!important;padding:20px!important;box-shadow:0 2px 8px #0000001a!important}#public-map-section-user{box-sizing:border-box!important;width:100%!important;margin-top:1rem!important;padding:0!important}#public-map-section-user h4{color:#292929!important;margin-bottom:.75rem!important;font-size:16px!important;font-weight:600!important}.profile-card--lost .white-card-content{animation:2s ease-in-out infinite pulse-border!important;position:relative!important}.lost-pet-banner{color:#fff!important;text-align:center!important;box-sizing:border-box!important;background:red!important;border-radius:32px 32px 0 0!important;width:calc(100% + 40px)!important;margin:-32px -20px 1.5rem!important;padding:16px 20px!important;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;text-decoration:none!important;animation:2s ease-in-out infinite pulse-background!important;display:block!important;position:relative!important}.lost-pet-banner .banner-title{text-transform:uppercase!important;letter-spacing:1px!important;margin:0 0 4px!important;font-size:24px!important;font-weight:800!important;line-height:1.2!important}.lost-pet-banner .banner-subtitle{opacity:.95!important;margin:0!important;font-size:18px!important;font-weight:500!important;line-height:1.3!important}.lost-pet-banner strong{font-weight:700!important}}@media (width<=768px) and (orientation:landscape){#profile-photo{height:200px!important;min-height:200px!important;max-height:200px!important}}@media (width>=769px){.form-header .back-button,.form-header .share-button{display:none!important}.form-header{justify-content:center!important}.form-header h1{text-align:center!important}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.profile-wrapper{max-width:500px!important;margin:0 auto!important;padding:0 1rem!important}.profile-container-inner{max-width:400px!important;margin:0 auto!important;padding:0!important}.container{padding:80px 1rem 2rem!important}.profile-card{background:#fff!important;border-radius:16px!important;margin:0 auto!important;padding:2rem!important;position:static!important;transform:none!important;box-shadow:0 4px 20px #0000001a!important}.profile-card #profile-photo{aspect-ratio:1!important;object-fit:cover!important;object-position:center center!important;border:4px solid #f0f0f0!important;border-radius:50%!important;width:150px!important;min-width:150px!important;max-width:150px!important;height:150px!important;min-height:150px!important;max-height:150px!important;margin:0 auto 1.5rem!important;display:block!important;position:static!important;top:auto!important;left:auto!important;transform:none!important}.white-card-content{box-shadow:none!important;background:0 0!important;border-radius:0!important;margin:0!important;padding:0!important;position:static!important}#profile-name{text-align:center!important;margin:0 0 .75rem!important;padding:0!important;line-height:1.2!important;display:block!important}#profile-name-text{text-align:center!important;white-space:normal!important;text-overflow:clip!important;color:#1a3a52!important;text-transform:none!important;letter-spacing:normal!important;margin:0!important;padding:0!important;font-size:2.5rem!important;font-weight:700!important;display:block!important;overflow:visible!important}#profile-address{text-align:center!important;color:#666!important;order:2!important;justify-content:center!important;align-items:center!important;margin:0 0 .75rem!important;padding:0!important;font-size:.95rem!important;display:flex!important}#profile-address svg{flex-shrink:0!important;margin-right:.5rem!important}.profile-meta{flex-wrap:wrap!important;order:3!important;justify-content:center!important;align-items:center!important;gap:.35rem!important;margin:0 0 .75rem!important;padding:0!important;display:flex!important}.profile-meta .meta-item{color:#5a5a5a!important;font-size:.95rem!important;font-weight:500!important;display:inline!important}#profile-placa-id{text-align:center!important;color:#5a7a9a!important;order:4!important;margin:0!important;padding:0!important;font-size:1rem!important;font-weight:600!important;display:block!important}.section-title{text-align:left!important;color:#1a3a52!important;align-items:center!important;gap:.5rem!important;margin:1.5rem 0 1rem!important;font-size:1.5rem!important;font-weight:700!important;line-height:1.2!important;display:flex!important}.section-title svg{vertical-align:middle!important;color:#1a3a52!important;stroke:#1a3a52!important;flex-shrink:0!important;min-width:20px!important;max-width:20px!important;min-height:20px!important;max-height:20px!important;margin-right:4px!important;display:inline-block!important}.medical-card{background:#fffbf0!important;border:2px solid #f0e6c8!important;border-radius:12px!important;margin-bottom:1.5rem!important;padding:1rem!important}.contact-label{text-align:center!important;color:#666!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;margin-bottom:.75rem!important;font-size:1rem!important;font-weight:600!important;display:flex!important}.contact-buttons .button-row{flex-direction:column!important;gap:.75rem!important;display:flex!important}.contact-buttons .button{cursor:pointer!important;border:none!important;border-radius:50px!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;width:100%!important;padding:.875rem 1.5rem!important;font-size:1rem!important;font-weight:600!important;transition:all .3s!important;display:flex!important}.contact-buttons .button:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #00000026!important}.contact-group{margin-bottom:1.5rem!important}.button svg,.section-title svg,.contact-label svg,#profile-address svg{flex-shrink:0!important;display:inline-block!important}}@media (width<=768px){#profile-address svg{vertical-align:middle!important;color:#666!important;margin-right:6px!important;display:inline-block!important}.section-title{align-items:center!important;gap:8px!important;display:flex!important}.section-title svg{flex-shrink:0!important}.contact-label{align-items:center!important;gap:6px!important;font-weight:600!important;display:flex!important}.contact-label svg{flex-shrink:0!important}.button{justify-content:center!important;align-items:center!important;gap:8px!important;display:flex!important}.button svg{flex-shrink:0!important}.button.primary svg,.button.success svg{color:#fff!important;stroke:#fff!important}.lost-pet-banner{color:#fff!important;text-align:center!important;background:red!important;border-radius:12px!important;width:100%!important;margin:0 0 1.5rem!important;padding:16px 20px!important;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;text-decoration:none!important;animation:2s ease-in-out infinite pulse-background!important;display:block!important}.profile-card.profile-card--lost{animation:2s ease-in-out infinite pulse-border!important}#public-map-section-user{box-sizing:border-box!important;width:100%!important;margin-top:1.5rem!important;padding:0!important}#public-map-section-user h4{color:#292929!important;text-align:center!important;margin-bottom:1rem!important;font-size:18px!important;font-weight:600!important}}.admin-controls-card{background:var(--bg-card);text-align:center;border:2px solid var(--brand-primary);border-radius:14px;margin-top:1.2rem;margin-bottom:1.5rem;padding:1.5rem 1rem;box-shadow:0 2px 8px #f28b2814}.admin-title{color:var(--brand-primary);letter-spacing:.5px;margin-bottom:1rem;font-size:1.2em;font-weight:700}.admin-actions{justify-content:center;gap:.7rem;margin-bottom:1.2rem;display:flex}.admin-btn{background:var(--bg-page);color:var(--brand-primary);border:1.5px solid var(--brand-primary);cursor:pointer;border-radius:8px;padding:.5rem 1.1rem;font-size:1em;font-weight:600;transition:background .2s,color .2s,border .2s}.admin-btn:hover{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.admin-btn.danger{background:var(--brand-danger);color:#fff;border-color:var(--brand-danger)}.admin-btn.danger:hover{background:#c0392b;border-color:#c0392b}.admin-qr-section{background:var(--bg-page);border:1.5px solid var(--brand-primary);border-radius:10px;max-width:320px;margin:1.2rem auto 0;padding:1rem .5rem 1.2rem;box-shadow:0 1px 4px #f28b2814}.admin-qr-section h4{color:var(--brand-primary);margin-bottom:.7rem;font-size:1.1em;font-weight:700}#admin-download-qr-btn{margin-top:.5rem}:root{--brand-primary:#e79e59;--brand-secondary:#3b82f6;--brand-success:#3c9d6a;--brand-danger:#e74c3c;--bg-page:#f7f9fc;--bg-card:#fff;--text-primary:#1e2a41;--text-secondary:#5a677d;--text-light:#fff;--border-color:#e2e8f0;--font-family:"Poppins", sans-serif;--card-radius:16px;--card-shadow:0 8px 24px #15307014;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}[data-theme=dark]{--bg-page:#0b1220;--bg-card:#0f172a;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-light:#e5e7eb;--border-color:#1f2a44;--brand-primary:#f6ad55;--brand-success:#22c55e;--brand-danger:#ef4444}*{box-sizing:border-box;margin:0;padding:0}.age-group{background:var(--bg-card);border:1.5px solid var(--border-color);border-radius:18px;grid-column:span 2;padding:1rem 1rem 1.1rem;transition:border-color .25s,box-shadow .25s,background .3s;position:relative;box-shadow:0 4px 10px -3px #0000000a,0 2px 4px -2px #0000000a}.age-group-legend{color:var(--text-primary);letter-spacing:.5px;margin-left:.25rem;padding:0 .45rem;font-size:.9rem;font-weight:600}.age-group:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-primary) 25%, transparent)}.age-group.has-error{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand-danger) 35%, transparent);border-color:var(--brand-danger)!important}.age-group.has-error .age-dual-wrapper input{border-color:var(--brand-danger)}.age-group.has-error #age-group-error{display:block!important}.age-dual-wrapper .form-field label{font-weight:500}.age-dual-wrapper .form-field input{border:1.5px solid var(--border-color);background:#fff;border-radius:14px;padding:.85rem .9rem .55rem;font-size:.95rem;transition:border-color .2s,background .25s,box-shadow .25s}.age-dual-wrapper .form-field input:focus{background:#fffdfb}.age-dual-wrapper .form-field input:hover:not(:disabled){border-color:color-mix(in srgb, var(--brand-primary) 55%, var(--border-color))}.age-dual-wrapper .form-field small.hint{letter-spacing:.4px;margin-top:.25rem;font-size:.7rem;display:block}#age-group-error{font-weight:500}.age-dual-wrapper{gap:.75rem;display:flex}.age-dual-wrapper .form-field{flex:1;min-width:0}.age-dual-wrapper input[type=number]{appearance:textfield}.age-dual-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.age-dual-wrapper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#age-group-error.field-error{margin-top:.35rem;font-size:.85rem}.age-dual-wrapper .input-error{background:#fff5f5;border-color:var(--brand-danger)!important}.age-dual-wrapper input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #e79e5940}@media (width<=560px){.age-dual-wrapper{flex-direction:column}}body{font-family:var(--font-family);background-color:var(--bg-page);color:var(--text-secondary);line-height:1.6}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--brand-primary) 60%, transparent);outline-offset:2px;border-radius:10px}a,button,.button,.admin-button,.cta-button{transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}.hidden{display:none!important}.container{flex-grow:1;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex}.cta-button,#pet-form button[type=submit]{background-color:var(--brand-primary);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:12px;width:100%;padding:16px;font-size:1.1em;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.cta-button:hover,#pet-form button[type=submit]:hover{opacity:.9;transform:translateY(-2px)}.secondary-button,.admin-button{background-color:var(--bg-page);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:12px 20px;font-size:1em;font-weight:600;transition:all .3s}.secondary-button:hover{border-color:var(--brand-secondary);background-color:#eef4ff}.admin-button.success{background-color:var(--brand-success);color:#fff}.admin-button.danger{background-color:var(--brand-danger);color:#fff}.button{border:none;border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:1em;font-weight:700;text-decoration:none;transition:all .3s;display:flex}.button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001a}.button.primary{background-color:var(--brand-primary)!important;background:var(--brand-primary)!important;color:#fff!important;background-image:none!important}.button.success{background-color:var(--brand-success)!important;background:var(--brand-success)!important;color:#fff!important;background-image:none!important}.button-icon{fill:#fff;width:1.2em;height:1.2em}.button-icon-img{object-fit:contain;width:1.2em;height:1.2em}.form-header,.main-header{background:var(--bg-card);text-align:center;border-bottom:1px solid var(--border-color);width:100%;padding:20px}.form-header{margin-bottom:7rem}.form-header h1 a,.main-header h1{color:var(--brand-primary);font-weight:700;text-decoration:none}.main-header h1{color:var(--text-primary);font-size:1.5rem;font-weight:800}.form-page-body,.generator-page-body{flex-direction:column;min-height:100vh;display:flex}.generator-page-body{justify-content:center;align-items:flex-start;padding:2rem}.form-card,.generator-card{background-color:var(--bg-card);border-radius:var(--card-radius);box-shadow:var(--shadow-lg);width:100%;max-width:550px;min-height:400px;padding:2rem 2.5rem;position:relative}#register-form-container{box-sizing:border-box;flex-direction:column;width:100%;max-width:500px;margin:0 auto;padding:5.5rem 2.5rem;display:flex;position:relative}.generator-card{max-width:800px}.form-title,.generator-card h1{text-align:center;color:var(--text-primary);letter-spacing:.3px;font-size:2em;font-weight:700}.form-subtitle,.intro-text{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.98rem}.intro-text{max-width:600px;margin-left:auto;margin-right:auto}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{margin-bottom:1rem;position:relative}.form-field input,.form-field textarea{border:1px solid var(--border-color);width:100%;font-size:1rem;font-family:var(--font-family);color:var(--text-primary);border-radius:12px;padding:20px 15px 8px;transition:border-color .3s}.form-field input:focus,.form-field textarea:focus{border-color:var(--brand-primary);outline:none}.form-field .field-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin:6px 6px 0;padding:6px 10px;font-size:.85rem}.form-field input.input-error,.form-field textarea.input-error{box-shadow:0 0 0 3px #ef44441f;border-color:#ef4444!important}.form-field label{color:var(--text-secondary);pointer-events:none;background-color:var(--bg-card);padding:0 5px;transition:all .2s ease-out;position:absolute;top:14px;left:15px}.form-field input:focus+label,.form-field input:not(:placeholder-shown)+label,.form-field input[type=date]+label,.form-field select+label,.form-field textarea:focus+label,.form-field textarea:not(:placeholder-shown)+label{color:var(--brand-primary);font-size:12px;font-weight:600;top:-8px}.form-field select{border:1px solid var(--border-color);width:100%;font-size:1rem;font-family:var(--font-family);color:var(--text-primary);background-color:var(--bg-card);border-radius:12px;padding:20px 15px 8px;transition:border-color .3s}.form-field select:focus{border-color:var(--brand-primary);outline:none}.form-field select.input-error{box-shadow:0 0 0 3px #ef44441f;border-color:#ef4444!important}.age-dual-wrapper input[readonly]{color:var(--text-secondary);cursor:not-allowed;background:#f3f4f6}.form-field-group{border:1px solid var(--border-color);border-radius:12px;margin-bottom:1rem;padding:1rem 1.5rem .5rem}.photo-uploader{text-align:center;margin-bottom:1.5rem;position:relative}.photo-uploader label{cursor:pointer;display:inline-block;position:relative}.photo-uploader #photo-preview{object-fit:cover;border:3px dashed var(--border-color);border-radius:50%;width:100px;height:100px;margin:0 auto 10px;padding:5px;transition:all .3s;position:relative}.photo-uploader #photo-preview:hover{border-color:var(--brand-primary);transform:scale(1.05)}#photo-input{display:none}.steps-indicator{justify-content:space-between;align-items:center;gap:.5rem;max-width:440px;margin:0 auto 1rem;display:flex}.step-dot{flex-direction:column;align-items:center;gap:.25rem;display:flex}.step-dot>span{color:#111827;background:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;transition:all .25s;display:inline-flex;box-shadow:inset 0 0 0 2px #e5e7eb}.step-dot small{color:var(--text-secondary);font-size:.75rem;font-weight:600}.step-dot.is-active>span{background:var(--brand-primary);color:#fff;transform:scale(1.05);box-shadow:inset 0 0 0 2px #0000000d}.step-dot.is-done>span{background:var(--brand-success);color:#fff}.step-connector{background:#e5e7eb;border-radius:999px;flex:auto;height:3px;position:relative;overflow:hidden}.step-connector:after{content:"";background:var(--brand-primary);width:0%;transition:width .3s;position:absolute;top:0;bottom:0;left:0}@media (width<=640px){.form-header{margin-bottom:2.5rem}.container{padding-top:1rem;padding-bottom:calc(3rem + env(safe-area-inset-bottom,0px))}.form-card{margin-bottom:2rem}.steps-indicator{top:calc(56px + env(safe-area-inset-top,0px));z-index:50;background:var(--bg-card);border-radius:12px;padding:.5rem .75rem;position:sticky;box-shadow:0 6px 20px #0000000d}}.step-connector.is-filled:after{width:100%}progress#form-progress{appearance:none;background:#e5e7eb;border-radius:999px;width:100%;height:10px;overflow:hidden}progress#form-progress::-webkit-progress-bar{background-color:#e5e7eb}progress#form-progress::-webkit-progress-value{background:linear-gradient(90deg, var(--brand-primary), #f59e0b);border-radius:999px}progress#form-progress::-moz-progress-bar{background:linear-gradient(90deg, var(--brand-primary), #f59e0b)}.form-step{opacity:1;visibility:visible;min-height:200px;color:var(--text-primary);background:0 0;animation:.25s stepfade;display:block}.form-step.hidden{opacity:0;visibility:hidden;display:none!important}@keyframes stepfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form-card:hover{box-shadow:0 12px 30px #1530701f}.drag-hint{color:var(--text-secondary);opacity:.7;margin-top:5px;font-size:12px;font-style:italic;display:block}.photo-uploader.drag-over #photo-preview{border-color:var(--brand-primary);background-color:#f28b281a;transform:scale(1.1);box-shadow:0 0 20px #f28b284d}.photo-uploader.drag-over:after{content:"Suelta la imagen aquí";background:var(--brand-primary);color:#fff;z-index:10;pointer-events:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600;animation:1s infinite pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.photo-uploader.drag-invalid #photo-preview{border-color:var(--brand-danger);background-color:#e74c3c1a;animation:.5s ease-in-out shake}.photo-uploader.drag-invalid:after{content:"Solo se permiten imágenes";background:var(--brand-danger);color:#fff;z-index:10;pointer-events:none;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.form-field.shake-once,.photo-uploader.shake-once{will-change:transform;animation:.32s ease-in-out shake}@media (prefers-reduced-motion:reduce){.form-field.shake-once,.photo-uploader.shake-once{animation:none!important}}.whatsapp-checkbox,.privacy-checkbox{align-items:center;gap:10px;margin-top:10px;padding-left:5px;display:flex}.privacy-checkbox{margin-top:5px;margin-bottom:10px}.whatsapp-checkbox label{color:var(--text-secondary);cursor:pointer;font-size:.9em;font-weight:600}.privacy-checkbox label{color:var(--text-secondary);cursor:pointer;font-size:.85em;font-style:italic;font-weight:600}.whatsapp-checkbox input[type=checkbox],.privacy-checkbox input[type=checkbox]{appearance:none;border:2px solid var(--border-color);background-color:var(--bg-page);cursor:pointer;border-radius:6px;width:20px;height:20px;transition:all .2s;position:relative}.whatsapp-checkbox input[type=checkbox]:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}.privacy-checkbox input[type=checkbox]:checked{background-color:var(--brand-secondary);border-color:var(--brand-secondary)}.whatsapp-checkbox input[type=checkbox]:checked:after,.privacy-checkbox input[type=checkbox]:checked:after{content:"";border:3px solid #fff;border-width:0 3px 3px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.profile-card{background-color:var(--bg-card);width:100%;max-width:400px;box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--border-color);border-radius:24px;padding:140px 25px 30px;transition:all .4s ease-in-out;position:relative}#profile-photo{object-fit:cover;border:6px solid var(--bg-card);z-index:5;background:#f7f7f7;border-radius:50%;width:120px;min-width:80px;max-width:120px;height:120px;min-height:80px;max-height:120px;margin-top:4rem;transition:all .4s ease-in-out;display:block;position:absolute;top:-75px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 5px 20px #00000026}.profile-card{overflow:visible}#profile-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;margin:0 0 6px;font-size:clamp(1.6rem,6vw,2.2rem);font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}#profile-details{color:var(--text-secondary);margin-bottom:10px}#profile-address{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;margin-bottom:25px;display:flex}.icon-house{width:1.2em;height:1.2em;fill:var(--text-secondary)}.profile-card .section-title{text-align:left;color:var(--text-primary);margin-top:25px;margin-bottom:10px;font-weight:700}.observations-box,.medical-card{text-align:left;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin:0 0 25px;padding:15px}.medical-card:before{content:"⚕️ observaciones";color:#92400e;margin-bottom:8px;font-weight:700;display:block}[data-theme=dark] .observations-box,[data-theme=dark] .medical-card{color:var(--text-secondary);background:#f9731614;border-color:#fde68a40}.contact-buttons{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.contact-label{color:var(--text-secondary);text-align:center;margin-bottom:8px;font-size:.9em;font-weight:600}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.contact-buttons .button-row{flex-wrap:wrap;gap:10px;display:flex}.contact-buttons .button.success{flex:100%}.contact-buttons .button.primary{flex:48%}.contact-buttons .button:hover{transform:translateY(-3px)}.contact-buttons .button:active{transform:translateY(-1px)scale(.98)}.contact-buttons .button:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-primary) 60%, transparent);outline-offset:2px}.private-indicator{color:var(--brand-danger);vertical-align:middle;font-size:.8em;font-style:normal;font-weight:700}.profile-card.is-lost,.profile-card.profile-card--lost{z-index:1;background-color:#fff5f5;border:3px solid #b91c1c;position:relative;box-shadow:0 10px 40px #e74c3c4d}.profile-card--lost:before{content:"";z-index:-1;opacity:.05;background-image:url(/assets/patadise%C3%B1o-Bzjl7Mlh.webp);background-position:15px 15px,80px 80px;background-repeat:repeat,repeat;background-size:80px 80px;border:4px solid #e13838;padding-top:50px;position:absolute;inset:0}.lost-pet-banner{background-color:var(--brand-danger);color:#fff;text-align:center;border-radius:var(--card-radius);z-index:10;max-width:300px;margin:0 auto;padding:1rem 1.5rem;font-weight:700;text-decoration:none;animation:1.8s ease-in-out infinite pulse-danger;display:block;position:relative;box-shadow:0 5px 15px #e74c3c66}@keyframes pulse-danger{0%,to{transform:none;box-shadow:0 5px 15px #e74c3c66}50%{transform:none;box-shadow:0 8px 20px #e74c3c99}}.banner-title{text-transform:uppercase;margin:0 0 5px;font-size:1.2em}.banner-subtitle{opacity:.9;margin:0;font-size:.8em;font-weight:500;text-decoration:underline}.modal-overlay#login-modal-overlay .modal-content{color:#1e2a41;border:1.5px solid #e2e8f0;box-shadow:0 16px 48px #0003;background:#fff!important}.modal-overlay{-webkit-backdrop-filter:blur(3px)saturate(110%);z-index:10000;opacity:1;background:radial-gradient(100% 100% at 50% 0,#1e293ba6 0%,#1e293b8c 40%,#1e293b80 100%);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .25s;display:flex;position:fixed;top:0;left:0}.modal-overlay.hidden{opacity:0;pointer-events:none}.modal-content{background-color:var(--bg-card);text-align:center;opacity:0;visibility:hidden;border:1px solid var(--border-color);border-radius:20px;width:100%;max-width:500px;max-height:90vh;padding:2.5rem;transition:transform .2s,opacity .2s;position:relative;overflow-y:auto;transform:scale(.98);box-shadow:0 10px 40px #0003}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:30px;line-height:1;position:absolute;top:15px;right:20px}.modal-close:hover{color:var(--text-primary);transform:scale(1.05)}.modal-close:active{transform:scale(.98)}.modal-overlay:not(.hidden) .modal-content{opacity:1!important;visibility:visible!important;transform:scale(1)!important}.modal-overlay.is-open{opacity:1!important;pointer-events:auto!important}.modal-overlay.is-open .modal-content{opacity:1!important;visibility:visible!important;transform:scale(1)!important}.modal-content{z-index:1}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content{transition:none!important}}[data-theme=dark] .modal-overlay{background:radial-gradient(100% 100% at 50% 0,#020617bf 0%,#020617a6 50%,#02061799 100%)}.form-field input,.form-field textarea{transition:border-color .2s,box-shadow .2s,background-color .2s}.form-field input:focus,.form-field textarea:focus{background-color:#fffaf5;box-shadow:0 0 0 3px #f28b2826}.admin-btn,.cta-button,.button.primary,.button.success{transition:transform .15s,box-shadow .2s,background-color .2s}.admin-btn:hover,.cta-button:hover,.button.primary:hover,.button.success:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000014}.modal-icon-large{background-color:#eef4ff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1rem;display:inline-flex}.modal-icon-large svg{width:32px;height:32px;fill:var(--brand-secondary)}.modal-title .light-text{font-weight:400}.modal-title .bold-text{font-weight:800}.auth-modal .auth-card{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card) 85%, transparent), color-mix(in srgb, var(--bg-card) 92%, transparent));-webkit-backdrop-filter:saturate(120%)blur(6px);border:1px solid color-mix(in srgb, var(--border-color) 70%, transparent);box-shadow:0 20px 60px #00000038}.auth-header{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.auth-icon{background:radial-gradient(120% 120% at 0% 0%, #fff7ed 0%, #fff0 60%), linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 30%, #fff) 0%, #fff0 70%);width:56px;height:56px;color:var(--brand-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-primary) 35%, transparent), 0 6px 20px #00000014;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.auth-title{color:var(--text-primary);letter-spacing:.3px;text-align:center;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:800}.auth-subtitle{color:var(--text-secondary);text-align:center;font-size:.95rem}.auth-form{flex-direction:column;gap:.85rem;margin-top:.5rem;display:flex}.auth-input{position:relative}.auth-input input{border:1px solid var(--border-color);background:var(--bg-page);width:100%;color:var(--text-primary);font:inherit;border-radius:12px;padding:14px 14px 14px 42px;transition:border-color .2s,box-shadow .2s,background-color .2s,transform 80ms}.auth-input input::placeholder{color:color-mix(in srgb, var(--text-secondary) 70%, transparent)}.auth-input input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-primary) 25%, transparent);background:#fffaf5;outline:none}.auth-input:has(input:focus) .auth-input-icon{color:var(--brand-primary);transform:translateY(-50%)scale(1.05)}.auth-input-icon{color:var(--text-secondary);letter-spacing:.08em;-webkit-user-select:none;user-select:none;pointer-events:none;font-weight:800;transition:transform .12s,color .2s;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-btn{text-transform:none;letter-spacing:.3px;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:12px 16px;font-weight:800;display:inline-flex}.auth-btn.primary{background:linear-gradient(180deg, color-mix(in srgb, var(--brand-primary) 92%, #fff) 0%, var(--brand-primary) 100%);color:#fff;border:1px solid color-mix(in srgb, var(--brand-primary) 75%, transparent);box-shadow:0 10px 24px #f28b2840}.auth-btn.primary:hover{filter:saturate(1.05)brightness(1.02);transform:translateY(-1px)}.auth-btn.primary:active{transform:translateY(0)}.auth-error{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;margin-top:.25rem;padding:8px 10px;font-weight:700}.auth-meta{justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.auth-link{color:var(--text-secondary);text-underline-offset:3px;font-weight:600;text-decoration:underline}.auth-link:hover{color:var(--text-primary)}.auth-sep{color:color-mix(in srgb, var(--text-secondary) 70%, transparent)}[data-theme=dark] .auth-modal .auth-card{background:linear-gradient(180deg, color-mix(in srgb, var(--bg-card) 75%, transparent), color-mix(in srgb, var(--bg-card) 88%, transparent));border-color:color-mix(in srgb, var(--border-color) 50%, transparent);box-shadow:0 20px 60px #00000073}[data-theme=dark] .auth-input input{background:#0b1220;border-color:#1e293b}[data-theme=dark] .auth-input input:focus{background:#0b1220}@media (width<=420px){.auth-card{border-radius:16px;padding:1.5rem}.auth-title{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){.auth-input input,.auth-btn,.auth-input-icon{transition:none!important}}#admin-panel{grid-template-rows:auto auto;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1400px;margin:0 auto;padding:2rem;display:grid}.bento-box{background-color:#fff;border-radius:16px;flex-direction:column;padding:24px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 12px #0000000d}.bento-box:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000012}.admin-header{grid-area:1/1/1/-1;justify-content:space-between;align-items:center;margin-top:-7.5rem;display:flex}.stats-dashboard{flex-direction:row;grid-area:1/1/auto/-1;justify-content:space-around;align-items:center;margin-top:5rem}.stat-item{text-align:center}.stat-number{color:var(--text-primary);font-size:2.5rem;font-weight:700;display:block}.stat-title{color:var(--text-secondary);font-size:.9rem;font-weight:600}.pets-list-container{grid-area:2/1/auto/4}.pets-list-container h3{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin-top:0;margin-bottom:1.5rem;padding-bottom:1rem;font-size:1.5rem;font-weight:700}.tools-container{flex-direction:column;grid-area:2/4/auto/5;gap:1.5rem;display:flex}.tool-widget{text-align:center;justify-content:center;align-items:center;padding:24px;text-decoration:none}.tool-icon{margin-bottom:1rem;font-size:2.5rem}.tool-widget h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.tool-widget p{color:var(--text-secondary);margin:0;font-size:.85rem}.placa-info-card,.placa-selector-card{text-align:center;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1.5px solid #e2e8f0;border-radius:14px;margin:1.5rem 0;padding:1.25rem;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #0f172a0a,0 1px 2px #0f172a0f}.placa-info-card:before{content:"";background:linear-gradient(90deg,#0000,#f28b2814,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.placa-info-card:hover:before{left:100%}.placa-info-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 16px #0f172a14,0 2px 4px #0f172a0f}.placa-selector-card{background:linear-gradient(135deg,#fefefe 0%,#f9fafb 100%);margin-top:1rem;padding:1.5rem}.placa-info-card h4,.selector-title{color:#0f172a;letter-spacing:.3px;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.selector-title{margin-bottom:1rem;font-size:1.2em}.placa-status{flex-direction:column;align-items:center;gap:.5rem;display:flex}.status-label{color:var(--text-secondary);font-size:.85em}.placa-number{background:linear-gradient(135deg,#f28b28 0%,#e97a1f 100%);-webkit-text-fill-color:transparent;letter-spacing:1.5px;text-shadow:0 2px 4px #f28b2826;-webkit-background-clip:text;background-clip:text;font-family:Courier New,monospace;font-size:1.85em;font-weight:800;animation:2s ease-in-out infinite subtle-pulse}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.85}}.placa-update-info{color:var(--text-secondary);margin-top:.75rem;font-size:.8em}#placaSelectorList{border:1px solid var(--border-color);background-color:#f7f9fc;border-radius:12px;max-height:400px;padding:1rem;overflow-y:auto}.placa-cupo-btn,.cupo-item-tanda{text-align:center;cursor:pointer;color:#fff;border:none;border-radius:8px;padding:.75rem .5rem;font-weight:700;transition:all .2s}.placa-cupo-btn.disponible,.cupo-item-tanda.available{background-color:#1f7e078c}.placa-cupo-btn.disponible:hover{opacity:.8}.placa-cupo-btn.ocupado,.cupo-item-tanda.used{background-color:var(--brand-danger);cursor:not-allowed}.placa-cupo-btn.seleccionado{background-color:var(--brand-primary);transform:scale(1.1);box-shadow:0 0 10px #0003}.cupo-item-tanda:hover{transform:scale(1.1)}.hero-section{text-align:center;background-color:#eef4ff;padding:6rem 2rem}.hero-content{max-width:800px;margin:0 auto}.hero-title,.section-title{color:var(--text-primary);margin-bottom:1rem;font-size:3rem;font-weight:800;line-height:1.2}.section-title{text-align:center;margin-bottom:3rem;font-size:2rem}.hero-section p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.hero-section .cta-button{padding:1rem 2.5rem;font-size:1.1rem;text-decoration:none}.search-section,.features-section,.creation-process-section,.testimonials-section{padding:4rem 2rem}.creation-process-section{background-color:#eef4ff}.search-box{background-color:var(--bg-card);border-radius:var(--card-radius);max-width:600px;box-shadow:var(--card-shadow);text-align:center;margin:0 auto;padding:2.5rem}.search-box h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.search-box p{color:var(--text-secondary);margin-bottom:1.5rem}.search-form{gap:.5rem;display:flex}.search-form input{border:1px solid var(--border-color);border-radius:8px;flex-grow:1;padding:.8rem 1rem;font-size:1rem}.search-form button{background-color:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.8rem 1.5rem;font-weight:700;transition:background-color .2s}.search-form button:hover{background-color:#dd6b20}.features-container,.steps-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.testimonials-container{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:900px;margin:0 auto;display:grid}.feature-card,.testimonial-card{background-color:var(--bg-card);border-radius:var(--card-radius);text-align:center;box-shadow:var(--card-shadow);padding:2rem}.testimonial-card{text-align:left}.step{text-align:center}.icon-wrapper,.step-icon-wrapper{background-color:#eef4ff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1.5rem;display:inline-flex}.step-icon-wrapper{background-color:var(--bg-card);width:70px;height:70px;box-shadow:var(--card-shadow);border-radius:16px}.feature-icon,.step-icon{width:32px;height:32px;fill:var(--brand-secondary)}.step-icon{width:36px;height:36px;fill:var(--brand-primary)}.feature-card h4,.step h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.quote{margin-bottom:1.5rem;padding-left:2rem;font-style:italic;position:relative}.quote:before{content:"\"";color:var(--brand-primary);opacity:.3;font-size:3rem;position:absolute;top:-.5rem;left:0}.author{align-items:center;display:flex}.author img{border-radius:50%;width:50px;height:50px;margin-right:1rem}.author-info .name{color:var(--text-primary);font-weight:700;display:block}.author-info .stars{color:var(--brand-primary)}.main-footer{text-align:center;color:var(--text-light);background-color:#1e2a41;padding:2rem}.admin-link{color:var(--text-light);margin-top:.5rem;font-size:.9rem;text-decoration:none;transition:color .2s;display:block}.admin-link:hover{color:var(--brand-primary)}.generator-nav{border-bottom:1px solid var(--border-color);justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;display:flex}.nav-button{color:var(--text-secondary);font-weight:600;text-decoration:none;transition:color .3s}.nav-button:hover{color:var(--brand-primary)}.generator-actions{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.result-content{text-align:center;margin-top:2rem}.result-content h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5em;font-weight:700}#qr-code{border:1px solid var(--border-color);background:#fff;border-radius:8px;justify-content:center;margin-bottom:1.5rem;padding:1rem;display:flex}.divider{background-color:var(--border-color);height:1px;margin:1rem 0;position:relative}.divider:before{content:"o";background:var(--bg-card);color:var(--text-secondary);padding:0 .5rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#login-with-google{color:#3c4043;background:#fff;border:1px solid #dadce0}#login-with-google:hover{background:#f6f9fe;border-color:#d2e3fc}#login-with-google:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-primary) 60%, transparent);outline-offset:2px}#loader .spinner{border:3px solid #e5e7eb;border-top-color:var(--brand-primary);border-radius:50%;width:28px;height:28px;margin:0 auto .5rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#tandas-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;max-height:600px;padding-right:1rem;display:grid;overflow-y:auto}.tanda-card{background-color:var(--bg-page);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;padding:1.5rem;display:flex}.tanda-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.2em;font-weight:700}.tanda-info{color:var(--text-secondary);flex-grow:1;margin-bottom:1rem;font-size:.9em}.tanda-actions{gap:.5rem;margin-top:1rem;display:flex}.tanda-actions .admin-button{flex-grow:1}.status-card{background-color:var(--bg-page);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.status-item{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.status-item:not(:last-child){border-bottom:1px solid var(--border-color)}.status-value{color:var(--text-primary);font-size:1.1em;font-weight:700}.edit-info-text{color:var(--text-secondary);text-align:center;background-color:var(--bg-page);border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.9em}#placa-admin-section{border-top:1px solid var(--border-color);margin:1.5rem 0;padding-top:1.5rem}.placa-selector-actions{justify-content:flex-end;gap:1rem;display:flex}.admin-toggle{background-color:var(--bg-page);border-radius:12px;justify-content:space-between;align-items:center;margin:1rem 0;padding:1rem;display:flex}.toggle-switch{width:50px;height:28px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{cursor:pointer;background-color:#cbd5e1;border-radius:28px;transition:all .4s;position:absolute;inset:0}.toggle-switch .slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:4px;left:4px}.toggle-switch input:checked+.slider{background-color:var(--brand-danger)}.toggle-switch input:checked+.slider:before{transform:translate(22px)}.placa-info-card.next-placa-card{opacity:0;transform-origin:top;max-height:0;margin:0;padding:0;transition:all .4s cubic-bezier(.4,0,.2,1),opacity .3s,max-height .4s,margin .3s,padding .3s;overflow:hidden;transform:scaleY(0)}.placa-info-card.next-placa-card.visible{opacity:1;max-height:200px;margin:1.5rem 0;padding:1.25rem;animation:.5s cubic-bezier(.34,1.56,.64,1) slide-in-down;transform:scaleY(1)}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-20px)scaleY(.8)}to{opacity:1;transform:translateY(0)scaleY(1)}}.modern-placa-card.disabled{opacity:.5;filter:grayscale(.6);pointer-events:none;transition:all .4s cubic-bezier(.4,0,.2,1);transform:scale(.98)}.modern-placa-card.disabled:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(45deg,#0000,#0000 10px,#94a3b808 10px 20px);border-radius:14px;position:absolute;inset:0}.modern-placa-card:not(.disabled){opacity:1;filter:grayscale(0);transition:all .4s cubic-bezier(.4,0,.2,1);transform:scale(1)}.modern-placa-card{transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}#qr-admin-section{text-align:center;background-color:var(--bg-page);border-radius:12px;margin-top:1.5rem;padding:1.5rem}#qr-admin-section h5{color:var(--text-primary);margin-bottom:1rem;font-size:1.2em;font-weight:600}#admin-qr-code{justify-content:center;margin-bottom:1.5rem;display:flex}.admin-qr-actions{justify-content:center;gap:1rem;display:flex}.tanda-selector{border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1rem}.tanda-accordion-item{border:1px solid var(--border-color);border-radius:12px;margin-bottom:.75rem;transition:all .3s;overflow:hidden}.tanda-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:all .2s;display:flex}.tanda-accordion-header:hover{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}.tanda-accordion-header h6{color:var(--text-primary);flex:1;margin:0;font-size:1.05em;font-weight:700}.tanda-stats{color:#166534;background-color:#dcfce7;border-radius:9999px;margin-right:.75rem;padding:.25rem .75rem;font-size:.85em;font-weight:600}.tanda-stats-full{color:#b91c1c;background-color:#fee2e2;border-radius:9999px;margin-right:.75rem;padding:.25rem .75rem;font-size:.85em;font-weight:600}.tanda-accordion-icon{color:var(--text-secondary);transition:transform .3s}.tanda-accordion-item.active .tanda-accordion-icon{transform:rotate(180deg)}.tanda-accordion-content{max-height:0;padding:0 1.25rem;transition:max-height .3s,padding .3s;overflow:hidden auto}.tanda-accordion-item.active .tanda-accordion-content{max-height:800px;padding:1rem 1.25rem 1.25rem}.tanda-selector-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.tanda-selector-header h6{color:var(--text-primary);font-size:1.1em;font-weight:700}.disponible-badge{border-radius:9999px;padding:.25rem .75rem;font-size:.85em;font-weight:600}.disponible-badge.full{color:#b91c1c;background-color:#fee2e2}.disponible-badge.low{color:#e28239;background-color:#fef3c7}.disponible-badge.high{color:#166534;background-color:#dcfce7}.placa-cupos-grid,.cupos-grid-container{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem;display:grid}.cupos-grid-container{background-color:#f0f0f0;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));margin-top:1rem;padding:.5rem}#qr-info{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.info-field{flex-direction:column;display:flex}.info-field label{color:var(--text-secondary);margin-bottom:.25rem;font-size:.9em;font-weight:600}.info-field input{border:1px solid var(--border-color);width:100%;font-size:1rem;font-family:var(--font-family);color:var(--text-primary);background-color:var(--bg-page);border-radius:8px;padding:.75rem 1rem}@media (width<=1200px){#admin-panel{grid-template-columns:repeat(2,1fr)}.pets-list-container{grid-area:2/1/auto/-1}.tools-container{grid-column:1/5}}@media (width<=768px){body.admin-page{padding:1rem}#admin-panel{grid-template-columns:1fr}.pets-list-container,.tool-widget{grid-area:auto/1/auto/-1}.admin-header{z-index:10;flex-direction:column;grid-column:1/3;align-items:flex-start;gap:1rem;margin-bottom:10rem;padding-top:5rem}.hero-title,.section-title{font-size:2rem}.form-grid{grid-template-columns:1fr}}@media (width<=576px){.pet-item{flex-direction:column;align-items:flex-start;gap:.75rem}.pet-item-actions{align-self:flex-end;margin-top:.5rem}.search-form{flex-direction:column}.button-row{grid-template-columns:1fr}}.profile-wrapper{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:500px;margin:0 auto;padding:0 1rem;display:flex;position:relative;overflow:hidden}.profile-container-inner{justify-content:center;width:100%;max-width:400px;margin:0 auto;display:flex;position:relative}.lost-pet-banner{background-color:var(--brand-danger);color:#fff;text-align:center;border-radius:var(--card-radius);z-index:10;box-sizing:border-box;width:100%;max-width:100%;margin:0 auto 1rem;padding:1rem 1.5rem;font-weight:700;text-decoration:none;animation:1.8s ease-in-out infinite pulse-danger;display:block;position:relative;box-shadow:0 5px 15px #e74c3c66}.profile-card.is-lost,.profile-card.profile-card--lost{z-index:1;background-color:#fff5f5;border:3px solid #b91c1c;max-width:100%;position:relative;box-shadow:0 8px 25px #e74c3c40}.profile-card--lost:before{content:"";z-index:-1;opacity:.05;border-radius:inherit;pointer-events:none;background-image:url(/assets/patadise%C3%B1o-Bzjl7Mlh.webp);background-position:15px 15px;background-repeat:repeat;background-size:80px 80px;position:absolute;inset:0}@media (width<=768px){.profile-wrapper{max-width:100vw;padding:0 .5rem}.profile-container-inner{max-width:100%}.profile-card{padding:120px 20px 25px}.lost-pet-banner{padding:.8rem 1rem;font-size:.9rem}.banner-title{font-size:1.1em}.banner-subtitle{font-size:.75em}#register-form-container{max-width:100%;padding:0 .5rem}.form-card{padding:6rem 1.5rem 2rem}}.container{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem;overflow-x:hidden}.public-map-box{box-sizing:border-box;background-color:#f0f0f0;border-radius:12px;width:100%;max-width:100%;height:clamp(220px,55vw,320px);overflow:hidden}.public-map-box img{max-width:none!important}#public-map-section{border-radius:8px;width:100%;max-width:100%;margin:1rem auto 0;overflow:hidden;box-shadow:0 2px 8px #0000001a}#public-map-container{background-color:#f0f0f0;border-radius:8px;width:100%;height:250px;min-height:200px;padding-bottom:26rem;overflow:hidden}.container{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:100vw;margin:0 auto;padding:1rem;display:flex;overflow-x:hidden}#pet-profile-container{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;max-width:min(400px,100vw - 2rem);margin:0 auto;display:flex;position:relative}.lost-pet-banner{background-color:var(--brand-danger);color:#fff;text-align:center;box-sizing:border-box;z-index:5;border-radius:12px;width:100%;max-width:100%;margin:0 0 .5rem;padding:1rem;font-weight:700;text-decoration:none;animation:1.8s ease-in-out infinite pulse-danger;display:block;position:relative;transform:none!important}.profile-card{background-color:var(--bg-card);width:100%;max-width:100%;box-shadow:var(--shadow-lg);text-align:center;border:1px solid var(--border-color);box-sizing:border-box;border-radius:20px;margin:0 auto;padding:120px 20px 25px;transition:all .3s;position:relative;overflow:visible}.profile-card.is-lost,.profile-card.profile-card--lost{background-color:#fff5f5;border:3px solid #b91c1c;width:100%;max-width:100%;position:relative;box-shadow:0 8px 25px #e74c3c40;transform:none!important}#profile-photo{object-fit:cover;border:4px solid var(--bg-card);z-index:10;background:#f7f7f7;border-radius:50%;width:100px;height:100px;position:absolute;top:-50px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00000026}#public-map-section{box-sizing:border-box;border-radius:12px;width:100%;max-width:min(400px,100vw - 2rem);margin:1rem auto 0;padding:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}#public-map-container{background-color:#f0f0f0;border-radius:12px;width:100%;height:250px;overflow:hidden}@media (width>=1024px){.container{flex-direction:column;align-items:center;max-width:1200px;padding:2rem;display:flex}.desktop-profile-layout{flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:500px;display:flex}#pet-profile-container{width:100%;max-width:500px}#public-map-section{width:100%;max-width:500px;margin-top:2rem}.profile-card{padding:140px 30px 30px}#profile-photo{width:120px;height:120px;top:-60px}}@media (width<=768px){.container{width:100vw;max-width:100vw;padding:.5rem;overflow-x:hidden}#pet-profile-container{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);margin:0;padding:0}.lost-pet-banner{width:400px;margin:0 0 .5rem;padding:.8rem;font-size:.9rem}.banner-title{margin-bottom:.25rem;font-size:1em}.banner-subtitle{font-size:.75em}.profile-card{border-radius:16px;width:100%;padding:100px 15px 20px}#profile-photo{border-width:3px;width:80px;height:80px;top:-40px}#public-map-section{width:100%;max-width:100%;margin-top:.5rem}#public-map-container{height:200px}}@media (width<=320px){.container{padding:.25rem}#pet-profile-container{width:calc(100vw - .5rem);max-width:calc(100vw - .5rem)}.profile-card{padding:90px 10px 15px}.lost-pet-banner{padding:.6rem;font-size:.8rem}}.contact-buttons{box-sizing:border-box;width:100%;max-width:100%}.button-row{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.button{box-sizing:border-box;text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:100%;overflow:hidden}.photo-modal-overlay{z-index:3000;opacity:1;background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.photo-modal-overlay.hidden{opacity:0;pointer-events:none}.photo-modal-overlay #modal-photo{border-radius:12px;max-width:90vw;max-height:90vh;box-shadow:0 10px 30px #0000004d}.modal-close-photo{color:#fff;cursor:pointer;text-shadow:0 2px 5px #00000080;background:0 0;border:none;font-size:2.5rem;line-height:1;position:absolute;top:20px;right:30px}.admin-sidebar{border-right:2px solid var(--brand-primary);z-index:100;background:#fff;flex-direction:column;align-items:stretch;width:220px;height:100vh;padding-top:0;transition:left .3s;display:flex;position:fixed;top:0;left:0;box-shadow:2px 0 16px #f28b2812}.admin-sidebar .sidebar-header{border-bottom:1.5px solid var(--brand-primary);align-items:center;gap:.7rem;padding:1.5rem 1.2rem 1rem;display:flex}.admin-sidebar .sidebar-logo{color:var(--brand-primary);font-size:2.1rem}.admin-sidebar .sidebar-title{color:var(--brand-primary);letter-spacing:1px;font-size:1.3rem;font-weight:800}.admin-sidebar .sidebar-menu{flex:1;margin:0;padding:1.2rem 0 0;list-style:none}.admin-sidebar .sidebar-menu li{margin-bottom:.7rem}.admin-sidebar .sidebar-menu a{color:var(--brand-primary);border-radius:8px 0 0 8px;align-items:center;gap:.7rem;padding:.8rem 1.5rem;font-size:1.08em;font-weight:700;text-decoration:none;transition:background .18s,color .18s;display:flex}.admin-sidebar .sidebar-menu a:hover{background:var(--brand-primary);color:#fff}.main-content-with-sidebar{margin-left:220px;transition:margin-left .3s}@media (width<=900px){.admin-sidebar{display:none}.main-content-with-sidebar{margin-left:0}}.admin-actions-group{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-qr-group{margin-bottom:1.5rem}.admin-qr-btns{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:.7rem;display:flex}.admin-lost-map-group{margin-bottom:.5rem}.admin-lost-label{color:var(--brand-primary);margin-right:1rem;font-weight:600}.admin-map-title{color:var(--brand-primary);margin-bottom:.7rem}.admin-map-container{border-radius:8px;width:100%;height:250px;margin-bottom:.7rem}@media (width<=600px){.admin-actions-group,.admin-qr-btns{flex-direction:column;align-items:stretch;gap:.5rem}}@media (width<=768px){@keyframes cardFullScreenEntry{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes cardSlideDownBounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes tagFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}#profile-photo{transition:none!important;position:relative!important}.profile-photo-container,.profile-card>div:first-child{transition:height .3s;overflow:hidden;height:auto!important;min-height:auto!important}body.animation-running{overflow:hidden!important}body.animation-running .form-header{transition:opacity .3s;opacity:0!important}body.animation-running .white-card-content{z-index:9999!important;border-radius:0!important;min-height:130vh!important;margin-top:0!important;padding-top:80px!important;transition:none!important;position:relative!important;transform:translateY(-50vh)!important}body.animation-running #profile-photo{position:relative!important;transform:none!important}body.animation-running .profile-wrapper,body.animation-running .profile-card{overflow:visible!important}body.animation-running #profile-photo{z-index:1!important;position:relative!important}body.animation-running .profile-photo-container,body.animation-running .profile-card>div:first-child{height:auto!important;min-height:auto!important;overflow:visible!important}body.animation-running .profile-wrapper,body.animation-running .profile-container-inner,body.animation-running .container{position:relative!important;transform:none!important}.profile-wrapper.bouncing-down .profile-card,.white-card-content.bouncing-down{animation:.6s ease-out forwards cardSlideDownBounce}.white-card-content{transition:transform .35s,opacity .25s}.profile-photo-skeleton{border-radius:inherit;z-index:1;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%) 0 0/200% 100%;width:100%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:0}.profile-photo-wrapper{position:relative;overflow:hidden}.profile-photo-wrapper img{opacity:0;z-index:2;transition:opacity .4s ease-in-out;position:relative}.profile-photo-wrapper img.loaded{opacity:1}.pestplay-decoration{opacity:0;pointer-events:none;z-index:10000;box-sizing:border-box;width:100%;max-width:320px;height:auto;margin:0 auto;padding:0;transition:opacity .5s,transform .5s;display:none;position:relative;transform:scale(.9)}body.animation-running .pestplay-decoration{opacity:1;margin:30px auto;padding:-200px 20px 0;transform:scale(1.5);display:block!important}body:not(.animation-running) .pestplay-decoration{opacity:0!important;height:0!important;margin:0!important;padding:0!important;display:none!important;overflow:hidden!important}.profile-meta.animated>*{animation:.4s ease-out backwards tagFadeIn}.profile-meta.animated>:first-child{animation-delay:.1s}.profile-meta.animated>:nth-child(2){animation-delay:.2s}.profile-meta.animated>:nth-child(3){animation-delay:.3s}.contact-buttons button{position:relative;overflow:hidden}.contact-buttons button:before{content:"";background:#ffffff80;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-buttons button:active:before{width:300px;height:300px}.contact-buttons button:active,.admin-btn:active,.cta-button:active{transition:transform .1s;transform:scale(.96)}}@media (width>=768px){.profile-card.entering-fullscreen{animation:none!important;position:static!important}.top-mascota-container{display:none!important}.profile-wrapper.bouncing-down .profile-card{animation:none!important}}
