@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--accent:#f06c57;--accent-dark:#db5944;--ink:#26312d;--ink-soft:#4d6259;--muted:#7a8c82;--bg:#f9faf8;--card:#fff;--border:#e8ede6;--mint:#d7f2e5;--cream:#fff8f1;--shadow:0 12px 35px rgba(35,59,43,.045);--radius:18px;--font:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:'Outfit',var(--font)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{flex-shrink:0;vertical-align:middle}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.035em;line-height:1.18}h1{font-size:clamp(2.1rem,4vw,3.2rem)}h2{font-size:1.55rem}h3{font-size:1.1rem}p{line-height:1.66}small,.small{font-size:.8rem}.muted{color:var(--muted)}.tiny{font-size:.77rem;color:var(--muted);line-height:1.55}.icon{vertical-align:middle}.divider{height:1px;background:var(--border);margin:22px 0}.eyebrow{font:800 .7rem var(--display);letter-spacing:.16em;color:var(--accent);text-transform:uppercase}.price{color:var(--accent-dark);font-family:var(--display);font-size:1.13rem}.back-link{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-weight:700;font-size:.87rem;margin-bottom:22px}.back-link:hover{color:var(--accent)}.body-copy{color:var(--ink-soft);white-space:normal;line-height:1.8}
.btn{border-radius:12px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;font-size:.9rem;font-weight:800;font-family:var(--display);line-height:1.25;text-align:center;transition:transform .16s,background .16s,box-shadow .16s;white-space:normal}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px rgba(240,108,87,.16)}.btn-primary:hover{background:var(--accent-dark)}.btn-white{background:#fff;color:var(--ink)}.btn-white:hover{background:#fff9ef}.btn-outline{border:1px solid #dce7dd;background:#fff;color:var(--ink)}.btn-outline:hover{border-color:var(--accent);color:var(--accent-dark)}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:#f8ebe6}.btn-sm{padding:9px 13px;font-size:.82rem}.btn-xs{padding:6px 10px;font-size:.75rem;border-radius:8px}.btn-lg{padding:15px 20px}.btn-xl{padding:17px 27px;font-size:.94rem;border-radius:15px}.btn-wide{width:100%}.status{display:inline-flex;align-items:center;border-radius:50px;font-size:.72rem;font-weight:800;padding:4px 9px;white-space:nowrap}.status-ok{background:#e3f5e7;color:#28784c}.status-warn{background:#fff2db;color:#9d6b2d}.status-bad{background:#ffe8e6;color:#ac4d40}.category-label{color:var(--accent-dark);background:#fff1ed;display:inline-block;border-radius:7px;padding:4px 8px;font-size:.72rem;font-weight:800;text-transform:capitalize;margin-bottom:8px}
input,select,textarea{width:100%;background:#fff;border:1px solid #dfe6df;color:var(--ink);border-radius:11px;padding:11px 13px;outline:none;transition:border-color .2s,box-shadow .2s;max-width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(240,108,87,.1)}input::placeholder,textarea::placeholder{color:#a0aca3}label{display:block;color:#4c5f55;font-size:.83rem;font-weight:700;margin-bottom:15px}label input,label textarea,label select{margin-top:7px;font-weight:500}textarea{resize:vertical;min-height:72px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-stack label{margin-bottom:15px}.form-stack h3,.form-section-heading{border-top:1px solid var(--border);padding-top:20px;margin-top:22px}.form-card,.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:25px;margin-bottom:20px}.form-card h3,.panel h2{font-family:var(--display);margin-bottom:15px}.narrow-card{max-width:670px}.panel > p.muted{margin-top:-7px;font-size:.85rem}.upload-zone{border:2px dashed #dce6dc;border-radius:14px;background:#fbfdfa;padding:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;color:var(--ink)}.upload-zone svg{color:var(--accent)}.upload-zone span{font-family:var(--display);font-weight:800}.upload-zone small{color:var(--muted)}.upload-zone input{border:0;box-shadow:none;width:auto;max-width:100%;font-size:.75rem}.image-preview{max-height:320px;max-width:100%;margin:10px auto 18px;border-radius:12px;object-fit:contain}.info-box{display:flex;align-items:flex-start;gap:15px;background:#eff8f2;border:1px solid #d9ecde;border-radius:var(--radius);padding:19px 21px;color:#385b42;margin:18px 0 23px}.info-box>span{font-size:1.6rem}.info-box strong{font-family:var(--display);font-size:1rem}.info-box p{font-size:.85rem;margin:4px 0 0;color:#5f7666}.info-foot{color:var(--muted);font-size:.8rem;line-height:1.8;margin:27px 0 10px;padding:15px 17px;border-left:3px solid #dce7dd;background:#f3f7f2;border-radius:0 8px 8px 0}.alert{padding:10px 14px;margin:12px 0;border-radius:10px;font-size:.85rem}.alert-error{background:#ffe8e3;color:#a24536}.toast{position:fixed;right:24px;top:20px;max-width:400px;z-index:1000;padding:14px 43px 14px 17px;border-radius:14px;background:#e6f6e7;color:#2a6541;border:1px solid #bce3c5;box-shadow:0 10px 55px rgba(31,46,34,.18);font-weight:700;font-size:.86rem}.toast-error{background:#fff0eb;border-color:#ffd1c6;color:#a04e3b}.toast-info{background:#eef3ff;border-color:#d5e3ff;color:#46668e}.toast-dismiss{position:absolute;right:9px;top:7px;border:0;background:transparent;color:inherit;font-size:1.3rem}.honeypot{display:none!important}
/* Shared brand and landing */
.brand{font:800 1.65rem var(--display);letter-spacing:-.06em;display:inline-flex;align-items:center;gap:9px;color:#263f35;white-space:nowrap}.brand small{color:var(--accent);font-size:1.2em}.brand-paw{font-size:1.2rem;display:inline-grid;place-items:center;border-radius:12px;width:36px;height:36px;background:#fff0e7;box-shadow:inset 0 0 0 1px #fce6d9}.guest-body{background:#fffefa}.guest-nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1280px;padding:0 35px;margin:auto}.guest-nav-links{display:flex;gap:38px}.guest-nav-links a{font-weight:700;font-size:.91rem;color:#65756c}.guest-nav-links a:hover{color:var(--accent)}.header-guest-actions{display:flex;align-items:center;gap:8px}.hero{max-width:1280px;padding:58px 35px 85px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;min-height:620px}.hero-content{max-width:570px}.hero-kicker{display:inline-flex;gap:8px;align-items:center;background:#fff0ea;color:#c15d46;border-radius:70px;padding:10px 15px;font:800 .72rem var(--display);letter-spacing:.1em;margin-bottom:25px}.tiny-sparkle{font-size:1.1rem}.hero-content h1{font-size:clamp(3.2rem,5.6vw,5.5rem);letter-spacing:-.065em;font-weight:800;line-height:1.04;color:#233e31;margin:0 0 24px}.hero-content h1::first-letter{color:var(--accent)}.hero-content p{font-size:1.1rem;color:#738679;max-width:480px;line-height:1.8}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:29px 0 30px}.hero-proof{display:flex;align-items:center;gap:16px;color:#7a8d7b;font-size:.83rem}.hero-proof strong{color:#49604b}.avatar-stack{display:flex;padding-left:6px}.avatar-stack span{display:grid;place-items:center;width:34px;height:34px;margin-left:-7px;background:#e7f7e9;border:3px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0001;font-size:1rem}.avatar-stack span:nth-child(2){background:#fff0da}.avatar-stack span:nth-child(3){background:#f4e8f3}.avatar-stack span:nth-child(4){background:#e9f4ff}.hero-visual{position:relative;height:540px;isolation:isolate;display:grid;place-items:center}.hero-shape{position:absolute;border-radius:38% 62% 62% 38% / 50% 45% 55% 50%;inset:30px 20px;background:#f6e5d9;transform:rotate(-13deg);z-index:-2}.hero-shape-two{inset:75px 48px 45px 30px;background:#c6e8d6;transform:rotate(18deg);z-index:-1}.hero-art{position:absolute;inset:10px}.hero-pet{font-size:clamp(5rem,11vw,10rem);position:absolute;filter:drop-shadow(0 16px 12px rgba(40,70,41,.12))}.pet-1{left:13%;bottom:20%;transform:rotate(-15deg)}.pet-2{right:13%;top:13%;transform:rotate(15deg)}.pet-3{right:13%;bottom:18%;font-size:6.4rem}.pet-4{left:17%;top:8%;font-size:5.4rem}.floating-heart,.floating-paw{position:absolute;color:#ff816c;font-size:2.7rem;left:49%;top:22%;transform:rotate(16deg)}.floating-paw{left:53%;top:50%;font-size:2.1rem}.hero-mini-card{position:absolute;bottom:35px;left:-15px;display:flex;align-items:center;gap:12px;max-width:330px;padding:15px;background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(54,77,53,.14);transform:rotate(-4deg)}.mini-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f8eee0;font-size:1.65rem}.hero-mini-card strong{display:block;font:.86rem var(--display);font-weight:800}.hero-mini-card small{display:block;color:var(--muted);font-size:.69rem}.heart-bubble{color:#fb886e;padding:3px;font-size:1.2rem}.hero-preview-label{position:absolute;right:16px;bottom:6px;color:#87978c;font-size:.66rem}.landing-feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;max-width:1180px;margin:auto;padding:32px 20px;border-top:1px solid #f0f2e9;border-bottom:1px solid #f0f2e9}.landing-feature-strip>div{font-size:1.55rem;text-align:center}.landing-feature-strip strong{display:block;font:.97rem var(--display);font-weight:800;margin-top:4px}.landing-feature-strip small{font-size:.78rem;color:var(--muted)}.landing-section{max-width:1200px;padding:100px 24px;margin:auto}.center{text-align:center}.section-heading h2{font-size:clamp(2.4rem,4vw,3.5rem);margin:15px 0;color:#29483a}.section-heading p{color:var(--muted);margin-bottom:45px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.feature-card{padding:30px 24px;border-radius:22px;min-height:302px}.feature-card h3{font-size:1.35rem;margin:14px 0 10px}.feature-card p{font-size:.87rem;color:#64796a;margin-bottom:20px;line-height:1.7}.feature-card a{font-size:.82rem;font-weight:800;display:flex;align-items:center;gap:6px;color:#39624f}.feature-emoji{font-size:3rem}.feature-card.peach{background:#fff0e9}.feature-card.mint{background:#e4f6ed}.feature-card.lavender{background:#f4edfd}.feature-card.butter{background:#fff7da}.landing-cta{background:#295441;position:relative;overflow:hidden;color:#fff;text-align:center;padding:85px 24px 100px}.landing-cta>span{font:800 .72rem var(--display);letter-spacing:.15em;color:#b2e2c4}.landing-cta h2{font-size:clamp(2.4rem,4.5vw,4rem);margin:17px 0}.landing-cta p{color:#c9dfcf;margin-bottom:26px}.cta-pattern{font-size:3rem;letter-spacing:30px;opacity:.18;position:absolute;left:0;right:0;top:-10px;white-space:nowrap}.public-footer{max-width:1200px;margin:auto;padding:38px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.78rem}.public-footer strong{font:800 1.35rem var(--display);color:#29483a;display:block}.public-footer a{margin-right:17px}.public-footer a:hover{color:var(--accent)}
/* Login */
.auth-container{max-width:1060px;margin:30px auto 105px;padding:20px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:570px}.auth-illustration{border-radius:25px 0 0 25px;background:linear-gradient(155deg,#ccebd9,#fcdfcb);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:55px;overflow:hidden}.auth-art{font-size:8rem;position:relative;line-height:1.3;filter:drop-shadow(0 15px 10px #44784c22)}.auth-art span{position:absolute;font-size:5rem;bottom:-10px;right:-75px}.auth-illustration h2{font-size:2.2rem;color:#335740;max-width:330px;margin:14px 0}.auth-illustration p{color:#667e6d;max-width:320px}.auth-dots{display:flex;gap:7px;margin-top:22px}.auth-dots i{width:8px;height:8px;border-radius:8px;background:#fff9}.auth-dots i:first-child{width:25px;background:#fff}.auth-box{background:#fff;border:1px solid #eaece5;border-radius:0 25px 25px 0;padding:65px 48px}.auth-box h1{font-size:2.15rem;margin:13px 0 10px}.auth-box>p{color:var(--muted);margin-bottom:25px}.auth-switch{text-align:center;margin-top:23px;font-size:.9rem}.auth-switch a,.auth-box a{color:var(--accent-dark);font-weight:800}
/* App shell */
.app-body{background:#f8faf7}.app-layout{display:flex;min-height:100vh}.sidebar{background:#fff;flex:0 0 252px;width:252px;border-right:1px solid var(--border);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:26px 16px 17px;overflow-y:auto}.brand-side{margin:3px 12px 31px}.sidebar-label{font-size:.66rem;color:#a2ada6;font-weight:800;letter-spacing:.16em;margin:9px 15px 11px}.sidebar-links{display:flex;flex-direction:column;gap:3px;margin-bottom:22px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;color:#64766b;font:600 .88rem var(--font);transition:background .18s,color .18s}.nav-link svg{color:#92a198}.nav-link:hover{background:#f8f6f2;color:var(--accent-dark)}.nav-link.is-active{background:#fff0e9;color:#d35c48;font-weight:800}.nav-link.is-active svg{color:#e96f55}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:18px}.sidebar-user{display:flex;align-items:center;gap:9px;padding:7px;border-radius:12px}.sidebar-user:hover{background:#f8faf8}.sidebar-user>span:nth-child(2){min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:.84rem}.sidebar-user small{color:var(--muted);font-size:.72rem}.sidebar-user svg{color:#9aaba1}.avatar{display:inline-grid;place-items:center;width:43px;height:43px;background:#fff0e7;border:2px solid #fff;border-radius:50%;font-size:1.3rem;flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:36px;height:36px;font-size:1.1rem}.avatar-xs{width:28px;height:28px;font-size:.93rem}.avatar-lg{width:73px;height:73px;font-size:2rem}.app-column{min-width:0;flex:1}.app-header{height:76px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 34px;position:sticky;top:0;z-index:10}.mobile-brand{display:none}.header-search{display:flex;align-items:center;gap:10px;background:#f6f8f5;border:1px solid #f1f3ee;border-radius:12px;max-width:460px;flex:1;padding:0 15px;color:#91a195}.header-search input{border:0;outline:0;box-shadow:none!important;background:transparent;padding:12px 0;font-size:.83rem}.header-search input:focus{box-shadow:none}.header-actions{display:flex;align-items:center;gap:14px}.header-icon{position:relative;display:grid;place-items:center;width:39px;height:39px;border-radius:12px;border:1px solid #edf1e9;color:#789082}.header-icon:hover{background:#f6f9f4}.unread-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;background:var(--accent);border-radius:50%}.header-user{display:grid;place-items:center}.app-main{max-width:1430px;margin:auto;padding:31px 35px 75px}.mobile-bottom-nav{display:none}.page-intro{margin:0 0 24px}.page-intro h1{font-size:2.5rem;letter-spacing:-.05em;margin:6px 0 7px}.page-intro p{color:var(--muted);font-size:.95rem;max-width:630px}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:19px 0}.section-toolbar strong,.feed-list-title strong{font:800 1.04rem var(--display)}.section-toolbar>span{color:var(--muted);font-size:.82rem}.subsection-title{font-size:1.28rem;margin:32px 0 14px}.count-circle{color:var(--accent);font-size:.85rem;margin-left:5px}
/* Feed */
.content-layout{display:grid;grid-template-columns:minmax(0,680px) 286px;gap:26px;align-items:start;max-width:1010px;margin:0 auto}.feed-main{min-width:0}.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:21px}.welcome-row h1{font-size:2.12rem;max-width:485px;margin:4px 0}.welcome-row h1 span{font-size:1.7rem}.welcome-row p{color:var(--muted);font-size:.88rem;margin:0}.welcome-row>.btn{flex:none}.announcement{background:#e9f8ed;border:1px solid #d9f0df;border-radius:15px;display:flex;gap:12px;align-items:center;padding:13px 16px;margin-bottom:18px;color:#53765b}.announcement span{font-size:1.3rem}.announcement p{margin:0;font-size:.82rem}.compose-box{display:flex;align-items:center;gap:15px;background:#fff;padding:16px 20px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:26px;color:#9aa79e;box-shadow:var(--shadow);font-size:.87rem}.compose-box>span:nth-child(2){flex:1}.compose-media{color:var(--accent-dark);border-left:1px solid var(--border);display:flex;align-items:center;gap:7px;padding-left:14px;font-weight:800;font-size:.8rem}.feed-list-title{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.feed-list-title span{color:var(--muted);font-size:.78rem}.onboarding-call{display:flex;gap:22px;align-items:center;background:#fcece0;border:1px solid #f7dfd3;border-radius:18px;padding:25px;margin-bottom:24px}.onboarding-art{font-size:4rem}.onboarding-call h3{font-size:1.22rem;margin:5px 0}.onboarding-call p{color:#866c5a;font-size:.82rem;margin:0 0 14px}.post-card{background:#fff;border:1px solid var(--border);border-radius:19px;margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow)}.post-head{display:flex;align-items:center;justify-content:space-between;padding:17px 19px 12px;gap:10px}.post-author{display:flex;align-items:center;gap:10px}.post-author strong,.post-author small{display:block}.post-author strong{font:800 .92rem var(--display)}.post-author small{font-size:.73rem;color:var(--muted)}.post-tags{display:flex;align-items:center;gap:8px}.post-kind{background:#eaf4e9;border-radius:5px;padding:5px 9px;color:#5c906c;font-size:.7rem;font-weight:800}.icon-button{border:0;background:transparent;color:#95a299;padding:4px}.icon-button:hover{color:var(--accent)}.post-caption{padding:5px 21px 16px;color:#425748;font-size:.92rem;white-space:normal;line-height:1.75}.post-photo{background:#f7f1e9;width:100%;max-height:550px;display:flex;align-items:center;justify-content:center}.post-photo img{width:100%;max-height:550px;object-fit:contain}.post-actions{display:flex;align-items:center;padding:9px 17px;border-bottom:1px solid var(--border);gap:16px}.post-actions form{margin:0}.post-action{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;padding:7px 2px;color:#819389;font-size:.8rem;font-weight:800}.post-action:hover,.action-liked{color:var(--accent)}.post-comments{padding:11px 17px 17px}.comment-row{display:flex;align-items:flex-start;gap:8px;margin:8px 0}.comment-row>div{font-size:.8rem;line-height:1.5;background:#f6f8f5;border-radius:10px;padding:7px 10px;color:#50665a}.comment-row strong{color:var(--ink);font-weight:800;margin-right:3px}.post-comments form{display:flex;align-items:center;gap:7px;margin-top:10px}.comment-input{background:#f7f9f6;border:1px solid #eef1eb;border-radius:100px;padding:10px 13px;font-size:.81rem;flex:1}.comment-send{border:0;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;color:#fff;background:var(--accent)}.feed-rail{padding-top:8px}.rail-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:19px;margin-bottom:18px}.rail-welcome{background:#2d6249;color:#fff;overflow:hidden;position:relative}.rail-mini-title{font:800 .65rem var(--display);letter-spacing:.11em;color:#b9e1c7}.rail-big-emoji{font-size:3rem;margin:13px 0}.rail-welcome h3{font-size:1.38rem;margin:10px 0 6px}.rail-welcome p{color:#cce6d4;font-size:.8rem;line-height:1.7}.rail-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.rail-card-head h3{font-size:1rem;margin:0}.rail-card-head a{font-size:.72rem;color:var(--accent);font-weight:800}.suggestion-row{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #f2f4ef}.suggestion-row>span:nth-child(2){flex:1;min-width:0}.suggestion-row strong,.suggestion-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-row strong{font-size:.83rem}.suggestion-row small{color:var(--muted);font-size:.7rem}.suggestion-row svg{color:#9aa99d}.rail-footer{font-size:.7rem;color:#9eaaa1;line-height:1.8;text-align:center}.rail-footer p{margin-top:2px}
/* Cards and directories */
.empty-state{text-align:center;padding:57px 25px;background:#fff;border:1px dashed #d7e4d7;border-radius:20px;margin:19px 0 25px}.empty-icon{font-size:3.4rem;margin:0 auto 9px}.empty-state h3{font-size:1.38rem;margin:7px 0}.empty-state p{color:var(--muted);max-width:390px;margin:0 auto 22px;font-size:.9rem}.pet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:28px}.pet-tile{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:15px 13px;min-width:0;transition:transform .15s,box-shadow .15s}.pet-tile:hover,.listing-card:hover{transform:translateY(-3px);box-shadow:0 15px 25px #2d4e3c0e}.pet-tile-photo{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:#fbe9dc;overflow:hidden;flex:none;font-size:2rem}.pet-tile-photo img{width:100%;height:100%;object-fit:cover}.pet-tile-text{flex:1;min-width:0}.pet-tile strong,.pet-tile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pet-tile strong{font:800 .93rem var(--display)}.pet-tile small{color:var(--muted);font-size:.72rem}.round-arrow{width:24px;height:24px;border-radius:50%;background:#f5f7f3;display:grid;place-items:center;color:#93a499}.pet-hero{border:1px solid var(--border);background:#fff;border-radius:22px;overflow:hidden;max-width:900px;margin-bottom:25px}.pet-hero-banner{height:165px;background:linear-gradient(135deg,#fff0dc,#d1f0dd);position:relative;display:flex;justify-content:space-around;align-items:center;font-size:3rem;color:#f9c0a0}.pet-hero-banner span:nth-child(2){font-size:4rem}.pet-hero-details{display:flex;gap:26px;padding:0 30px 27px}.pet-hero-avatar{width:120px;height:120px;border-radius:25px;border:5px solid #fff;display:grid;place-items:center;background:#fff0e6;font-size:4.4rem;flex:none;overflow:hidden;margin-top:-54px;z-index:1;box-shadow:0 5px 14px #0001}.pet-hero-avatar img{width:100%;height:100%;object-fit:cover}.pet-hero-content{flex:1;min-width:0;padding-top:16px}.pet-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pet-title-row h1{font-size:2.1rem;margin-bottom:5px}.pet-title-row h1 span{font-size:1.4rem}.pet-meta{font-size:.83rem;color:var(--muted);margin-bottom:8px}.pet-bio{font-size:.86rem;color:#5c6c60;max-width:600px}.profile-actions{display:flex;align-items:center;gap:6px}.profile-stats{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:.77rem}.profile-stats strong{color:var(--ink)}.narrow-feed{max-width:670px}.filter-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:15px;padding:11px;margin:18px 0 21px;box-shadow:var(--shadow)}.filter-bar input,.filter-bar select{flex:1;min-width:0;margin:0;border:none;background:#f8faf7}.filter-bar>svg{color:#8fa096;margin-left:6px}.directory-hero{min-height:175px;border-radius:22px;background:linear-gradient(115deg,#e3f4e8,#fef1e7);display:flex;align-items:center;justify-content:space-between;padding:30px 45px;overflow:hidden;gap:20px}.directory-hero h1{font-size:2.6rem;margin:8px 0 10px}.directory-hero p{color:#617a69;margin:0;font-size:.9rem}.directory-emoji{font-size:4.8rem;letter-spacing:.06em;white-space:nowrap}.market-hero{background:linear-gradient(120deg,#fff1dc,#ecf4e4)}.rescue-hero{background:linear-gradient(120deg,#f6e9f9,#fbece2)}.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.listing-card{background:#fff;border:1px solid var(--border);border-radius:17px;overflow:hidden;transition:transform .15s,box-shadow .15s;min-width:0}.listing-img{height:205px;background:#f1f4ed;overflow:hidden;display:grid;place-items:center}.listing-img img{width:100%;height:100%;object-fit:cover}.listing-placeholder{font-size:5rem;display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#f1f7eb,#f9e9e1)}.listing-meta{padding:17px}.listing-meta h3{font-size:1.2rem;margin:0 0 8px}.listing-meta p{display:flex;align-items:center;gap:3px;color:#859489;font-size:.78rem;margin:7px 0 5px}.listing-explore{display:flex;align-items:center;gap:5px;margin-top:14px;color:var(--accent-dark);font-weight:800;font-size:.78rem}.detail-page{max-width:1100px}.detail-cover{display:flex;gap:24px;align-items:center;background:#fff;padding:25px;border:1px solid var(--border);border-radius:20px;margin-bottom:25px}.detail-cover-img{display:grid;place-items:center;width:170px;height:155px;border-radius:15px;background:#f8eee7;overflow:hidden;font-size:5rem;flex:none}.detail-cover-img img{width:100%;height:100%;object-fit:cover}.detail-cover-info h1{font-size:2.3rem;margin:0 0 8px}.detail-cover-info p{color:var(--muted);font-size:.88rem}.verified-note{font-size:.75rem;color:#588468;font-weight:700}.detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px}.service-line{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #edf0ec}.service-line:last-child{border-bottom:0}.service-line strong{font-size:.89rem}.service-line p{font-size:.8rem;color:var(--muted);margin:4px 0}.service-line small{color:var(--muted)}.booking-panel p{font-size:.82rem;color:var(--muted)}.booking-panel label{font-size:.78rem}.booking-panel h3{font-size:1.35rem;margin:6px 0 10px}.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:37px;background:#fff;border:1px solid var(--border);border-radius:22px;padding:30px}.product-image-large{background:#f2f4ee;border-radius:18px;min-height:420px;display:grid;place-items:center;overflow:hidden}.product-image-large>span{font-size:8rem}.product-image-large img{width:100%;height:100%;max-height:550px;object-fit:contain}.product-detail-info h1{font-size:2.25rem;margin:5px 0 10px}.product-detail-info>p{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:.84rem}.product-price{color:var(--accent-dark);font-size:1.8rem;margin:10px 0}.request-panel{box-shadow:none;margin-top:22px;padding:20px;background:#fbfcfa}.request-panel h3{margin-bottom:12px}.chip-tabs{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;padding:9px 14px;border:1px solid var(--border);border-radius:30px;background:#fff;color:#7e8e83;font-weight:800;font-size:.8rem}.chip.selected{color:#fff;background:var(--accent);border-color:var(--accent)}
/* Management, account and messages */
.management-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border:1px solid var(--border);border-radius:14px;background:#fff;margin-bottom:9px}.management-item>div:first-child{min-width:0}.management-item strong{font-size:.87rem;display:block}.management-item p{font-size:.82rem;color:#67796c;margin:4px 0 2px;overflow-wrap:anywhere}.management-item small{color:#91a097;font-size:.73rem;overflow-wrap:anywhere}.manage-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.manage-actions form{margin:0}.business-panel{margin-top:14px}.business-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.business-head>div{display:flex;gap:12px;align-items:center}.business-head h3{margin:0;font-size:1.23rem}.business-head p{margin:4px 0 0;font-size:.78rem;color:var(--muted)}.details-form{padding:10px 0}.details-form summary{cursor:pointer;color:var(--accent-dark);font-size:.85rem;font-weight:800}.details-form[open] form{margin-top:16px}.text-link{color:var(--accent-dark);font-weight:800;font-size:.83rem}.reply-bubble{background:#ebf7f1;border-left:3px solid #a1d3b6;padding:10px 12px;border-radius:0 9px 9px 0;font-size:.83rem;max-width:560px}.reply-side{width:min(220px,100%)}.reply-side textarea{margin:8px 0}.reminder-icon,.notification-emoji{font-size:1.6rem;flex:none}.reminder-done{opacity:.56}.notification-unread{border-left:4px solid var(--accent)}.account-profile{display:flex;gap:16px;align-items:center;background:#fff;padding:20px;border:1px solid var(--border);border-radius:18px;margin:15px 0 20px}.account-profile h2{margin:0 0 3px}.account-profile p{font-size:.8rem;color:var(--muted);margin:0 0 7px}.account-links{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.account-links a{display:block;border:1px solid var(--border);border-radius:10px;padding:13px;background:#fbfdfb;color:#59735f;font-weight:700;font-size:.83rem}.account-links a:hover{color:var(--accent)}.danger-zone p{color:var(--muted);font-size:.84rem}
/* Admin */
.admin-banner{background:#2f6048;color:#fff;border-radius:17px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.admin-banner>div{display:flex;align-items:center;gap:12px}.admin-banner>div>span{font-size:2rem}.admin-banner strong{font-size:.93rem}.admin-banner p{font-size:.79rem;color:#d3e7d8;margin:3px 0 0}.admin-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:9px;margin:0 0 16px}.admin-tabs a{white-space:nowrap;border-radius:9px;padding:9px 13px;background:#fff;border:1px solid var(--border);color:#738275;font-size:.8rem;font-weight:800}.admin-tabs a.active{background:#ffece5;color:#cf624c;border-color:#f5d8ce}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 23px}.stat-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:19px 16px;display:flex;flex-direction:column;gap:5px}.stat-card>span{font-size:1.5rem}.stat-card strong{font:800 1.8rem var(--display);color:#2f4c38}.stat-card small{color:#95a49a;font-size:.77rem}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-grid a{border:1px solid var(--border);padding:14px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;font-size:.83rem;font-weight:800}.quick-grid a:hover{border-color:#e8bbac}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:700px;font-size:.78rem}.data-table th{text-align:left;color:#98a59b;font-size:.7rem;letter-spacing:.04em;background:#f8faf6;padding:12px 11px}.data-table td{padding:14px 11px;border-bottom:1px solid #eff2ed;vertical-align:middle}.data-table td strong{display:block;font-size:.8rem}.data-table td small{display:block;color:#9aa79c;font-size:.69rem;max-width:370px}.table-actions{display:flex;gap:5px;flex-wrap:wrap}.table-actions form{margin:0}.switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 25px}.switch-line{display:flex;justify-content:space-between;align-items:center;padding:13px;border:1px solid var(--border);border-radius:11px;margin:0}.switch-line>span{font-size:.82rem}.switch-line input{width:18px;height:18px;accent-color:var(--accent)}
/* Legal pages, installer, dialogs */
.policy-page{max-width:800px;background:#fff;margin:65px auto 100px;padding:50px;border-radius:22px;border:1px solid var(--border)}.policy-page h1{font-size:2.9rem;margin:12px 0}.policy-page h2{font-size:1.4rem;color:#546d59;margin-bottom:28px}.policy-page p{color:#65796b;line-height:2;margin-bottom:25px}.policy-page a:not(.btn){color:var(--accent)}.report-dialog{border:0;max-width:450px;width:calc(100vw - 30px);border-radius:20px;padding:28px;box-shadow:0 25px 70px #142d2740}.report-dialog::backdrop{background:#172b25b0}.report-dialog h3{font-size:1.5rem;margin:4px 0 7px}.report-dialog p{font-size:.82rem;color:var(--muted)}.report-dialog>form:first-child{position:absolute;top:12px;right:15px}.dialog-close{border:0;background:transparent;font-size:1.5rem;color:#89978d}.setup-body{background:linear-gradient(140deg,#f1f8ed,#fff5eb);min-height:100vh}.setup-wrap{max-width:760px;margin:0 auto;padding:55px 20px 85px}.setup-head{display:flex;align-items:center;gap:18px;margin-bottom:28px}.brand-icon{width:68px;height:68px;background:#fff;display:grid;place-items:center;border-radius:20px;font-size:2rem;box-shadow:var(--shadow)}.setup-head h1{font-size:2.1rem;margin:0}.setup-head p{color:var(--muted);margin:0}.setup-card{background:#fff;border:1px solid var(--border);border-radius:23px;padding:35px 40px;box-shadow:0 14px 45px #425f3f11}.setup-card h2{font-size:1.55rem;margin:13px 0}.setup-card>p{color:var(--muted);font-size:.9rem}.setup-card h3{font-size:1.08rem}.step-pill{display:inline-block;padding:5px 10px;background:#e9f8ec;border-radius:30px;color:#47845b;font-size:.7rem;font-weight:800;letter-spacing:.12em}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:20px 0}.check-grid span{border-radius:8px;padding:8px 12px;font-size:.78rem;font-weight:800}.check-yes{background:#e8f8ec;color:#478256}.check-no{background:#ffebea;color:#ad4d48}.huge-emoji{font-size:4rem}.note-warn{background:#fff2de;color:#805e28!important;padding:15px;border-radius:12px;font-size:.83rem;margin-top:25px}
@media(max-width:1240px){.app-main{padding:29px 25px 72px}.content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.feature-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:25px}.hero-content h1{font-size:4.45rem}}@media(max-width:1060px){.sidebar{width:205px;flex-basis:205px;padding:20px 10px}.nav-link{gap:8px;font-size:.82rem;padding:11px 10px}.brand-side{margin-left:8px}.content-layout{grid-template-columns:minmax(0,1fr)}.feed-rail{display:none}.feed-main{max-width:710px;margin:auto}.stats-grid{grid-template-columns:repeat(2,1fr)}.listing-grid{grid-template-columns:repeat(2,1fr)}.pet-grid{grid-template-columns:repeat(2,1fr)}.hero-content h1{font-size:3.75rem}.hero{min-height:550px}.hero-visual{height:475px}}
@media(max-width:760px){.guest-nav{height:72px;padding:0 17px}.guest-nav-links{display:none}.header-guest-actions .btn-ghost{display:none}.brand{font-size:1.46rem}.hero{display:flex;flex-direction:column;min-height:0;padding:34px 22px 45px;gap:12px}.hero-content{text-align:center}.hero-kicker{font-size:.62rem}.hero-content h1{font-size:clamp(3.1rem,12vw,4.3rem)}.hero-content p{font-size:.98rem}.hero-actions{justify-content:center}.hero-proof{justify-content:center}.hero-visual{width:100%;height:335px}.hero-pet{font-size:5rem}.pet-1{left:14%;bottom:12%}.pet-2{right:20%;top:7%}.pet-3{right:10%;bottom:10%;font-size:3.9rem}.pet-4{left:18%;top:4%;font-size:3.2rem}.hero-mini-card{bottom:5px;left:8%;transform:rotate(-2deg);padding:9px;max-width:275px}.hero-mini-card strong{font-size:.76rem}.hero-mini-card small{font-size:.59rem}.landing-feature-strip{grid-template-columns:repeat(2,1fr);row-gap:22px;padding:25px 10px}.landing-section{padding:57px 19px}.section-heading h2{font-size:2.5rem}.feature-grid{grid-template-columns:1fr 1fr;gap:11px}.feature-card{min-height:0;padding:21px 16px}.feature-card h3{font-size:1.1rem}.feature-card p{font-size:.76rem}.feature-emoji{font-size:2.5rem}.public-footer{flex-direction:column;align-items:flex-start}.auth-container{display:block;margin:10px auto 65px}.auth-illustration{display:none}.auth-box{border-radius:22px;padding:34px 23px}.app-layout{display:block}.sidebar{display:none}.app-header{height:66px;padding:0 16px;gap:15px}.mobile-brand{display:inline-flex;font-size:1.42rem}.mobile-brand .brand-paw{font-size:1rem;width:32px;height:32px}.header-search{max-width:initial;padding:0 10px}.header-search input{font-size:.76rem}.header-actions{gap:5px}.header-user .avatar{width:33px;height:33px}.app-main{padding:23px 15px 100px;max-width:750px}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;height:69px;background:#fff;box-shadow:0 -3px 22px #1b392415;border-top:1px solid var(--border);justify-content:space-around;align-items:center;z-index:20;padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav a{display:flex;align-items:center;flex-direction:column;color:#889b8d;gap:1px;min-width:47px}.mobile-bottom-nav a small{font-size:.63rem;font-weight:700}.mobile-bottom-nav .mobile-create{background:var(--accent);color:#fff;width:49px;height:49px;display:grid;place-items:center;border-radius:17px;margin-top:-22px;box-shadow:0 7px 17px #ec77644d}.mobile-create small{display:none}.page-intro h1{font-size:2.05rem}.welcome-row h1{font-size:1.8rem}.welcome-row>.btn{font-size:.75rem;padding:8px 10px}.content-layout{display:block}.feed-main{max-width:100%}.post-card{border-radius:16px}.pet-hero-details{flex-direction:column;gap:3px;padding:0 20px 23px}.pet-hero-avatar{width:96px;height:96px;margin-top:-48px}.pet-hero-content{padding-top:10px}.detail-columns,.product-detail{grid-template-columns:1fr}.detail-cover{flex-direction:column;align-items:flex-start}.detail-cover-img{width:100%;height:210px}.directory-hero{padding:24px;min-height:150px}.directory-hero h1{font-size:2rem}.directory-emoji{font-size:3rem}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-banner{flex-direction:column;align-items:flex-start}.panel,.form-card{padding:20px}.setup-wrap{padding:35px 12px}.setup-card{padding:24px 20px}.policy-page{margin:20px 12px 60px;padding:25px}.product-image-large{min-height:290px}}
@media(max-width:490px){.form-grid{grid-template-columns:1fr;gap:0}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:1.6rem}.welcome-row p{max-width:270px}.pet-grid{grid-template-columns:1fr}.listing-grid{grid-template-columns:1fr 1fr;gap:10px}.listing-img{height:145px}.listing-meta{padding:12px}.listing-meta h3{font-size:.98rem}.listing-meta p{font-size:.7rem}.listing-placeholder{font-size:3.5rem}.directory-emoji{font-size:2.3rem}.directory-hero h1{font-size:1.6rem}.directory-hero p{font-size:.78rem}.filter-bar{flex-wrap:wrap}.filter-bar input,.filter-bar select{min-width:80px}.post-actions{gap:10px}.post-action{font-size:.73rem}.post-action svg{width:18px}.pet-title-row{align-items:flex-start;flex-direction:column}.account-links,.quick-grid,.switch-grid{grid-template-columns:1fr}.management-item{align-items:flex-start;flex-wrap:wrap}.manage-actions{width:100%;justify-content:flex-start}.header-search{flex:1;min-width:60px}.header-search input{min-width:30px}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:100%}.feature-grid{grid-template-columns:1fr}.feature-card{padding:27px;min-height:0}.hero-mini-card{bottom:0;left:0}.welcome-row>.btn svg{display:none}}

.comment-delete{border:0;background:none;color:#b18c81;font-size:17px;vertical-align:middle;margin-left:4px}.comment-row form{display:inline;margin:0}.delete-pet{max-width:900px;border:1px solid #f6ddd4;background:#fff8f3;border-radius:12px;padding:11px 16px;margin:16px 0 22px;color:#ad6c54}.delete-pet summary{cursor:pointer;font-size:.78rem;font-weight:800}.delete-pet p{font-size:.75rem;margin:9px 0}.delete-pet form{margin:10px 0 0}
