.navbar{position:sticky;top:0;z-index:1000;height:var(--navbar-height);background-color:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--border)}.navbar-inner{max-width:var(--container);margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.navbar-brand{font-size:1.15rem;font-weight:800;color:var(--text)!important;text-decoration:none!important;white-space:nowrap;flex-shrink:0;letter-spacing:-.03em;display:flex;align-items:center;gap:.45rem;transition:opacity var(--transition)}.navbar-brand:hover{opacity:.8;text-decoration:none!important}.navbar-brand-logo{height:46px;width:auto;display:block;border-radius:6px;object-fit:contain}.navbar-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--brand) 0%,#FB923C 100%);font-size:1rem;flex-shrink:0;box-shadow:0 2px 6px #f9731659}.navbar-links{display:flex;align-items:center;gap:.15rem;list-style:none;flex-wrap:nowrap}.navbar-links a{display:inline-flex;align-items:center;padding:.4rem .8rem;font-weight:500;font-size:.88rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:background-color var(--transition),color var(--transition);white-space:nowrap;letter-spacing:-.01em}.navbar-links a:hover{background-color:var(--stone-100);color:var(--text);text-decoration:none}.navbar-links a.active{color:var(--brand);background-color:var(--brand-dim);font-weight:600}.navbar-links .nav-btn-lost{background-color:var(--lost-bg);color:var(--lost-dark)!important;border:1px solid var(--lost-border);padding:.38rem .85rem;border-radius:var(--radius-full);font-weight:600;font-size:.85rem;margin-left:.5rem}.navbar-links .nav-btn-lost:hover{background-color:var(--lost)!important;border-color:var(--lost)!important;color:#fff!important;box-shadow:0 2px 8px #dc262640;text-decoration:none}.navbar-links .nav-btn-found{background-color:var(--found-bg);color:var(--found-dark)!important;border:1px solid var(--found-border);padding:.38rem .85rem;border-radius:var(--radius-full);font-weight:600;font-size:.85rem;margin-left:.15rem}.navbar-links .nav-btn-found:hover{background-color:var(--found)!important;border-color:var(--found)!important;color:#fff!important;box-shadow:0 2px 8px #16a34a40;text-decoration:none}.navbar-links .nav-btn-register{background-color:var(--brand);color:#fff!important;border:1px solid var(--brand);padding:.4rem 1rem;border-radius:var(--radius-full);font-weight:600;font-size:.85rem;margin-left:.25rem;box-shadow:0 1px 3px #f9731633}.navbar-links .nav-btn-register:hover{background-color:var(--brand-dark)!important;border-color:var(--brand-dark)!important;color:#fff!important;box-shadow:0 3px 10px #f973164d;text-decoration:none}.nav-user-name{display:inline-flex;align-items:center;gap:.45rem}.nav-user-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--brand) 0%,#FB923C 100%);color:#fff;font-size:.7rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 3px #f973164d}.nav-logout-btn{display:inline-flex;align-items:center;padding:.4rem .8rem;font-weight:500;font-size:.88rem;color:var(--text-secondary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition),color var(--transition);white-space:nowrap;font-family:inherit}.nav-logout-btn:hover{background-color:var(--lost-bg);color:var(--lost-dark)}.navbar-spacer{flex:1}.navbar-sep{width:1px;height:20px;background:var(--border);margin:0 .35rem;flex-shrink:0}.navbar-bmc-item{margin-left:.25rem}.navbar-bmc-link{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;background:#fd0;color:#000!important;font-size:.8rem;font-weight:700;border-radius:var(--radius-sm);text-decoration:none!important;white-space:nowrap;transition:background-color .15s,box-shadow .15s;box-shadow:0 1px 3px #00000026}.navbar-bmc-link:hover{background:#f5d000;box-shadow:0 2px 6px #0003;text-decoration:none!important}.navbar-bmc-emoji{font-size:1rem;line-height:1}.navbar-bmc-label{line-height:1}.navbar-lang-item{margin-left:.25rem}.lang-switcher{display:inline-flex;align-items:center;gap:2px;background:var(--stone-100);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.lang-btn{background:none;border:none;border-radius:4px;padding:.18rem .45rem;font-size:.75rem;font-weight:700;font-family:inherit;color:var(--stone-500);cursor:pointer;transition:all var(--transition);letter-spacing:.03em;line-height:1.5}.lang-btn:hover{background:var(--surface);color:var(--text)}.lang-btn.active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-xs)}.navbar-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:0;flex-shrink:0;transition:border-color var(--transition),background var(--transition)}.navbar-hamburger:hover{background:var(--stone-100);border-color:var(--border-strong)}.navbar-hamburger span{display:block;width:16px;height:1.5px;background-color:var(--text-secondary);border-radius:2px;transition:all .22s var(--ease)}.navbar-hamburger.open{background:var(--stone-100)}.navbar-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.navbar-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.navbar-drawer{display:none;position:fixed;top:var(--navbar-height);left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:999;padding:1rem 1.25rem 1.25rem;transform:translateY(-4px);opacity:0;transition:transform .22s var(--ease),opacity .22s ease}.navbar-drawer.open{display:block;transform:translateY(0);opacity:1}.navbar-drawer ul{list-style:none;display:flex;flex-direction:column;gap:.2rem}.navbar-drawer a{display:flex;align-items:center;padding:.65rem .85rem;font-weight:500;font-size:.95rem;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius);transition:background-color var(--transition),color var(--transition)}.navbar-drawer a:hover{background:var(--stone-100);color:var(--text);text-decoration:none}.navbar-drawer a.active{color:var(--brand);background:var(--brand-dim);font-weight:600}.navbar-drawer .nav-btn-lost{background-color:var(--lost-bg)!important;color:var(--lost-dark)!important;border:1px solid var(--lost-border);border-radius:var(--radius-full)!important;margin-top:.35rem}.navbar-drawer .nav-btn-found{background-color:var(--found-bg)!important;color:var(--found-dark)!important;border:1px solid var(--found-border);border-radius:var(--radius-full)!important}.navbar-drawer .nav-btn-register{background-color:var(--brand)!important;color:#fff!important;border-radius:var(--radius-full)!important;margin-top:.35rem}.navbar-drawer .nav-logout-btn{display:flex;width:100%;text-align:left;padding:.65rem .85rem;font-size:.95rem;border-radius:var(--radius);color:var(--text-secondary)}.navbar-drawer .nav-logout-btn:hover{background:var(--lost-bg);color:var(--lost-dark)}.navbar-drawer-lang{padding:.85rem .5rem 0;border-top:1px solid var(--border);margin-top:.75rem;display:flex;align-items:center;justify-content:space-between}.navbar-drawer-lang-label{font-size:.8rem;font-weight:600;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase}.navbar-drawer-bmc{padding:.75rem .5rem 0;border-top:1px solid var(--border);margin-top:.75rem}.navbar-drawer-bmc-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;color:var(--text-muted);text-decoration:none;padding:.4rem .5rem;border-radius:var(--radius-sm);transition:background-color var(--transition),color var(--transition)}.navbar-drawer-bmc-link:hover{background:var(--stone-100);color:var(--text);text-decoration:none}@media (max-width: 860px){.navbar-links{display:none}.navbar-hamburger{display:flex}}.site-footer{background:var(--stone-900, #1c1917);color:var(--stone-300, #d6d3d1);margin-top:auto;border-top:1px solid rgba(255,255,255,.06)}.footer-inner{max-width:1100px;margin:0 auto;padding:3rem 1.5rem 2.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.footer-brand{display:flex;flex-direction:column;gap:.4rem}.footer-logo{font-size:1.8rem;line-height:1}.footer-brand-name{font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:-.01em}.footer-tagline{font-size:.82rem;color:var(--stone-400, #a8a29e);line-height:1.55;margin:0;max-width:200px}.footer-col-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--stone-500, #78716c);margin:0 0 .75rem}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer-col ul li a{font-size:.875rem;color:var(--stone-300, #d6d3d1);text-decoration:none;transition:color .15s}.footer-col ul li a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:1rem 1.5rem;max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--stone-500, #78716c)}.footer-bottom-sep{opacity:.4}@media (max-width: 768px){.footer-inner{grid-template-columns:1fr 1fr;gap:1.75rem 1.5rem}.footer-brand{grid-column:1 / -1}}@media (max-width: 480px){.footer-inner{grid-template-columns:1fr}}.pet-map-wrapper{position:relative;width:100%}.pet-map-controls{position:absolute;top:10px;right:10px;z-index:1000;background:#fffffff7;border-radius:10px;box-shadow:0 2px 12px #0000002e;padding:.85rem 1rem;min-width:200px;max-width:230px;display:flex;flex-direction:column;gap:.7rem}.pet-map-controls-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;gap:.5rem}.pet-map-controls-toggle:hover{color:var(--text)}.pet-map-controls-chevron{font-size:1rem;line-height:1;transition:transform .2s ease;display:inline-block;transform:rotate(-90deg)}.pet-map-controls-chevron.open{transform:rotate(0)}.pet-map-controls label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.pet-map-controls select,.pet-map-controls input[type=range]{width:100%;font-size:.88rem;padding:.3rem .6rem}.pet-map-controls input[type=range]{border:none;padding:0;accent-color:var(--primary);cursor:pointer}.pet-map-controls-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--text-muted);margin-top:-.3rem}.pet-map-toggle-label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--text-secondary);cursor:pointer;text-transform:none;letter-spacing:normal}.pet-map-toggle-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand);cursor:pointer}.pet-map-loading{position:absolute;top:10px;left:10px;z-index:1000;background:#ffffffeb;border-radius:20px;padding:.3rem .8rem;font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem;box-shadow:0 1px 6px #0000001f}.pet-map-loading .mini-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.pet-map-count{position:absolute;bottom:20px;left:10px;z-index:1000;background:#ffffffed;border-radius:20px;padding:.3rem .75rem;font-size:.82rem;font-weight:600;color:var(--text-light);box-shadow:0 1px 6px #0000001f}.map-popup{text-align:center;min-width:130px}.map-popup-type{font-size:2rem;line-height:1;margin-bottom:.25rem}.map-popup-status{font-size:.78rem;font-weight:700;margin-bottom:.5rem}.map-popup a{display:inline-block;padding:.3rem .8rem;background-color:var(--primary);color:#fff!important;border-radius:5px;font-size:.82rem;font-weight:600;text-decoration:none}.map-popup a:hover{background-color:var(--primary-dark);text-decoration:none}.pet-pin{position:relative;width:38px;height:38px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:3px solid;background:#fff;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center}.pet-pin span{display:block;font-size:18px;line-height:1;transform:rotate(45deg)}.pet-pin-dot{position:absolute;bottom:-6px;right:-6px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;transform:rotate(45deg)}.leaflet-popup-content-wrapper{border-radius:10px!important;box-shadow:var(--shadow-lg)!important}@media (max-width: 520px){.pet-map-controls{min-width:160px;max-width:170px;padding:.6rem .75rem;font-size:.82rem}}.ad-banner{position:relative;background:var(--stone-50);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-align:center}.ad-banner--leaderboard{margin:1.75rem 0;min-height:90px;padding-top:1.25rem}.ad-banner--rectangle{margin:1.5rem auto;max-width:500px;min-height:250px;padding-top:1.25rem}.ad-banner__label{position:absolute;top:4px;left:50%;transform:translate(-50%);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.ad-banner .adsbygoogle{display:block;width:100%}.hero{background:linear-gradient(160deg,#fff7ed,#fffbf7 45%,#f0fdf4);border-bottom:1px solid var(--border);padding:3rem 1.5rem 2.75rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-80px;left:50%;transform:translate(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(249,115,22,.08) 0%,transparent 70%);pointer-events:none}.hero-inner{max-width:680px;margin:0 auto;position:relative}.hero-eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .9rem;background:var(--brand-dim);border:1px solid var(--brand-border);border-radius:var(--radius-full);font-size:.8rem;font-weight:700;color:var(--brand-dark);letter-spacing:.02em;margin-bottom:1rem;text-transform:uppercase}.hero-logo{display:block;width:min(130px,34vw);height:auto;margin:0 auto 1.5rem;border-radius:22px;object-fit:contain;box-shadow:0 8px 24px #00000024}.hero h1{font-size:clamp(1.75rem,4vw,2.6rem);font-weight:900;line-height:1.1;letter-spacing:-.04em;margin-bottom:1rem;color:var(--stone-900)}.hero-h1-accent{background:linear-gradient(135deg,var(--brand) 0%,#FB923C 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:1.75rem;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.6}.hero-cta{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;margin-bottom:0}.hero-cta .btn{min-width:168px;font-size:.95rem;font-weight:700;padding:.75rem 1.5rem}.how-it-works{padding:2.75rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.how-it-works-inner{max-width:var(--container);margin:0 auto}.how-it-works-header{text-align:center;margin-bottom:1.75rem}.how-it-works-header h2{margin-bottom:.6rem}.how-it-works-header p{color:var(--text-muted);font-size:1rem;max-width:440px;margin:0 auto}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative}.how-steps:before{content:"";position:absolute;top:2.5rem;left:calc(16.67% + 2rem);right:calc(16.67% + 2rem);height:2px;background:linear-gradient(90deg,var(--brand-border),var(--brand-border));pointer-events:none}.how-step{background:var(--stone-50);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;position:relative;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.how-step:hover{border-color:var(--brand-border);box-shadow:var(--shadow);transform:translateY(-2px)}.how-step-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--brand) 0%,#FB923C 100%);color:#fff;font-size:.78rem;font-weight:800;margin:0 auto .75rem;box-shadow:0 3px 10px #f973164d;position:relative;z-index:1}.how-step-icon{font-size:1.5rem;margin-bottom:.6rem;line-height:1}.how-step h3{font-size:1rem;font-weight:700;margin-bottom:.5rem;color:var(--text);letter-spacing:-.02em}.how-step p{font-size:.88rem;margin:0;color:var(--text-muted);line-height:1.6}.map-preview{padding:2.75rem 1.5rem 3rem;background:var(--bg)}.map-preview-inner{max-width:var(--container);margin:0 auto}.map-preview-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.map-preview-header h2{margin-bottom:.3rem}.map-preview-header p{font-size:.93rem;color:var(--text-muted);margin:0}.map-preview-cta{font-size:.88rem;font-weight:600;color:var(--brand);display:flex;align-items:center;gap:.25rem;white-space:nowrap;flex-shrink:0}.map-preview-cta:hover{color:var(--brand-dark)}.map-preview-container{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid var(--border);position:relative}.map-preview-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--brand),#FB923C,var(--found));z-index:500}@media (max-width: 768px){.hero{padding:2.25rem 1.25rem 2rem}.hero-subtitle{font-size:.95rem}.how-it-works{padding:2.25rem 1.25rem}.how-steps{grid-template-columns:1fr;max-width:380px;margin:0 auto}.how-steps:before{display:none}.map-preview{padding:2.25rem 1.25rem}.map-preview-header{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.hero-cta .btn{min-width:auto;flex:1}}.color-picker{display:flex;flex-wrap:wrap;gap:.4rem}.color-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem .3rem .4rem;border:1.5px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.color-chip:hover{border-color:var(--primary);color:var(--primary)}.color-chip--selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-weight:600}.color-chip__swatch{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex-shrink:0}.color-chip[title=White] .color-chip__swatch,.color-chip[title=Blanc] .color-chip__swatch,.color-chip[title=Blanco] .color-chip__swatch,.color-chip[title=Cream] .color-chip__swatch,.color-chip[title=Crème] .color-chip__swatch,.color-chip[title=Crema] .color-chip__swatch{border-color:#0000004d}.color-chip__label{line-height:1}.pet-form{background:var(--bg-white);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;max-width:680px;margin:0 auto}.pet-form h2{margin-bottom:.25rem}.pet-form-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.93rem}.pet-form-section{border-top:1px solid var(--border);padding-top:1.25rem;margin-top:1.25rem}.pet-form-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:1rem}.radio-group{display:flex;gap:1rem;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;font-size:.95rem;padding:.5rem 1rem;border:2px solid var(--border);border-radius:8px;transition:all .15s;-webkit-user-select:none;user-select:none}.radio-label:has(input:checked){border-color:var(--primary);background-color:#fde8e6;color:var(--primary)}.radio-label input{width:auto;accent-color:var(--primary)}.pin-map-wrapper{border:1.5px solid var(--border);border-radius:var(--border-radius);overflow:hidden;cursor:crosshair}.pin-map-hint{font-size:.82rem;color:var(--text-muted);margin-top:.35rem}.pin-coords{margin-top:.4rem;font-size:.85rem;color:var(--secondary-dark);font-weight:600}.photo-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.75rem 1rem;border:2px dashed var(--border);border-radius:var(--radius);background:var(--stone-50);cursor:pointer;transition:border-color var(--transition),background-color var(--transition);text-align:center}.photo-upload-zone:hover{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 5%,transparent)}.photo-upload-zone--uploading{pointer-events:none;opacity:.7}.photo-upload-input{display:none}.photo-upload-icon{font-size:1.75rem;line-height:1}.photo-upload-cta{font-size:.88rem;font-weight:700;color:var(--brand)}.photo-upload-hint{font-size:.78rem;color:var(--text-muted)}.photo-upload-status{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-muted)}.photo-preview-wrapper{position:relative;display:inline-block;border-radius:var(--radius);overflow:hidden;border:1.5px solid var(--border)}.photo-preview-img{display:block;max-width:100%;max-height:220px;object-fit:cover}.photo-remove-btn{position:absolute;top:.4rem;right:.4rem;background:#0000008c!important;color:#fff!important;border-color:transparent!important;font-size:.78rem!important}.photo-remove-btn:hover{background:#000c!important}.pet-form-submit{margin-top:1.75rem;display:flex;justify-content:flex-end}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 520px){.pet-form{padding:1.25rem}.form-row-2{grid-template-columns:1fr}.radio-group{flex-direction:column}}.pet-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .22s var(--ease),transform .22s var(--ease),border-color .22s ease}.pet-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-3px)}.pet-card-photo{position:relative;width:100%;padding-top:58%;background:var(--stone-100);overflow:hidden;flex-shrink:0}.pet-card-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}.pet-card:hover .pet-card-photo img{transform:scale(1.04)}.pet-card-photo-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3.5rem;background:linear-gradient(160deg,var(--stone-100) 0%,var(--stone-200) 100%)}.pet-card-status-badge{position:absolute;top:.65rem;left:.65rem;z-index:2}.pet-card-body{padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.pet-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pet-card-name{font-size:1rem;font-weight:700;color:var(--text);margin:0;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pet-card-type{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--text-muted);background:var(--stone-100);border:1px solid var(--border);border-radius:var(--radius-full);padding:.15rem .55rem;letter-spacing:.01em;width:fit-content}.pet-card-detail{font-size:.84rem;color:var(--text-secondary);display:flex;align-items:flex-start;gap:.35rem;line-height:1.5}.pet-card-detail-icon{flex-shrink:0;font-size:.88rem;margin-top:.1rem}.pet-card-date{font-size:.77rem;color:var(--text-muted);margin-top:auto;padding-top:.4rem;letter-spacing:.01em}.pet-card-contact{background:var(--stone-50);border-top:1px solid var(--border);padding:.75rem 1.1rem;font-size:.84rem}.pet-card-contact p{margin-bottom:.25rem;color:var(--text-secondary)}.pet-card-contact a{color:var(--brand);font-weight:600}.pet-card-contact a:hover{color:var(--brand-dark)}.pet-card-actions{padding:.75rem 1.1rem 1rem;display:flex;gap:.5rem;border-top:1px solid var(--border);background:var(--stone-50)}.pet-card-actions a,.pet-card-actions button{flex:1;text-align:center;font-size:.82rem;font-weight:600;padding:.42rem .5rem;border-radius:var(--radius-sm)}.pet-card-actions .btn-details{display:flex;align-items:center;justify-content:center;flex:1;font-size:.82rem;font-weight:600;padding:.42rem .5rem;border-radius:var(--radius-sm);border:1.5px solid var(--border);color:var(--text-secondary);transition:all var(--transition);text-decoration:none;background:var(--surface)}.pet-card-actions .btn-details:hover{background:var(--stone-100);color:var(--text);border-color:var(--border-strong);text-decoration:none}.pet-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.pet-list-footer{margin-top:1rem}@media (max-width: 480px){.pet-list-grid{grid-template-columns:1fr}}.search-page-header{margin-bottom:1.75rem}.search-page-header h1{margin-bottom:.4rem}.search-page-header p{font-size:.93rem;color:var(--text-muted);margin:0}.search-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;gap:.5rem}.search-filter-toggle:hover{color:var(--text)}.search-filter-toggle-chevron{font-size:1rem;line-height:1;transition:transform .2s ease;display:inline-block;transform:rotate(-90deg)}.search-filter-toggle-chevron.open{transform:rotate(0)}.search-filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.4rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.1rem}.search-filter-row{display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.search-filter-group{display:flex;flex-direction:column;gap:.45rem;min-width:0}.search-filter-group>label{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.filter-chips{display:flex;gap:.4rem;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius-full);font-size:.83rem;font-weight:600;color:var(--text-secondary);background:var(--surface);cursor:pointer;transition:all var(--transition);font-family:inherit;line-height:1.4;white-space:nowrap}.filter-chip:hover{border-color:var(--border-strong);color:var(--text);background:var(--stone-50)}.filter-chip.active{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-dim);font-weight:700}.filter-chip.active-lost{border-color:var(--lost);color:var(--lost-dark);background:var(--lost-bg)}.filter-chip.active-found{border-color:var(--found);color:var(--found-dark);background:var(--found-bg)}.search-filter-action{justify-content:flex-end}.search-action-row{display:flex;gap:.5rem;align-items:center}.search-location-btn{white-space:nowrap}.search-page-size-select{padding:.35rem .6rem;font-size:.82rem;font-family:inherit;font-weight:600;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;height:32px}.search-page-size-select:focus{outline:none;border-color:var(--brand)}.search-radius-section{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.search-radius-row{display:flex;flex-direction:column;gap:.35rem;flex:1 1 260px;min-width:220px}.search-radius-label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.search-radius-slider{width:100%;max-width:420px;accent-color:var(--brand);cursor:pointer;height:4px}.search-radius-bounds{display:flex;justify-content:space-between;max-width:420px;font-size:.72rem;color:var(--text-muted);font-weight:500}.search-location-badge{display:flex;align-items:center;gap:.75rem;padding:.5rem .85rem;background:var(--brand-dim);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);border-radius:var(--radius);font-size:.83rem;font-weight:600;color:var(--brand-dark);flex-shrink:0}.search-location-clear{background:none;border:none;color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font-family:inherit}.search-location-clear:hover{color:var(--text)}.search-map-locate-btn{position:absolute;top:80px;right:10px;z-index:1000;width:34px;height:34px;background:#fff;border:2px solid rgba(0,0,0,.2);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;box-shadow:0 2px 6px #00000026;transition:background var(--transition),box-shadow var(--transition)}.search-map-locate-btn:hover{background:var(--stone-50);box-shadow:0 3px 10px #0003}.location-pin{font-size:1.5rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.search-filter-colors,.search-filter-desc{width:100%}.search-desc-input{width:100%;padding:.55rem .9rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.search-desc-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.search-desc-input::placeholder{color:var(--text-muted)}.search-filter-row--extra{align-items:flex-end;gap:1.25rem;flex-wrap:wrap}.search-filter-deceased{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.search-filter-microchip{width:220px;margin-left:auto}.search-deceased-toggle{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.search-deceased-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--brand)}.search-filter-divider{width:100%;height:1px;background:var(--border)}.search-results-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.search-results-count{font-size:.87rem;color:var(--text-muted);font-weight:500}.search-results-count strong{color:var(--text);font-weight:700}.search-map-section{margin-bottom:1.75rem;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.search-map-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.1rem;background:var(--surface);border-bottom:1px solid var(--border)}.search-map-title{font-size:.85rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.35rem}.search-map-link{font-size:.82rem;font-weight:600;color:var(--brand);text-decoration:none;display:flex;align-items:center;gap:.2rem}.search-map-link:hover{color:var(--brand-dark);text-decoration:underline}.search-map-container{height:380px;position:relative}.search-map-hint{font-size:.75rem;color:var(--text-muted);font-weight:500;font-style:italic}@media (max-width: 640px){.search-filter-row{gap:.85rem}.search-map-container{height:220px}.search-filter-bar{padding:1rem}.search-filter-microchip{width:100%;margin-left:0}.search-radius-section{flex-direction:column;align-items:stretch}}.pet-detail-back{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}.pet-detail-back .btn{font-size:.85rem;gap:.3rem;color:var(--text-secondary)}.pet-detail-back .btn:hover{color:var(--text)}.pet-detail-wrapper{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;max-width:960px;margin:0 auto}.pet-detail-photo-panel{position:relative;background:var(--stone-100);min-height:400px;display:flex;align-items:center;justify-content:center}.pet-detail-photo-panel img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.pet-detail-photo-placeholder{font-size:6rem;line-height:1;opacity:.5}.pet-detail-badges{position:absolute;top:1rem;left:1rem;display:flex;gap:.4rem;flex-wrap:wrap;z-index:2}.pet-detail-photo-panel:after{content:"";position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,rgba(0,0,0,.15),transparent);pointer-events:none}.pet-detail-info{padding:2rem;display:flex;flex-direction:column;gap:0;overflow-y:auto}.pet-detail-info-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.65rem}.pet-detail-name{font-size:1.85rem;font-weight:900;letter-spacing:-.04em;margin-bottom:.2rem;line-height:1.15}.pet-detail-type{font-size:.92rem;color:var(--text-muted);font-weight:500;margin-bottom:1.5rem;display:flex;align-items:center;gap:.35rem}.pet-detail-rows{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.25rem}.pet-detail-row{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;color:var(--text-secondary);padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.pet-detail-row:last-child{border-bottom:none}.pet-detail-row:nth-child(2n){background:var(--stone-50)}.pet-detail-row-icon{font-size:1rem;flex-shrink:0;margin-top:.05rem}.pet-detail-row-label{font-weight:700;color:var(--text);min-width:80px;flex-shrink:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.pet-detail-contact{background:linear-gradient(135deg,var(--brand-dim) 0%,#FFF 100%);border:1px solid var(--brand-border);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-top:auto}.pet-detail-contact-header{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;color:var(--brand-dark);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.pet-detail-contact-locked{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:.5rem 0 .25rem}.pet-detail-contact-lock-icon{font-size:1.5rem;opacity:.6}.pet-detail-contact-lock-text{font-size:.85rem;color:var(--text-muted);line-height:1.45;margin:0}.pet-detail-contact-reveal-btn{width:100%;justify-content:center}.pet-detail-contact-item{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text);margin-bottom:.45rem}.pet-detail-contact-item:last-child{margin-bottom:0}.pet-detail-contact-item span:first-child{font-size:.95rem;flex-shrink:0}.pet-detail-contact-item a{color:var(--brand);font-weight:600;word-break:break-all}.pet-detail-contact-item a:hover{color:var(--brand-dark)}.pet-detail-desc{grid-column:1 / -1;padding:1.75rem 2rem;border-top:1px solid var(--border);background:var(--stone-50)}.pet-detail-desc-label{font-size:.75rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.65rem;display:flex;align-items:center;gap:.35rem}.pet-detail-desc p{color:var(--text);line-height:1.75;margin:0;font-size:.95rem}.pet-detail-error{text-align:center;padding:5rem 1rem}.pet-detail-error h2{margin-bottom:.5rem}.pet-detail-color-pills{display:flex;flex-wrap:wrap;gap:.3rem}.pet-detail-row-gender{font-size:1.15rem;font-weight:700;color:var(--text-secondary);line-height:1}.pet-detail-map-section{grid-column:1 / -1;border-top:1px solid var(--border);background:var(--stone-50)}.pet-detail-map-container{position:relative;height:300px;margin:.75rem 2rem 1.75rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.pet-detail-map-open{position:absolute;bottom:.6rem;right:.6rem;z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .65rem;font-size:.78rem;font-weight:600;color:var(--brand);text-decoration:none;box-shadow:var(--shadow);transition:background .15s,color .15s}.pet-detail-map-open:hover{background:var(--brand);color:#fff}.pin-marker-icon{background:none!important;border:none!important;font-size:1.5rem;line-height:1}.pet-detail-flag-row{max-width:960px;margin:1rem auto 0;display:flex;justify-content:flex-end}.pet-detail-flag-btn{font-size:.8rem;color:var(--text-muted);opacity:.7;transition:opacity .15s,color .15s}.pet-detail-flag-btn:hover{color:var(--danger, #DC2626);opacity:1}.pet-flag-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.pet-flag-dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem;width:100%;max-width:480px;border:1px solid var(--border)}.pet-flag-title{font-size:1.1rem;font-weight:800;margin:0 0 .4rem;color:var(--text)}.pet-flag-hint{font-size:.875rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.pet-flag-textarea{width:100%;padding:.6rem .85rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;resize:vertical;font-family:inherit;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}.pet-flag-textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-dim)}.pet-flag-actions{display:flex;gap:.75rem;justify-content:flex-end}.pet-flag-success{text-align:center;padding:1rem 0;display:flex;flex-direction:column;align-items:center;gap:.75rem}.pet-flag-success p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}@media (max-width: 700px){.pet-detail-wrapper{grid-template-columns:1fr}.pet-detail-photo-panel{min-height:280px}.pet-detail-info{padding:1.5rem}.pet-detail-desc{padding:1.25rem 1.5rem}.pet-detail-map-container{margin:.75rem 1.5rem 1.5rem;height:240px}}.auth-page{min-height:calc(100vh - var(--navbar-height));display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;background:var(--stone-50);background-image:radial-gradient(ellipse at 20% 50%,rgba(249,115,22,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(22,163,74,.04) 0%,transparent 50%)}.auth-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--border);padding:2.75rem 2.25rem;width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:.25rem}.auth-logo-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--brand) 0%,#FB923C 100%);font-size:1.5rem;box-shadow:0 4px 14px #f973164d}.auth-title{text-align:center;font-size:1.6rem;font-weight:800;color:var(--text);margin-top:1rem;margin-bottom:.3rem;letter-spacing:-.03em}.auth-subtitle{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:2rem}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-form .form-group{margin-bottom:0}.auth-form label{font-size:.86rem;color:var(--text)}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{padding:.65rem .95rem;font-size:.93rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--stone-50);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.auth-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #f973161f;background:var(--surface);outline:none}.auth-submit-btn{width:100%;padding:.72rem 1.25rem;font-size:.95rem;font-weight:700;background:var(--brand);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition),transform .1s,box-shadow var(--transition);margin-top:.25rem;box-shadow:0 2px 8px #f9731640;font-family:inherit;letter-spacing:-.01em}.auth-submit-btn:hover:not(:disabled){background:var(--brand-dark);box-shadow:0 4px 14px #f9731659;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.55;cursor:not-allowed}.auth-error{background:var(--lost-bg);border:1px solid var(--lost-border);color:var(--lost-dark);border-radius:var(--radius);padding:.72rem 1rem;font-size:.88rem;text-align:center;font-weight:500}.auth-divider{display:flex;align-items:center;gap:.85rem;margin:1.35rem 0;color:var(--text-muted);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.oauth-buttons{display:flex;flex-direction:column;gap:.6rem}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:600;font-family:inherit;border-radius:var(--radius);cursor:pointer;transition:box-shadow var(--transition),transform .1s,background var(--transition);text-decoration:none;letter-spacing:-.01em}.oauth-btn:active{transform:scale(.98)}.oauth-btn-google{background:var(--surface);color:var(--stone-700);border:1.5px solid var(--border);box-shadow:var(--shadow-xs)}.oauth-btn-google:hover{box-shadow:var(--shadow-sm);background:var(--stone-50);border-color:var(--border-strong);text-decoration:none;color:var(--stone-800)}.oauth-btn-facebook{background:#1877f2;color:#fff;border:1.5px solid #1877F2}.oauth-btn-facebook:hover{background:#1565c0;border-color:#1565c0;box-shadow:0 3px 12px #1877f259;text-decoration:none;color:#fff}.oauth-icon{width:18px;height:18px;flex-shrink:0}.form-label-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.form-label-row label{margin-bottom:0}.auth-forgot-link{font-size:.8rem;color:var(--brand);font-weight:500;text-decoration:none}.auth-forgot-link:hover{text-decoration:underline;color:var(--brand-dark)}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.88rem;color:var(--text-muted)}.auth-footer a{color:var(--brand);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline;color:var(--brand-dark)}@media (max-width: 480px){.auth-card{padding:2rem 1.25rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}}.avatar-upload-placeholder{width:56px;height:56px;border-radius:50%;background:var(--stone-200, #e7e5e4);display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:2px solid var(--border)}.auth-captcha{display:flex;flex-direction:column;align-items:center;margin:.5rem 0}.profile-page{padding:2.5rem 1.25rem;max-width:1000px;margin:0 auto}.profile-page-title{font-size:1.75rem;font-weight:900;letter-spacing:-.04em;margin-bottom:2rem;color:var(--text)}.profile-main-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}@media (min-width: 768px){.profile-main-grid{grid-template-columns:320px 1fr;gap:2rem}}.profile-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);overflow:hidden}.profile-avatar-section{background:linear-gradient(135deg,var(--stone-100) 0%,var(--stone-50) 100%);padding:2rem 1.75rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;border-bottom:1px solid var(--border)}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);box-shadow:var(--shadow-md);flex-shrink:0}.profile-avatar-initials{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--brand) 0%,#FB923C 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;flex-shrink:0;box-shadow:var(--shadow-md);-webkit-user-select:none;user-select:none}.profile-avatar-info{width:100%}.profile-display-name{font-size:1.25rem;font-weight:800;color:var(--text);letter-spacing:-.02em;margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{font-size:.85rem;color:var(--text-muted);margin-bottom:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-meta-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.profile-provider-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;background:var(--found-bg);color:var(--found);border:1px solid color-mix(in srgb,var(--found) 30%,transparent);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.02em}.profile-member-since{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;background:var(--stone-100);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.profile-card-body{padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.profile-edit-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.profile-edit-actions{display:flex;gap:.65rem;flex-wrap:wrap}.profile-saved-msg{display:flex;align-items:center;gap:.5rem;background:var(--found-bg);border:1px solid color-mix(in srgb,var(--found) 25%,transparent);color:var(--found);border-radius:var(--radius);padding:.6rem 1rem;font-size:.88rem;font-weight:600}.profile-card-footer{border-top:1px solid var(--border);padding-top:1.25rem}.profile-pets-section{display:flex;flex-direction:column;gap:1.5rem}.profile-pets-header{display:flex;align-items:baseline;gap:.6rem}.profile-pets-title{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.profile-pets-count{font-size:.82rem;color:var(--text-muted);font-weight:600}.profile-pets-empty{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:3rem 2rem;text-align:center;color:var(--text-muted)}.profile-pets-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.profile-pets-empty p{margin-bottom:1rem;font-size:.92rem}.profile-pets-group{display:flex;flex-direction:column;gap:.75rem}.profile-pets-group-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;padding:.3rem .75rem;border-radius:var(--radius-full)}.profile-pets-group-lost{background:var(--lost-bg);color:var(--lost);border:1px solid color-mix(in srgb,var(--lost) 25%,transparent)}.profile-pets-group-found{background:var(--found-bg);color:var(--found);border:1px solid color-mix(in srgb,var(--found) 25%,transparent)}.profile-pets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.profile-reunited-toggle{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;text-align:left}.profile-reunited-toggle-arrow{font-size:.7rem;color:var(--text-muted)}.profile-pets-group-reunited{background:var(--stone-100);color:var(--text-muted);border:1px solid var(--border)}.profile-oauth-note{font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.profile-pet-wrapper{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.profile-pet-wrapper .pet-card{border-radius:0;box-shadow:none}.profile-pet-wrapper--reunited{opacity:.72}.profile-pet-actions{display:flex;align-items:center;gap:.4rem;padding:.5rem .6rem;background:var(--stone-50);border:1px solid var(--border);border-top:none;flex-shrink:0}.profile-pet-action-btn{white-space:nowrap;flex:1}.profile-pet-action-delete{margin-left:auto}.profile-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.profile-confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.75rem 2rem;max-width:420px;width:100%}.profile-confirm-text{font-size:.95rem;color:var(--text);margin-bottom:1.25rem;line-height:1.5}.profile-confirm-error{font-size:.85rem;color:var(--lost);margin-bottom:.75rem}.profile-confirm-actions{display:flex;gap:.65rem}.avatar-upload-row{display:flex;align-items:center;gap:.75rem;margin-top:.35rem}.avatar-upload-preview{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.avatar-upload-placeholder{width:56px;height:56px;border-radius:50%;background:var(--stone-200, #e7e5e4);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--stone-500, #78716c);border:2px solid var(--border);font-weight:600}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:.35rem}.profile-change-password{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}@media (max-width: 600px){.profile-card-body{padding:1.25rem}.profile-avatar-section{padding:1.5rem 1.25rem 1.25rem}}.about-page{max-width:1000px;margin:0 auto}.about-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:2rem;margin-bottom:1.75rem}.about-section--brand{text-align:center}.about-brand-logo{display:block;width:min(160px,45%);height:auto;margin:0 auto 1.5rem;border-radius:22px;object-fit:contain;box-shadow:0 8px 24px #00000024}.about-section h1{margin-bottom:.75rem}.about-section>p{color:var(--text-secondary);line-height:1.7;margin-bottom:1.25rem}.about-profile{display:flex;gap:1.75rem;align-items:flex-start}.about-avatar-img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);box-shadow:var(--shadow-md);flex-shrink:0}.about-profile-body{flex:1;min-width:0}.about-name{font-size:1.4rem;margin-bottom:.2rem}.about-degree{font-weight:400;color:var(--text-secondary);font-size:1.1rem}.about-role{font-size:.95rem;color:var(--primary);font-weight:500;margin-bottom:.25rem}.about-location{font-size:.88rem;color:var(--text-muted);margin-bottom:1rem}.about-bio{color:var(--text-secondary);line-height:1.7;margin-bottom:1rem}.about-links{display:flex;gap:.75rem;flex-wrap:wrap}.about-link-icon{width:16px;height:16px;flex-shrink:0}.about-support{text-align:center}.about-support p{max-width:620px;margin:0 auto .9rem;color:var(--text-muted);line-height:1.7}.about-support-btn{display:inline-block;margin-top:1.25rem;padding:.75rem 2rem;background:#e74c3c;color:#fff;font-weight:700;font-size:1rem;border-radius:8px;text-decoration:none;transition:background .2s,transform .15s}.about-support-btn:hover{background:#c0392b;transform:translateY(-1px)}.about-instagram-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}.about-instagram-item{min-width:0}.about-instagram-item .instagram-media{margin:0 auto!important;min-width:0!important;width:100%!important}@media (max-width: 700px){.about-instagram-grid{grid-template-columns:1fr}}@media (max-width: 540px){.about-profile{flex-direction:column;align-items:center;text-align:center}.about-links{justify-content:center}}.about-contact-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.about-contact-form{display:flex;flex-direction:column;gap:1rem}.about-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.about-contact-field{display:flex;flex-direction:column;gap:.35rem}.about-contact-field label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.about-contact-field input,.about-contact-field textarea{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--border-radius-sm);font-size:.95rem;font-family:inherit;background:var(--bg-white);color:var(--text-primary);resize:vertical;transition:border-color .15s}.about-contact-field input:focus,.about-contact-field textarea:focus{outline:none;border-color:var(--primary)}.about-contact-captcha{display:flex}.about-contact-error{color:var(--danger, #e74c3c);font-size:.875rem;margin:0}.about-contact-success{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius-sm);color:#15803d}.about-contact-success-icon{font-size:1.25rem}.about-contact-success p{margin:0;font-size:.95rem;color:inherit}@media (max-width: 540px){.about-contact-row{grid-template-columns:1fr}}.edit-pet-header{margin-bottom:2rem}.edit-pet-header h1{font-size:1.75rem;font-weight:900;letter-spacing:-.03em;margin:.5rem 0 .25rem}.edit-pet-subtitle{color:var(--text-muted);font-size:.9rem;margin:0}.edit-pet-form{max-width:700px}.edit-pet-actions{display:flex;gap:1rem;align-items:center;margin-top:2rem}.edit-pet-error{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}:root{--brand: #F97316;--brand-dark: #EA6C0A;--brand-dim: #FFF7ED;--brand-border: #FED7AA;--lost: #DC2626;--lost-bg: #FEF2F2;--lost-border: #FECACA;--lost-dark: #B91C1C;--found: #16A34A;--found-bg: #F0FDF4;--found-border: #BBF7D0;--found-dark: #15803D;--resolved: #7C3AED;--resolved-bg: #F5F3FF;--resolved-border: #DDD6FE;--stone-50: #FAFAF9;--stone-100: #F5F5F4;--stone-200: #E7E5E4;--stone-300: #D6D3D1;--stone-400: #A8A29E;--stone-500: #78716C;--stone-600: #57534E;--stone-700: #44403C;--stone-800: #292524;--stone-900: #1C1917;--bg: #FAF9F7;--surface: #FFFFFF;--text: #1C1917;--text-secondary: #57534E;--text-muted: #A8A29E;--border: #E7E5E4;--border-strong:#D6D3D1;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full:9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 8px -2px rgba(0,0,0,.08), 0 2px 4px -2px rgba(0,0,0,.04);--shadow-lg: 0 12px 20px -4px rgba(0,0,0,.1), 0 4px 8px -2px rgba(0,0,0,.04);--shadow-xl: 0 24px 40px -8px rgba(0,0,0,.12), 0 8px 16px -4px rgba(0,0,0,.06);--ease: cubic-bezier(.16, 1, .3, 1);--transition:.18s ease;--transition-slow: .3s var(--ease);--navbar-height: 64px;--container: 1200px;--primary: var(--brand);--primary-dark: var(--brand-dark);--secondary: var(--found);--secondary-dark:var(--found-dark);--bg-white: var(--surface);--text-light: var(--text-secondary);--border-radius: var(--radius);--shadow-legacy: var(--shadow)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}img,svg{display:block;max-width:100%}button{font-family:inherit}h1,h2,h3,h4,h5,h6{line-height:1.25;font-weight:700;color:var(--text);letter-spacing:-.02em}h1{font-size:clamp(1.75rem,4vw,2.5rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:1.25rem}h4{font-size:1.05rem}p{color:var(--text-secondary);line-height:1.7}p+p{margin-top:.6em}a{color:var(--brand);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--brand-dark);text-decoration:underline}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.56rem 1.2rem;font-size:.9rem;font-weight:600;font-family:inherit;border:1.5px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);text-decoration:none;white-space:nowrap;line-height:1.4;letter-spacing:-.01em}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 1px 2px #f9731633}.btn-primary:hover:not(:disabled){background-color:var(--brand-dark);border-color:var(--brand-dark);color:#fff;text-decoration:none;box-shadow:0 4px 12px #f973164d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:var(--found);color:#fff;border-color:var(--found);box-shadow:0 1px 2px #16a34a33}.btn-secondary:hover:not(:disabled){background-color:var(--found-dark);border-color:var(--found-dark);color:#fff;text-decoration:none;box-shadow:0 4px 12px #16a34a40;transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--brand);border-color:var(--brand)}.btn-outline:hover:not(:disabled){background-color:var(--brand-dim);color:var(--brand-dark);text-decoration:none}.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background-color:var(--stone-100);color:var(--text);border-color:var(--border-strong);text-decoration:none}.btn-lost{background-color:var(--lost);color:#fff;border-color:var(--lost)}.btn-lost:hover:not(:disabled){background-color:var(--lost-dark);color:#fff;text-decoration:none}.btn-danger{background-color:var(--lost);color:#fff;border-color:var(--lost)}.btn-danger:hover:not(:disabled){background-color:var(--lost-dark);color:#fff;text-decoration:none}.btn-danger-ghost{background:transparent;color:var(--lost);border-color:color-mix(in srgb,var(--lost) 35%,transparent)}.btn-danger-ghost:hover:not(:disabled){background:var(--lost-bg);border-color:var(--lost);text-decoration:none}.btn-reunite{background:var(--found-bg);color:var(--found);border-color:color-mix(in srgb,var(--found) 35%,transparent)}.btn-reunite:hover:not(:disabled){background:color-mix(in srgb,var(--found) 15%,transparent);border-color:var(--found);text-decoration:none}.btn-xs{padding:.22rem .6rem;font-size:.75rem;border-radius:var(--radius-sm)}.btn-sm{padding:.38rem .85rem;font-size:.82rem;border-radius:var(--radius-sm)}.btn-lg{padding:.75rem 1.6rem;font-size:1rem;border-radius:var(--radius)}.btn-xl{padding:.9rem 2rem;font-size:1.05rem;border-radius:var(--radius)}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],select,textarea{display:block;width:100%;padding:.58rem .9rem;font-size:.92rem;font-family:inherit;line-height:1.5;color:var(--text);background-color:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #f9731624}input::placeholder,textarea::placeholder{color:var(--stone-400)}textarea{resize:vertical;min-height:96px}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2378716C' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem;cursor:pointer}label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.87rem;color:var(--text);letter-spacing:-.01em}.form-group{margin-bottom:1.1rem}.form-error{color:var(--lost);font-size:.8rem;margin-top:.3rem;display:flex;align-items:center;gap:.25rem}.form-hint{color:var(--text-muted);font-size:.8rem;margin-top:.3rem}.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}.page-content{padding:2rem 1.5rem;max-width:var(--container);margin:0 auto;flex:1}.card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.card-body{padding:1.5rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent}.badge-lost{background-color:var(--lost-bg);color:var(--lost-dark);border-color:var(--lost-border)}.badge-found{background-color:var(--found-bg);color:var(--found-dark);border-color:var(--found-border)}.badge-resolved{background-color:var(--resolved-bg);color:var(--resolved);border-color:var(--resolved-border)}.badge-deceased{background-color:#f5f5f5;color:#555;border-color:#ccc}.spinner-wrapper{display:flex;justify-content:center;align-items:center;padding:4rem 1rem}.spinner{width:40px;height:40px;border:3px solid var(--stone-200);border-top-color:var(--brand);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.85rem 1.1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem;border:1px solid transparent}.alert-success{background:var(--found-bg);color:var(--found-dark);border-color:var(--found-border)}.alert-error{background:var(--lost-bg);color:var(--lost-dark);border-color:var(--lost-border)}.alert-info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.empty-state{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.empty-state-icon{font-size:3.5rem;margin-bottom:1rem;line-height:1}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.1rem}.empty-state p{font-size:.9rem;max-width:340px;margin:0 auto 1.25rem}.pagination{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:1.75rem 0 .5rem;flex-wrap:wrap}.pagination button{min-width:36px;height:36px;padding:0 .55rem;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-sm);font-weight:600;font-size:.87rem;transition:all var(--transition)}.pagination button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-dim)}.pagination button.active{background-color:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 2px 6px #f973164d}.pet-card-color-pills,.pet-detail-color-pills{display:flex;flex-wrap:wrap;gap:.3rem}.color-pill{display:inline-flex;align-items:center;gap:.28rem;padding:.18rem .55rem .18rem .32rem;border:1px solid var(--border);border-radius:var(--radius-full);font-size:.73rem;font-weight:500;background:var(--stone-50);color:var(--text-secondary)}.color-pill__swatch{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.d-flex{display:flex}.align-center{align-items:center}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.5rem}
