:root{--navy:#071a3d;--purple:#4f1fe6;--purple-dark:#3513ad;--orange:#ff6500;--bg:#f4f7fd;--white:#fff;--muted:#647089;--border:#e4e9f3;--success:#087a4c;--danger:#bd1e32;--shadow:0 12px 34px rgba(32,48,88,.1);--radius:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
a{color:var(--purple);text-decoration:none}
button,input{font:inherit}
.container{width:min(1120px,calc(100% - 32px));margin-inline:auto}
.skip-link{position:fixed;top:-60px;left:16px;z-index:99;background:var(--navy);color:#fff;padding:12px;border-radius:8px}.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:grid;grid-template-columns:auto auto;align-items:center;color:var(--navy);font-size:22px;font-weight:900;line-height:1}.brand>span span{color:var(--orange)}.brand-paw{font-size:28px;margin-right:7px}.brand small{grid-column:2;font-size:9px;font-weight:600;color:var(--muted);margin-top:4px}
.main-nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:650}.main-nav a:not(.btn),.nav-link{color:var(--navy)}.main-nav form{margin:0}.nav-link{background:none;border:0;padding:0;cursor:pointer}
.menu-toggle{display:none;background:transparent;border:0;font-size:24px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;border:1px solid transparent;border-radius:10px;font-weight:800;cursor:pointer;transition:.18s transform,.18s box-shadow}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(79,31,230,.2)}.btn:focus-visible,input:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ffb477;outline-offset:3px}.btn-primary{background:var(--purple);color:#fff}.btn-orange{background:var(--orange);color:#fff}.btn-outline{border-color:var(--purple);color:var(--purple);background:#fff}.btn-small{min-height:40px;padding:0 16px}
.hero{padding:58px 0;background:radial-gradient(circle at 75% 20%,#fff 0,#eef2fc 38%,transparent 65%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:50px;min-height:440px}.eyebrow{display:inline-block;color:var(--purple);font-weight:850;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.hero h1,.auth-card h1,.section h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.045em;line-height:.98;margin:16px 0}.lead{font-size:20px;color:var(--muted);max-width:600px}.button-row{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero-card{background:linear-gradient(145deg,#fff,#edf0ff);padding:40px;border:1px solid #fff;border-radius:28px;box-shadow:var(--shadow);transform:rotate(1deg)}.hero-card h2{font-size:30px;line-height:1.1}.hero-card p{color:var(--muted)}.pet-symbol{font-size:68px;letter-spacing:-18px}
.section{padding:72px 0}.section-heading{text-align:center;margin-bottom:32px}.section-heading h2{font-size:36px;margin:8px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.stat-card,.auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:24px}.card h3{margin:12px 0 4px}.card p{color:var(--muted);margin:0}.step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f0ebff;color:var(--purple);font-weight:900}
.auth-section{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:50px 16px}.auth-card{width:min(500px,100%);padding:38px}.auth-card.auth-wide{width:min(760px,100%)}.auth-card h1{font-size:42px}.auth-card>p{color:var(--muted)}.form-stack,.form-grid{display:grid;gap:18px;margin-top:24px}.form-grid{grid-template-columns:1fr 1fr}.form-stack label,.form-grid label{display:grid;gap:7px;font-size:14px;font-weight:750}.form-stack input,.form-grid input{width:100%;height:48px;border:1px solid #ccd4e3;border-radius:9px;padding:0 13px;color:var(--navy);background:#fff}.form-stack input:focus,.form-grid input:focus{border-color:var(--purple)}.full{grid-column:1/-1}.checkbox{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center}.checkbox input{width:18px;height:18px}.form-links{display:flex;justify-content:space-between;margin-top:22px;font-size:14px}
.flash{margin-top:18px;padding:14px 18px;border-radius:10px;font-weight:650}.flash.success{background:#e1f7ed;color:var(--success)}.flash.error{background:#ffebee;color:var(--danger)}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.dashboard-head h1{font-size:48px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat-card{padding:24px}.stat-card strong{display:block;font-size:34px}.stat-card span{color:var(--muted)}.empty-state{text-align:center;padding:48px}
.install-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:24px;align-items:start}.check-list{padding:0;list-style:none}.check-list li{padding:8px 0;border-bottom:1px solid var(--border)}.check-list .ok{color:var(--success)}.check-list .fail{color:var(--danger)}
.site-footer{background:var(--navy);color:#c8d0df;padding:34px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{color:#fff}.site-footer p{font-size:13px}
.footer-credits{text-align:right}.footer-credits p{margin:0 0 4px}.footer-credits a{color:#fff;font-size:13px;font-weight:800}.footer-credits a:hover{color:#ff8a3d;text-decoration:underline}
.btn-install{background:#fff3e9;color:#c94f00;border-color:#ffb47c;white-space:nowrap}.btn-install[hidden]{display:none}
.moderation-box{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:12px;background:#f8f9fd}.moderation-preview{width:110px;height:90px;border-radius:9px;overflow:hidden;background:#eceff6}.moderation-preview img{width:100%;height:100%;object-fit:cover}.moderation-box p{margin:4px 0;color:var(--muted)}.moderation-loading{border-color:#8b6cff;background:#f3f0ff}.moderation-approved{border-color:#39b77a;background:#eaf9f1}.moderation-review{border-color:#f3a53e;background:#fff6e8}.moderation-rejected{border-color:#e3515e;background:#fff0f2}.btn:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none}
.moderation-admin-grid{display:grid;gap:18px}.moderation-admin-card{display:grid;grid-template-columns:260px 1fr;gap:22px}.moderation-admin-card>img{width:260px;height:220px;object-fit:cover;border-radius:12px}.moderation-actions{display:flex;gap:10px;margin-top:16px}@media(max-width:700px){.moderation-box,.moderation-admin-card{grid-template-columns:1fr}.moderation-admin-card>img{width:100%}.moderation-actions{flex-direction:column}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:800px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero{padding:36px 0}.hero-grid{grid-template-columns:1fr;min-height:auto;gap:25px}.hero-card{display:none}.hero h1{font-size:43px}.button-row .btn{width:100%}.steps,.stats-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.install-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;flex-direction:column}.footer-inner{flex-direction:column;align-items:flex-start}.footer-credits{text-align:left}.section{padding:48px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.reference-hero{min-height:520px;background-color:#f6f8fd;background-image:url("../images/hero-pets.png");background-position:center;background-size:cover;background-repeat:no-repeat;position:relative;overflow:hidden}
.hero-content{padding-top:52px;padding-bottom:54px;position:relative;z-index:2}.hero-content h1{font-size:clamp(42px,4.6vw,68px);line-height:.94;letter-spacing:-.05em;margin:0 0 18px;max-width:600px}.hero-content>p{font-size:18px;color:#46536c;margin:0;max-width:570px}.hero-stats{display:grid;grid-template-columns:repeat(3,190px);gap:14px;margin-top:24px}.hero-stats div{background:rgba(255,255,255,.95);min-height:74px;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;justify-content:center}.hero-stats strong{font-size:22px;line-height:1.1;display:block}.hero-stats span{font-size:11px;line-height:1.25;color:var(--muted);display:block;margin-top:4px}
.search-strip{margin-top:-28px;position:relative;z-index:4}.search-box{width:min(800px,100%);margin-inline:auto;background:#fff;padding:14px;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;box-shadow:var(--shadow)}.search-box input{width:100%;min-width:0;height:48px;border:1px solid var(--border);border-radius:10px;padding:0 18px;font-size:16px}
.recent-section{padding-top:44px}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title-row h2{margin:0}.pet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pet-card{background:#fff;border-radius:13px;overflow:hidden;box-shadow:var(--shadow);position:relative}.pet-card img,.pet-card-empty{width:100%;height:160px;object-fit:cover}.pet-card-empty{display:grid;place-items:center;background:#ece8ff;font-size:52px}.pet-card-body{padding:14px}.pet-card-body h3{margin:0 0 3px}.pet-card-body p{font-size:13px;color:var(--muted);margin:4px 0}.status-badge{position:absolute;top:10px;left:10px;color:#fff;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:800}.status-badge.lost{background:#ef2c38}.status-badge.found{background:#19ad61}.status-badge.sighting{background:#f39a20}
.map-section{padding:10px 0 20px}.map-panel{display:grid;grid-template-columns:320px minmax(0,1fr);height:300px;background:#e8ecff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.map-copy{padding:30px}.map-copy h2{font-size:30px;line-height:1.05;margin-top:0}.map-copy p,.muted{color:var(--muted)}.home-map,.form-map{display:block;width:100%;height:300px;min-height:300px;position:relative;z-index:1;background:#dde4f3}.final-cta{margin-top:24px;background:#ece7ff;padding:20px 28px;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.alert-form-wrap{max-width:920px}.form-intro h1{font-size:48px;margin-bottom:10px}.alert-form{display:grid;gap:26px}.alert-form select,.alert-form textarea{width:100%;border:1px solid #ccd4e3;border-radius:9px;padding:13px;background:#fff}.type-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border:0;padding:0}.type-options legend{font-size:20px;font-weight:850;margin-bottom:12px}.type-options label{border:2px solid var(--border);border-radius:12px;padding:18px;font-weight:800;cursor:pointer}.type-options label:has(input:checked){border-color:var(--purple);background:#f2efff}.btn-submit-alert{width:100%;font-size:18px}
@media(max-width:800px){.reference-hero{background-image:linear-gradient(to bottom,rgba(255,255,255,.06) 0,rgba(246,248,253,.2) 250px,#f6f8fd 320px),url("../images/hero-pets.png");background-position:68% top;background-size:auto 320px;min-height:700px}.hero-content{padding-top:330px;padding-bottom:70px;text-align:center}.hero-content>p br{display:none}.hero-stats{grid-template-columns:repeat(3,minmax(140px,1fr));overflow-x:auto;text-align:left;padding-bottom:8px}.hero-stats div{min-width:140px}.search-strip{margin-top:-34px}.search-box{grid-template-columns:1fr}.pet-grid{grid-template-columns:1fr}.map-panel{grid-template-columns:1fr;height:auto}.home-map{height:340px;min-height:340px}.type-options{grid-template-columns:1fr}.final-cta{align-items:flex-start;flex-direction:column;gap:18px}}
.pet-card-link{display:block;color:inherit;transition:transform .18s,box-shadow .18s}.pet-card-link:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(32,48,88,.16)}.pet-card-empty{color:var(--navy);text-decoration:none;flex-direction:column;gap:8px}.pet-card-empty small{font-size:13px}.card-actions{display:flex;gap:16px;margin-top:12px;border-top:1px solid var(--border);padding-top:10px;font-weight:800;font-size:13px}
.alert-top-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.alert-detail-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:24px}.alert-photo-wrap{height:540px;background:#eee9ff;border-radius:18px;overflow:hidden;position:relative}.alert-photo-wrap>img{width:100%;height:100%;object-fit:cover}.detail-status{position:absolute;top:20px;left:20px;background:#e51f2b;color:#fff;padding:10px 16px;border-radius:30px;font-weight:900}.detail-status.found{background:#13a85b}.missing-photo{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:60px}.missing-photo strong,.missing-photo a{font-size:16px}.alert-info h1{font-size:52px;line-height:1;margin:12px 0}.alert-code{color:var(--purple);font-weight:900}.alert-subtitle{font-size:20px;color:var(--muted)}.data-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:24px 0}.data-list div{padding:14px 0;border-bottom:1px solid var(--border)}.data-list dt{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:800}.data-list dd{margin:3px 0 0;font-weight:700}.btn-whatsapp{width:100%;background:#0ca968;color:#fff;margin-top:18px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.owner-status{border-top:1px solid var(--border);margin-top:22px;padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:10px}.owner-status label{display:grid;gap:6px;font-weight:800}.owner-status select{min-height:46px;border:1px solid var(--border);border-radius:9px;padding:0 10px}.poster-section{display:grid;grid-template-columns:300px minmax(0,430px);gap:30px;justify-content:center;align-items:start;margin-top:50px}.poster-section canvas{width:100%;height:auto;border-radius:16px;box-shadow:var(--shadow)}#poster-qr{position:fixed;left:-9999px;top:-9999px}.contact-note{background:#fff4dc;padding:14px;border-radius:10px}.dashboard-alert .pet-card-body h3 a{color:var(--navy)}
@media(max-width:850px){.alert-detail-grid{grid-template-columns:1fr}.alert-photo-wrap{height:420px}.alert-info h1{font-size:42px}.share-actions,.owner-status{grid-template-columns:1fr}.poster-section{grid-template-columns:1fr}.poster-section canvas{max-width:430px}.data-list{grid-template-columns:1fr}}
.detail-status.review{background:#d88200}
.data-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}
.data-list div{min-width:0}
.data-list dd{overflow-wrap:anywhere}
.moderation-public-notice{background:#fff3dc;border:1px solid #efb34c;border-radius:12px;padding:16px;margin-top:18px}
.moderation-public-notice p{margin:5px 0 0;color:#74531a}
.partners-section{background:#fff}.partners-section .section-heading p{color:var(--muted);max-width:650px;margin:8px auto}.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.partner-card{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--navy);padding:24px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(32,48,88,.07);transition:.18s}.partner-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.partner-card.featured{border:2px solid #ffb177;background:#fffaf6}.partner-logo{height:100px;width:100%;display:grid;place-items:center}.partner-logo img{max-width:180px;max-height:88px;object-fit:contain}.partner-logo span{font-size:50px}.partner-card h3{margin:14px 0 5px}.partner-card p{color:var(--muted);font-size:14px}.partner-link{margin-top:auto;color:var(--purple);font-weight:800;font-size:13px}.sponsor-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;background:linear-gradient(135deg,#f0ebff,#fff3e9);border-radius:18px}.sponsor-invite h3{font-size:25px;margin:7px 0}.sponsor-invite p{margin:0;color:var(--muted)}.partner-admin-layout{display:grid;grid-template-columns:420px 1fr;gap:24px;align-items:start}.partner-form select,.partner-form textarea{width:100%;border:1px solid #ccd4e3;border-radius:9px;padding:13px;background:#fff}.partner-admin-list{display:grid;gap:14px}.partner-admin-item{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center}.partner-admin-logo{width:100px;height:80px;display:grid;place-items:center;background:#f6f7fb;border-radius:10px;font-size:36px}.partner-admin-logo img{max-width:90px;max-height:70px;object-fit:contain}.partner-admin-item h3,.partner-admin-item p{margin:3px 0}.partner-admin-actions{display:grid;gap:8px}.partner-remove{background:#fff0f2;color:#b92035;border-color:#efb4bd}@media(max-width:900px){.partners-grid{grid-template-columns:repeat(2,1fr)}.partner-admin-layout{grid-template-columns:1fr}}@media(max-width:600px){.partners-grid{grid-template-columns:1fr}.sponsor-invite{align-items:flex-start;flex-direction:column}.partner-admin-item{grid-template-columns:80px 1fr}.partner-admin-logo{width:80px}.partner-admin-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}
