:root{--ink:#193451;--muted:#667e95;--blue:#248bce;--pale:#eaf5ff;--border:#dceaf5;--shadow:0 9px 28px rgba(28,78,116,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f9fd;color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Arial,sans-serif}button,input{font:inherit}a{color:var(--blue)}.wrap{max-width:620px;margin:0 auto;background:white;min-height:100vh}.hero{height:320px;background:radial-gradient(circle at 14% 25%,#fff9 0 5px,transparent 6px),radial-gradient(circle at 87% 68%,#fff9 0 7px,transparent 8px),linear-gradient(145deg,#d7edff,#eaf7ff 68%,#d9f2f5);display:flex;align-items:center;flex-direction:column;justify-content:center;gap:12px;border-radius:0 0 36px 36px}.brand{font-size:27px;font-weight:800;letter-spacing:-1px;color:#1c527a}.brand-light{font-weight:400;color:#479fcb}.paw{font-size:24px}.avatar{height:184px;width:184px;border:7px solid white;border-radius:50%;box-shadow:0 10px 25px #5583a33d;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:80px;background:#f0f8ff}.avatar img{height:100%;width:100%;object-fit:cover}.hero-label{font-size:12px;color:#4f819d;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.intro{text-align:center;padding:24px 24px 4px}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:800;color:#5a9abf}.intro h1{font-size:43px;line-height:1.1;margin:7px 0 4px;letter-spacing:-1.5px}.heart{font-size:21px;color:#f49a9c;vertical-align:middle}.subtitle{margin:0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.stats div{border-radius:17px;background:#e5f4ff;padding:15px 5px}.stats div:nth-child(2){background:#fff2d9}.stats div:nth-child(3){background:#e7f6e5}.stats b,.stats small{display:block}.stats b{font-size:17px}.stats small{font-size:12px;color:#687b8e}.find-card{border-radius:24px;background:#eaf5ff;padding:23px 20px 18px;margin:15px 0 8px;text-align:center}.find-icon{font-size:32px}.find-card h2{font-size:23px;margin:5px 0 8px}.find-card p{color:#4f6e85;font-size:14px;margin:0 0 18px}.blue,.green{display:block;width:100%;border:0;border-radius:15px;background:linear-gradient(110deg,#49a9e3,#1d82c7);color:white;padding:15px 16px;font-weight:750;text-decoration:none;text-align:center;cursor:pointer;box-shadow:0 5px 12px #2788c029}.blue:hover,.call:hover,.green:hover{filter:brightness(.96)}.find-card .status{margin:12px 0 0;font-weight:600;min-height:0}.lost{background:#fff0d5;border:1px solid #f4d19b;padding:16px;border-radius:16px;margin:14px 0}.lost strong,.lost span{display:block}.content-section{padding:22px 24px 2px}.section-heading{display:flex;align-items:center;gap:11px}.section-heading h2{font-size:23px;letter-spacing:-.5px;margin:0}.section-icon{height:37px;width:37px;border-radius:12px;display:grid;place-items:center;background:#e8f4fd;color:#2787be;font-size:19px}.section-subtitle{color:var(--muted);font-size:14px;margin:6px 0 15px}.card{border:1px solid var(--border);background:#f9fcff;border-radius:19px;padding:20px;margin:14px 0;box-shadow:var(--shadow)}.contact{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-info{min-width:0}.contact-index{font-size:11px;font-weight:800;letter-spacing:.11em;color:#6594b3}.contact h3,.vet h3{margin:3px 0 4px;font-size:19px}.contact p,.vet p{margin:5px 0}.phone-number{color:#4c718c}.address{white-space:pre-line;overflow-wrap:anywhere;color:#607d92;font-size:14px}.call{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:82px;padding:12px 9px;background:#def5e1;color:#1c7b43;border-radius:15px;text-decoration:none;font-size:23px;font-weight:800}.call span{font-size:12px}.traits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.traits div{background:#edf6fc;border-radius:13px;padding:11px}.traits span,.traits strong{display:block}.traits span{font-size:13px;color:#617e93}.traits strong{margin-top:3px}.notes{border-top:1px solid var(--border);margin-top:17px;padding-top:14px}.notes p{margin:5px 0 0;white-space:pre-line}.green{background:linear-gradient(110deg,#4fbc81,#239a64);margin-top:15px}.profile-page footer{text-align:center;padding:40px 20px 28px;color:#7990a3;font-size:12px}.profile-page footer span{font-size:17px;font-weight:800;color:#4a95be}.profile-page footer p{margin:4px}.admin{padding:25px;background:#f5f9fd}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-pill{background:#dff0fc;color:#397da6;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:700}.admin h1{font-size:31px;line-height:1.2;margin:26px 0 6px}.admin-sub,.help{color:var(--muted);font-size:14px}.admin-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.admin-links a{background:white;border:1px solid var(--border);border-radius:12px;padding:10px 13px;text-decoration:none;font-size:14px;font-weight:700}.admin-panel{background:white;border:1px solid var(--border);border-radius:21px;padding:22px;margin:17px 0;box-shadow:var(--shadow)}.admin-panel h2{font-size:20px;margin:0 0 16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.admin label{display:block;font-weight:650;font-size:14px}.admin input:not([type=checkbox]){display:block;width:100%;padding:11px;border:1px solid #c8d9e6;border-radius:10px;margin-top:5px;background:#fcfeff;color:var(--ink);min-width:0}.admin input:focus-visible,.admin button:focus-visible,.profile-page a:focus-visible,.profile-page button:focus-visible{outline:3px solid #8dc8ee;outline-offset:2px}.person-group{border:1px solid #dceaf5;border-radius:15px;margin:15px 0;padding:15px;min-width:0}.person-group legend{font-size:14px;font-weight:800;color:#347ca7;padding:0 6px}.admin .check{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin:15px 0 0}.admin .check input{width:19px;height:19px;flex:none;margin:2px 0;accent-color:#218bcc}.save-bar{position:sticky;bottom:0;background:#f5f9fdee;padding:13px 0;backdrop-filter:blur(6px)}.photo-form input[type=file]{margin:12px 0 16px}.logout{text-align:center;padding:12px 0 35px}.outline{background:white;border:1px solid #b4c9d8;border-radius:11px;padding:11px 23px;color:#47677f;cursor:pointer}.status:empty{display:none}@media(max-width:430px){.hero{height:290px}.avatar{height:158px;width:158px}.intro,.content-section{padding-left:17px;padding-right:17px}.intro h1{font-size:38px}.stats{gap:6px}.stats b{font-size:14px}.stats small{font-size:11px}.contact{padding:16px}.admin{padding:15px}.admin-panel{padding:17px}.form-grid{grid-template-columns:1fr}}

/* Caña gallery v1.6 */
.cana-gallery{display:flex;justify-content:center;gap:10px;margin:18px auto 2px;max-width:350px}.cana-gallery-item{width:96px;height:96px;border-radius:15px;overflow:hidden;background:#e9f3fb;box-shadow:0 2px 9px #244d7317;flex:none}.cana-gallery-item[hidden]{display:none}.cana-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.gallery-admin-item{padding:12px;border:1px solid #d7e5ef;border-radius:14px}.gallery-admin-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;margin:8px 0}.gallery-admin-item input[type=file]{width:100%;max-width:100%;font-size:13px}.gallery-admin-item button{margin-top:8px}.gallery-admin-item form{margin:8px 0}@media(max-width:380px){.cana-gallery-item{width:82px;height:82px}}

/* Caña Galerie – Lightbox */
#cana-lightbox {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 24px;
  border: 0;
  background: transparent;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
}
#cana-lightbox[open] {
  display: flex;
}
#cana-lightbox::backdrop {
  background: rgba(10, 25, 40, .88);
}
#cana-lightbox img {
  display: block;
  max-width: 95%;
  max-height: 85dvh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
}
.cana-lightbox-close {
  position: absolute;
  top: max(12px, env(safe-area-inset-top));
  right: 18px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: white;
  color: #173b58;
  font-size: 30px;
  cursor: pointer;
  z-index: 2;
}
.cana-gallery-item {
  cursor: zoom-in;
}

/* Lightbox kompakter */
#cana-lightbox img {
  max-width: min(500px, 85vw);
  max-height: min(500px, 70dvh);
  width: auto;
  height: auto;
}
