:root{
  --bg:#f3efe7;
  --card:#fffdf9;
  --text:#171717;
  --muted:#6b675f;
  --accent:#e7b64b;
  --accent-dark:#2d271b;
  --line:#e5ded2;
  --shadow:0 16px 45px rgba(34,28,18,.12);
  --radius:24px;
  --primary:#b97e21;
  --success:#547956;
  --warning:#a56815;
  --danger:#a64d48;
  --owner-radius:22px;
  --owner-shadow:0 8px 26px rgba(34,28,18,.08);
}

*{
  box-sizing:border-box;
}

html,
body{
  margin:0;
  width:100%;
  min-height:100%;
  background:
    radial-gradient(circle at 15% 0%,rgba(231,182,75,.16),transparent 35%),
    var(--bg);
  color:var(--text);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
}

body{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:
    max(10px,env(safe-area-inset-top))
    10px
    max(10px,env(safe-area-inset-bottom));
  overflow:hidden;
}

.page{
  width:min(100%,440px);
  height:min(calc(100dvh - 20px),780px);
  display:flex;
  align-items:center;
}

.card{
  position:relative;
  width:100%;
  max-height:100%;
  overflow:hidden;
  background:var(--card);
  border:1px solid rgba(76,65,47,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.lang-switch{
  position:absolute;
  top:10px;
  right:10px;
  z-index:5;
  display:flex;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 4px 16px rgba(0,0,0,.10);
  backdrop-filter:blur(8px);
}

.lang-btn{
  border:0;
  background:transparent;
  color:#5f594f;
  border-radius:999px;
  padding:6px 9px;
  font-weight:850;
  font-size:12px;
  cursor:pointer;
}

.lang-btn.active{
  background:#171717;
  color:#fff;
}

.photo{
  position:relative;
  height:clamp(170px,31dvh,245px);
  overflow:hidden;
  background:#ddd6c9;
}

.photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  animation:breathe 8s ease-in-out infinite;
}

@keyframes breathe{
  0%,100%{
    transform:translateY(-3%) scale(1.05);
  }

  50%{
    transform:translateY(-3%) scale(1.075);
  }
}

.photo-badge{
  position:absolute;
  left:12px;
  bottom:10px;
  background:rgba(25,22,16,.82);
  color:#fff;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:850;
  backdrop-filter:blur(8px);
}

.content{
  padding:16px 16px 15px;
}

.topline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}

.eyebrow{
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#8a6b22;
  margin-bottom:4px;
}

h1{
  margin:0;
  font-size:42px;
  line-height:.92;
  letter-spacing:-.045em;
}

.chip{
  flex:0 0 auto;
  border-radius:999px;
  background:#f3efe7;
  padding:7px 9px;
  font-size:11px;
  font-weight:800;
  color:#5d574d;
}

.lead{
  margin:8px 0 11px;
  color:var(--muted);
  font-size:14px;
  line-height:1.36;
}

.phone-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  margin-bottom:10px;
}

.phone-label{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:750;
  margin-bottom:1px;
}

.phone{
  color:var(--text);
  text-decoration:none;
  font-size:22px;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
}

.call-mini{
  flex:0 0 auto;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--accent);
  color:var(--accent-dark);
  text-decoration:none;
  font-size:20px;
}

.actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.btn{
  min-height:47px;
  border-radius:14px;
  border:1px solid transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 9px;
  font-size:13px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  transition:transform .12s ease;
  -webkit-tap-highlight-color:transparent;
  text-align:center;
}

.btn:active{
  transform:scale(.985);
}

.btn-secondary{
  background:#fff;
  color:var(--text);
  border-color:var(--line);
}

.btn-location{
  grid-column:1/-1;
  background:#222019;
  color:#fff;
}

.status{
  display:none;
  margin-top:8px;
  border-radius:12px;
  padding:9px 10px;
  font-size:12px;
  line-height:1.35;
  background:#f1f0ec;
}

.mini-info{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid var(--line);
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  color:#6d675d;
  font-size:11px;
  line-height:1.3;
}

.mini-info strong{
  color:#2d2923;
}

@media (max-height:670px){
  .photo{
    height:150px;
  }

  .content{
    padding:12px 14px;
  }

  h1{
    font-size:36px;
  }

  .lead{
    font-size:13px;
    margin:6px 0 8px;
  }

  .phone-box{
    padding:8px 10px;
    margin-bottom:8px;
  }

  .phone{
    font-size:20px;
  }

  .btn{
    min-height:43px;
    padding:8px;
  }

  .mini-info{
    margin-top:8px;
    padding-top:7px;
  }
}

@media (max-height:580px){
  body{
    overflow:auto;
  }

  .page{
    height:auto;
  }
}

@media (prefers-reduced-motion:reduce){
  .photo img{
    animation:none;
  }
}

.pet-info-group{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.pet-info-group:first-child{margin-top:0;padding-top:0;border-top:0}
.pet-info-group h3{margin:0 0 10px;font-size:16px}
.pet-info-list{margin:0}
.pet-info-row{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr;gap:14px;padding:8px 0;border-bottom:1px solid rgba(229,222,210,.7)}
.pet-info-row dt{color:var(--muted);font-size:14px}.pet-info-row dd{margin:0;white-space:pre-wrap}
.pet-info-copy{white-space:pre-wrap;line-height:1.6}.owner-edit-form fieldset{border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:18px 0 0}.owner-edit-form legend{font-weight:800;font-size:17px;padding:0}.visibility-toggle,.checkbox-line{display:flex!important;align-items:center;gap:8px;margin:10px 0!important;font-size:13px!important;color:var(--muted)}.visibility-toggle input,.checkbox-line input{width:auto!important}
.profile-about,.profile-important,.finder-note{margin-top:22px;padding:18px;border-radius:16px;background:#faf5e9}.profile-about h2,.profile-important h2,.finder-note h2{margin:0 0 10px;font-size:17px}.profile-about p,.profile-important p,.finder-note p{margin:6px 0;white-space:pre-wrap;line-height:1.5}.finder-note{background:#fff8df;border-left:4px solid var(--accent)}
.finder-message-form{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e8dfce}.finder-message-form[hidden]{display:none}.finder-message-form label{font-weight:600}.finder-message-form textarea{width:100%;min-height:92px;resize:vertical;padding:12px;border:1px solid #d8d0c2;border-radius:12px;font:inherit}.finder-message-form small{text-align:right;color:#71695f}.finder-message-actions{display:flex;gap:8px}.finder-message-actions .contact-action{flex:1}

.profile-card>.lang-switch{position:absolute}

/* ACTIVE SmartTag profiles share the legacy Bodi card language and responsive layout. */
body.profile-body{
  display:block;
  overflow-y:auto;
}

.profile-page{
  height:auto;
  min-height:calc(100dvh - 20px);
  margin:0 auto;
}

.profile-card{
  max-height:none;
  overflow:hidden;
}

.profile-hero{
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#fffdf9,#eee5d6);
}

.profile-hero .profile-logo{
  display:block;
  width:min(48%,180px);
  height:auto;
  max-height:72%;
  padding:0;
  object-fit:contain;
  animation:none;
}

.profile-hero .pet-profile-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  animation:breathe 8s ease-in-out infinite;
}

/* Boop public pet profile */
.profile-body{--boop-bg:#f8f5ef;--boop-surface:#fff;--boop-soft:#fffaf2;--boop-text:#171c23;--boop-muted:#626a73;--boop-border:rgba(40,32,20,.09);--boop-green:#0b9964;--boop-blue:#e5f3ff;--boop-blue-text:#1769aa;--boop-whatsapp:#20ad68;--boop-location:#ed5a70;--boop-shadow:0 8px 30px rgba(39,31,20,.07);background:var(--boop-bg);color:var(--boop-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.public-header{height:72px;width:min(100% - 48px,1100px);margin:auto;display:flex;align-items:center;justify-content:space-between;background:transparent}
.public-brand{display:flex;align-items:center;gap:9px;color:var(--boop-text);text-decoration:none;font-size:25px;letter-spacing:-1px}.public-brand img{width:38px;height:38px;object-fit:contain}.public-brand strong{font-weight:800}
.public-header .lang-switch{position:static;display:flex;gap:4px}.public-header .lang-btn{border:0;border-radius:999px;background:transparent;min-width:42px;min-height:40px;font-weight:700;color:var(--boop-muted)}.public-header .lang-btn.active{background:#fff;color:var(--boop-text);box-shadow:var(--boop-shadow)}
.profile-page{width:min(100% - 48px,1100px);max-width:1100px;padding:14px 0 48px}.profile-card{overflow:visible;background:transparent;box-shadow:none;border:0;border-radius:0;padding:0}
.pet-hero{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:36px;align-items:center}.profile-hero{width:100%;height:auto;aspect-ratio:1.05/1;max-height:440px;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,#fffaf1,#f3e7d6);box-shadow:var(--boop-shadow)}.profile-hero .pet-profile-image{animation:none}.pet-photo-placeholder{width:100%;height:100%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 70% 25%,#fff 0,transparent 30%),linear-gradient(145deg,#fffaf1,#f2dfc7);color:#bf9b72}.pet-photo-placeholder span{font-size:100px;opacity:.6}.pet-photo-placeholder strong{position:absolute;font-size:62px;color:#7f6245;opacity:.8}
.pet-header{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.profile-name{margin:0;font-size:clamp(40px,4.2vw,50px);line-height:1.06;font-weight:800;letter-spacing:-1.5px;overflow-wrap:anywhere}.species-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;background:#fff0df;color:#6b5035;font-size:14px;font-weight:700}.profile-content .lead,.pet-identity .lead{margin:14px 0 22px;color:var(--boop-muted);font-size:18px;line-height:1.5}
.pet-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.pet-stat{min-width:0;min-height:88px;padding:13px 14px;display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:8px;border:1px solid var(--boop-border);border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(39,31,20,.035)}.pet-stat-icon{grid-row:1/3;color:#cd8559;font-size:21px;line-height:1.3}.pet-stat-label{font-size:12px;color:var(--boop-muted);font-weight:600}.pet-stat strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.finder-card,.pet-about{margin-top:30px;padding:24px;border-radius:22px;background:var(--boop-surface);border:1px solid var(--boop-border);box-shadow:var(--boop-shadow)}.finder-card h2{margin:0;font-size:26px;line-height:1.25;font-weight:800}.finder-card>p{margin:7px 0 18px;color:var(--boop-muted);font-size:15px}.contact-actions{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.contact-action{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 16px;border:0;border-radius:14px;color:var(--boop-text);font-size:15px;font-weight:700;line-height:1.25;text-decoration:none;white-space:normal;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.contact-action:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(25,35,45,.12)}.contact-action:focus-visible,.lang-btn:focus-visible{outline:3px solid #2a78b8;outline-offset:2px}.action-call{background:var(--boop-green);color:white}.action-sms{background:var(--boop-blue);color:var(--boop-blue-text)}.action-whatsapp{background:var(--boop-whatsapp);color:#fff}.action-location{background:var(--boop-location);color:#fff}.action-email{background:#f1f2f4;color:#30363d}.action-cancel{background:#f0eee9;color:#363a40}.finder-actions>.contact-action{flex:1.25}.finder-actions>.action-sms{flex:.85}.finder-actions>[data-location-start]{flex:1.35}.finder-actions>p,.finder-actions>dialog,.finder-actions>[data-location-result]{flex-basis:100%}
.pet-about{padding:20px 22px}.pet-about h2{margin:0 0 8px;font-size:20px}.pet-about p{margin:0;white-space:pre-wrap;font-size:16px;line-height:1.55;color:#424951}.caretakers{margin-top:32px}.caretakers>h2{margin:0 0 16px;font-size:26px;font-weight:800}.caretaker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.caretaker-card{min-width:0;padding:18px;border:1px solid var(--boop-border);border-radius:20px;background:#fff;box-shadow:var(--boop-shadow)}.caretaker-identity{display:flex;align-items:center;gap:13px;margin-bottom:16px}.caretaker-identity>div{display:grid;gap:4px;min-width:0}.caretaker-identity strong{font-size:16px;overflow-wrap:anywhere}.caretaker-avatar{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:50%;background:#f7e9d9;color:#806348;font-weight:800;font-size:16px}.caretaker-role{color:var(--boop-muted);font-size:13px}.caretaker-actions{gap:8px}.caretaker-actions .contact-action{min-height:44px;padding:9px 12px;font-size:14px;flex:1 1 auto}.owner-login{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:34px 0 0;padding:16px;color:var(--boop-muted);font-size:14px}.owner-login p{margin:0;font-weight:700;color:var(--boop-text)}.owner-login a{color:#1769aa;font-weight:700}.location-dialog{max-width:min(420px,calc(100% - 32px));border:0;border-radius:22px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.22)}.location-dialog::backdrop{background:rgba(23,28,35,.35);backdrop-filter:blur(3px)}.location-dialog form{display:grid;gap:12px}.location-dialog h2,.location-dialog p{margin:0}.location-dialog h2{font-size:22px}.location-dialog p{color:var(--boop-muted);line-height:1.5}.location-dialog button{width:100%}
@media(max-width:799px){.public-header{width:calc(100% - 32px);height:62px}.public-brand{font-size:23px}.public-brand img{width:35px;height:35px}.profile-page{width:calc(100% - 32px);padding:10px 0 32px}.pet-hero{grid-template-columns:minmax(0,1fr);gap:20px}.profile-hero{aspect-ratio:1.35/1;max-height:none;border-radius:20px}.pet-header{gap:10px}.profile-name{font-size:36px}.pet-identity .lead{font-size:16px;margin:10px 0 16px}.pet-stats{gap:9px;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.pet-stat{min-height:82px;padding:11px 9px;column-gap:5px}.pet-stat strong{font-size:14px}.finder-card,.pet-about{margin-top:22px;padding:18px;border-radius:20px}.finder-card h2{font-size:22px}.finder-card>p{font-size:14px;line-height:1.45}.finder-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.finder-actions .action-call,.finder-actions .action-sms{grid-row:1}.finder-actions .action-whatsapp,.finder-actions .action-location{grid-column:1/-1}.finder-actions>.contact-action{width:100%;min-width:0;min-height:50px;padding:10px 8px;font-size:14px}.caretakers{margin-top:24px}.caretakers>h2{font-size:22px;margin-bottom:12px}.caretaker-grid{grid-template-columns:1fr;gap:10px}.caretaker-card{padding:15px;border-radius:18px}.caretaker-identity{margin-bottom:12px}.caretaker-avatar{width:46px;height:46px;flex-basis:46px}.owner-login{margin-top:24px}.profile-card>.lang-switch{position:static}}
@media(max-width:359px){.public-header{width:calc(100% - 24px)}.profile-page{width:calc(100% - 24px)}.profile-name{font-size:32px}.pet-stat{grid-template-columns:20px 1fr}.pet-stat-icon{font-size:18px}.pet-stat strong{font-size:13px}.contact-action{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.contact-action{transition:none}.contact-action:hover{transform:none}}

/* Public profile refinement: align every section to one compact consumer layout. */
.public-header{width:min(calc(100% - 48px),1040px);height:68px;margin:0 auto}.public-brand{gap:10px;font-size:29px;letter-spacing:-1.2px}.public-brand img{width:46px;height:46px;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0}
.profile-page{width:min(calc(100% - 48px),1040px);max-width:1040px;margin:0 auto;padding:12px 0 36px}.profile-card{width:100%;padding:0}.pet-hero{grid-template-columns:minmax(420px,1.15fr) minmax(360px,.85fr);gap:40px;align-items:center}.profile-hero{width:100%;aspect-ratio:1.2/1;height:auto;max-height:none;border-radius:24px}.pet-identity{min-width:0}.profile-name{font-size:clamp(46px,4.1vw,52px);font-weight:800;line-height:1;letter-spacing:-1.8px}.pet-identity .lead{max-width:420px;margin:14px 0 22px;font-size:18px;line-height:1.45}.pet-stats{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pet-stat{min-width:0;min-height:92px;padding:14px 12px;grid-template-columns:22px minmax(0,1fr);column-gap:7px;border-color:rgba(40,32,20,.06);box-shadow:0 6px 18px rgba(30,24,15,.035)}.pet-stat strong{font-size:15px;white-space:nowrap;letter-spacing:-.2px}.pet-stat-label{font-size:12px}
.finder-card{min-height:0;height:auto;margin-top:32px;padding:22px 24px 24px;border-color:rgba(40,32,20,.06);box-shadow:0 10px 30px rgba(30,24,15,.05)}.finder-card h2{font-size:25px}.finder-card>p{margin:6px 0 16px}.finder-actions{display:flex;flex-wrap:nowrap;gap:12px}.finder-actions>.contact-action{flex:1 1 0;min-width:0;height:54px;min-height:54px;padding:12px 15px;font-size:15px}.finder-actions>.action-call{flex:1}.finder-actions>.action-sms{flex:.85}.finder-actions>.action-whatsapp{flex:1.05}.finder-actions>[data-location-start]{flex:1.35}.finder-actions>p[data-location-status]{flex-basis:100%;margin:0}.finder-actions>dialog,.finder-actions>[data-location-result]{flex-basis:100%}.contact-action svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pet-about{position:relative;margin-top:28px;padding:22px;border-color:rgba(40,32,20,.06);border-radius:20px;box-shadow:0 10px 30px rgba(30,24,15,.05)}.pet-about:after{content:"♡";position:absolute;right:22px;top:17px;color:#ed9d93;font-size:25px;font-weight:400}.pet-about h2{font-size:20px}.pet-about p{font-size:16px;line-height:1.5}.caretakers{margin-top:30px}.caretakers>h2{font-size:26px;margin-bottom:16px}.caretaker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.caretaker-card{padding:19px;border-radius:19px;border-color:rgba(40,32,20,.06);box-shadow:0 10px 30px rgba(30,24,15,.05)}.caretaker-identity{gap:13px;margin-bottom:14px}.caretaker-avatar{width:48px;height:48px;flex-basis:48px}.caretaker-avatar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.caretaker-identity strong{font-size:17px}.caretaker-actions{margin-top:14px;gap:8px}.caretaker-actions .contact-action{flex:0 1 auto;min-width:88px;height:45px;min-height:45px;padding:9px 12px}.owner-login{display:grid;grid-template-columns:auto 1fr auto;justify-content:initial;justify-items:start;gap:3px 14px;margin:38px 0 0;padding:18px 20px;border:1px solid rgba(40,32,20,.06);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(30,24,15,.035)}.owner-login:before{content:"♙";grid-row:1/3;align-self:center;color:#8c765b;font-size:24px}.owner-login p{font-size:15px}.owner-login span{font-size:13px;line-height:1.4}.owner-login a{grid-column:3;grid-row:1/3;align-self:center;padding:10px 16px;border-radius:12px;background:#f3f6f7;text-decoration:none;font-size:14px}.finder-message-form{flex:0 0 100%;margin-top:12px;padding-top:18px;border-top:1px solid var(--boop-border)}
@media(max-width:799px){.public-header{width:calc(100% - 32px);height:64px}.public-brand{font-size:27px}.public-brand img{width:43px;height:43px}.profile-page{width:calc(100% - 32px);padding-top:8px}.pet-hero{grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.profile-hero{aspect-ratio:1.35/1;height:auto;border-radius:20px}.profile-name{font-size:36px;line-height:1}.pet-identity .lead{margin:10px 0 16px;font-size:16px;line-height:1.45}.pet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pet-stat{min-height:82px;padding:11px 8px;grid-template-columns:19px minmax(0,1fr);column-gap:5px;border-radius:14px}.pet-stat-icon{font-size:18px}.pet-stat strong{font-size:13px;white-space:nowrap;letter-spacing:-.35px}.pet-stat-label{font-size:11px}.finder-card{margin-top:24px;padding:18px;border-radius:20px}.finder-card h2{font-size:22px}.finder-card>p{font-size:14px;margin:6px 0 14px}.finder-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.finder-actions .action-call,.finder-actions .action-sms{grid-row:1}.finder-actions .action-whatsapp,.finder-actions>[data-location-start]{grid-column:1/-1}.finder-actions>.contact-action{width:100%;height:50px;min-height:50px;padding:10px 12px;font-size:15px!important}.pet-about{margin-top:22px;padding:20px;border-radius:19px}.pet-about:after{right:18px;top:13px}.caretakers{margin-top:24px}.caretakers>h2{font-size:22px;margin-bottom:12px}.caretaker-grid{grid-template-columns:1fr;gap:10px}.caretaker-card{padding:16px}.caretaker-actions .contact-action{height:44px;min-height:44px}.owner-login{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin-top:28px;padding:16px}.owner-login:before{grid-row:1/3}.owner-login a{grid-column:2;grid-row:auto;justify-self:start;margin-top:8px}.finder-message-form{grid-column:1/-1}}
/* Finder action sizing is intentionally independent from compact caretaker actions. */
.finder-card{height:auto;min-height:0}
.page.profile-page{width:min(calc(100% - 48px),1040px);max-width:1040px}
.finder-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;align-items:stretch}
.finder-actions>.contact-action{box-sizing:border-box;width:100%;min-width:0;height:52px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:14px;white-space:nowrap;overflow:hidden;flex:none;font-size:15px}
.finder-actions>.contact-action>span:not([aria-hidden="true"]){min-width:0;overflow:hidden;text-overflow:ellipsis}
.finder-actions>p[data-location-status],.finder-actions>dialog,.finder-actions>[data-location-result],.finder-actions>.finder-message-form{grid-column:1/-1;width:100%;min-width:0}
.finder-actions>p[data-location-status]{margin:0}
.finder-actions .contact-action svg{width:19px;height:19px;min-width:19px;flex:0 0 19px}
.caretaker-actions{display:flex;flex-wrap:wrap;gap:8px}
.caretaker-actions>.contact-action{width:auto;min-width:110px;height:44px;min-height:44px;flex:0 1 auto;white-space:nowrap}
@media(max-width:600px){.page.profile-page{width:calc(100% - 32px)}.finder-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.finder-actions>.action-call{grid-column:1;grid-row:auto}.finder-actions>.action-sms{grid-column:2;grid-row:auto}.finder-actions>.action-whatsapp,.finder-actions>[data-location-start]{grid-column:1/-1}.finder-actions>.contact-action{width:100%;min-width:0;height:50px;min-height:48px;padding-inline:12px}.caretaker-actions>.contact-action{min-width:110px}}
/* Reference-composition pass: inset content, portrait hero and overlapping finder card. */
.public-header{width:min(calc(100% - 48px),1040px);height:68px;padding:0 52px;box-sizing:border-box}
.public-brand{gap:0;font-size:31px;letter-spacing:-1.5px;text-decoration:none}.public-brand img{display:none}.public-brand strong{display:inline-flex;font-size:31px;font-weight:850;line-height:1}.public-brand .brand-mark{color:#dd665e;letter-spacing:-2px}
.public-header-actions{display:flex;align-items:center;gap:22px;margin-left:auto}.public-header .lang-switch{position:static}.public-owner-login{padding:10px 16px;border-radius:999px;background:#e5f3ff;color:#1473ca;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}.public-owner-login strong{font-weight:750}
.page.profile-page{width:min(calc(100% - 48px),1040px);max-width:1040px;padding:36px 52px 28px;box-sizing:border-box}
.pet-hero{grid-template-columns:minmax(340px,.7fr) minmax(0,1fr);gap:28px;align-items:center}
.photo.profile-hero{width:100%;height:auto;aspect-ratio:.85/1;max-height:none;overflow:hidden;border-radius:23px;background:#f5e8d9;box-shadow:none}.photo.profile-hero .pet-profile-image{width:100%;height:100%;object-fit:cover;animation:none}
.pet-header{gap:16px}.profile-name{font-size:50px;line-height:1;font-weight:800;letter-spacing:-1.8px}.species-badge{gap:7px;padding:8px 14px;font-size:14px}.species-badge svg{width:20px;height:20px;fill:#b86d38;stroke:none;flex:0 0 20px}.pet-identity .lead{max-width:390px;margin:14px 0 24px;font-size:18px;line-height:1.45}.pet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pet-stat{min-height:86px;padding:13px 12px;grid-template-columns:25px minmax(0,1fr);column-gap:8px;border:0;border-radius:16px;background:rgba(255,255,255,.84);box-shadow:none}.pet-stat-icon{width:23px;height:23px;grid-row:1/3;align-self:center;fill:none;stroke:#dd7b24;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pet-stat-icon:not(.sex-icon):not(.age-icon){fill:#e77c28;stroke:none}.pet-stat-icon.sex-icon{stroke:#f14d68}.pet-stat-label{font-size:13px;font-weight:500}.pet-stat strong{font-size:15px;font-weight:650;letter-spacing:-.35px;white-space:nowrap}
.finder-card{position:relative;z-index:2;width:83%;margin-top:-154px;margin-left:17%;padding:20px 22px 19px;min-height:0;height:auto;border:0;border-radius:21px;background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(30,24,15,.05)}.finder-card h2{display:flex;align-items:center;gap:12px;margin:0;font-size:25px;line-height:1.2;font-weight:800}.finder-card h2 svg{width:38px;height:38px;flex:0 0 38px;fill:#ed6470;stroke:none}.finder-card>p{margin:3px 0 14px 50px;font-size:16px;line-height:1.35}.finder-actions{grid-template-columns:.92fr .78fr 1fr 1.26fr;gap:10px}.finder-actions>.contact-action{height:54px;min-height:52px;padding:0 10px;font-size:15px;font-weight:700;border-radius:14px}.finder-actions>.action-call{background:#079568!important;color:#fff!important;border-color:transparent!important}.finder-actions>.action-sms{background:#dff0ff!important;color:#0872d3!important;border-color:transparent!important}.finder-actions>.action-whatsapp{background:#22b36d!important;color:#fff!important;border-color:transparent!important}.finder-actions>.action-location{background:#f04f69!important;color:#fff!important;border-color:transparent!important}.finder-actions .contact-action svg{width:20px;height:20px;min-width:20px;flex-basis:20px}
.pet-about{margin-top:24px;padding:20px 22px;border:0;border-radius:19px;background:rgba(255,255,255,.84);box-shadow:none}.pet-about h2{font-size:20px;line-height:1.3}.pet-about p{font-size:16px;line-height:1.5}.pet-about:after{right:24px;top:17px;font-size:32px}
.caretakers{margin-top:26px}.caretakers>h2{font-size:26px}.caretaker-card{background:rgba(255,255,255,.84);border:0;box-shadow:none}.caretaker-identity{margin-bottom:12px}.caretaker-actions{margin-top:12px}.caretaker-actions>.contact-action{height:46px;min-height:44px;min-width:110px}.caretaker-actions>.action-call{background:#079568;color:white}.caretaker-actions>.action-sms{background:#dff0ff;color:#0872d3}.caretaker-actions>.action-whatsapp{background:#e5fff1;color:#087b49;border:1px solid #9bd9b8}
.owner-login{display:flex;flex-direction:column;align-items:center;gap:4px;margin:24px auto 0;padding:18px 16px;max-width:560px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center}.owner-login:before{content:"🐾";position:relative;grid-row:auto;align-self:center;margin-bottom:2px;color:#a9a29a;font-size:14px}.owner-login p{font-size:14px}.owner-login span{font-size:13px}.owner-login a{padding:0;background:none;color:#4e5661;font-size:13px;text-decoration:none}
@media(max-width:799px){.public-header{display:none}.page.profile-page{width:100%;max-width:none;padding:8px 16px 28px}.pet-hero{grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.photo.profile-hero{width:100%;height:auto;aspect-ratio:1.65/1;max-height:none;border-radius:19px}.pet-identity .lead{margin:10px 0 16px;font-size:16px;line-height:1.4}.pet-header{gap:10px}.profile-name{font-size:36px}.species-badge{padding:7px 12px;font-size:13px}.pet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pet-stat{min-height:80px;padding:10px 8px;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto;column-gap:5px;row-gap:3px;border-radius:14px}.pet-stat-icon{width:19px;height:19px;grid-row:1;align-self:center}.pet-stat-label{font-size:11px;white-space:nowrap}.pet-stat strong{grid-column:1/-1;grid-row:2;font-size:12px;letter-spacing:-.35px;white-space:nowrap}.finder-card{width:100%;margin:24px 0 0;padding:16px 16px 14px;border-radius:18px}.finder-card h2{font-size:21px;gap:9px}.finder-card h2 svg{width:34px;height:34px;flex-basis:34px}.finder-card>p{margin:2px 0 9px 43px;font-size:14px;line-height:1.35}.finder-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finder-actions>.contact-action{height:48px;min-height:48px;padding:0 9px;font-size:14px}.finder-actions>.action-call{grid-column:1;grid-row:auto}.finder-actions>.action-sms{grid-column:2;grid-row:auto}.finder-actions>.action-whatsapp,.finder-actions>[data-location-start]{grid-column:1/-1}.finder-actions .contact-action svg{width:19px;height:19px;min-width:19px;flex-basis:19px}.pet-about{margin-top:22px;padding:18px 20px;border-radius:17px}.pet-about:after{right:18px;top:13px;font-size:27px}.caretakers{margin-top:22px}.caretakers>h2{font-size:22px;margin-bottom:12px}.caretaker-grid{grid-template-columns:1fr;gap:10px}.caretaker-card{padding:16px}.caretaker-actions{margin-top:12px}.owner-login{margin-top:22px;padding:16px 10px}}
@media(min-width:800px){.pet-hero{align-items:start}.pet-identity{padding-top:30px}.finder-card{margin-top:-156px;padding-bottom:8px}}
@media(max-width:799px){.pet-stat{min-height:68px;padding:8px 7px}.pet-stat strong{font-size:11.5px;letter-spacing:-.45px}.caretaker-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.caretaker-actions>.contact-action{width:100%;min-width:0;height:44px;min-height:44px;padding:0 4px;font-size:12px}.caretaker-actions .contact-action svg{width:16px;height:16px;min-width:16px;flex-basis:16px}}
.owner-login{position:relative}.owner-login:before{content:"";width:min(560px,100%);height:16px;margin:0 0 4px;background:linear-gradient(to bottom,transparent 7px,#bdb6ad 7px,#bdb6ad 8px,transparent 8px)}.owner-login:after{content:"";position:absolute;top:18px;left:50%;width:17px;height:17px;transform:translateX(-50%);background-color:var(--boop-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='7' r='2' fill='%23a9a29a'/%3E%3Ccircle cx='10' cy='4' r='2' fill='%23a9a29a'/%3E%3Ccircle cx='15' cy='4' r='2' fill='%23a9a29a'/%3E%3Ccircle cx='20' cy='7' r='2' fill='%23a9a29a'/%3E%3Cellipse cx='12' cy='15' rx='6' ry='5' fill='%23a9a29a'/%3E%3C/svg%3E")}
@media(max-width:799px){.owner-login{gap:4px}.owner-login:before{width:100%;margin-bottom:4px}.owner-login:after{top:17px}}
.public-brand img.brand-icon{display:block;width:46px;height:46px;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;mix-blend-mode:multiply}
.public-paw-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:url("/boop-paw.png");mask-image:url("/boop-paw.png");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}
.species-badge .public-paw-icon{width:20px;height:20px;color:#b86d38}.finder-card h2 .public-paw-icon{width:38px;height:38px;color:#ed6470}.pet-stat .public-paw-icon{background-color:#e77c28}.pet-photo-placeholder .public-paw-icon{width:100px;height:100px;color:#bf9b72;opacity:.6}
.owner-login:after{background-color:#a9a29a;background-image:none;-webkit-mask-image:url("/boop-paw.png");mask-image:url("/boop-paw.png");-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}
.public-purchase-cta{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;padding:14px 16px 20px;border-top:1px solid rgba(40,32,20,.08);color:var(--boop-muted);font-size:14px;text-align:center}.public-purchase-cta p{margin:0}.public-purchase-cta a{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:#fff2e7;color:#a95724;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}.public-purchase-cta a:hover{background:#ffe8d5;transform:translateY(-1px)}
@media(max-width:799px){.public-brand img.brand-icon{display:none}.finder-card h2 .public-paw-icon{width:34px;height:34px}.public-purchase-cta{flex-direction:column;gap:8px;padding:14px 12px 18px}.public-purchase-cta a{min-height:36px}}
@media(prefers-reduced-motion:reduce){.public-purchase-cta a{transition:none}.public-purchase-cta a:hover{transform:none}}
.caretaker-actions>.contact-action.action-call{background:#079568!important;color:#fff!important;border-color:transparent!important}
@media(max-width:359px){.page.profile-page{padding-inline:12px}.pet-stat{padding-inline:6px}.pet-stat strong{font-size:11px;letter-spacing:-.55px}.finder-card{padding-inline:12px}.finder-card h2{font-size:19px}}
@media(max-width:359px){.pet-stat{grid-template-columns:17px minmax(0,1fr);padding-inline:6px;column-gap:4px}.pet-stat strong{font-size:12px;letter-spacing:-.5px}.pet-stat-icon{font-size:16px}.public-header{width:calc(100% - 24px)}.profile-page{width:calc(100% - 24px)}}

.profile-content .topline{
  align-items:center;
}

.profile-name{
  font-size:clamp(36px,10vw,48px);
  line-height:1;
  overflow-wrap:anywhere;
}

.profile-phone .phone{
  white-space:normal;
  overflow-wrap:anywhere;
}

.profile-call{
  min-height:58px;
  margin:0 0 12px;
  background:var(--accent);
  color:var(--accent-dark);
  font-size:18px;
}

.pet-photo-preview{display:block;width:min(100%,28rem);max-height:24rem;object-fit:cover;border-radius:1rem;margin:1rem 0}
.pet-photo-editor{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
.pet-photo-editor h2{font-size:1.2rem}
.pet-choice{padding:1rem 0}
.pet-choice button{display:block;margin-top:.75rem}
#panelMessage.is-busy{display:flex;align-items:center;gap:.65rem}
#panelMessage.is-busy::before{content:"";width:1rem;height:1rem;border:2px solid var(--line);border-top-color:var(--accent-dark);border-radius:50%;animation:photo-spin .7s linear infinite}
@keyframes photo-spin{to{transform:rotate(360deg)}}

.profile-description{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  overflow-wrap:anywhere;
}

.profile-description h2{
  margin:0 0 6px;
  font-size:14px;
}

.profile-description p{
  margin:0;
  color:var(--muted);
  line-height:1.5;
  white-space:pre-wrap;
}

.panel-pet{padding:1rem 0;border-top:1px solid var(--line)}
.panel-pet ul{padding-left:1.25rem}
.auth-body{display:block;overflow-y:auto}
.auth-page{height:auto;min-height:calc(100dvh - 20px);margin:0 auto;padding:2.5rem 0}
.auth-card{max-height:none;overflow:visible;min-height:220px}
#loginForm,#petForm{display:grid;gap:.65rem;margin-top:1rem}
#loginForm label,#petForm label{margin:.35rem 0 0}
#loginForm input,#petForm input,#petForm textarea,#petForm select{width:100%;box-sizing:border-box;font:inherit;padding:.7rem}
#loginForm button,#petForm button,header form button{font:inherit;padding:.7rem 1rem;cursor:pointer}

.auth-page:has(.owner-dashboard){width:min(100%,900px);align-items:flex-start;padding:12px 0}
.auth-card:has(.owner-dashboard){padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.owner-dashboard{width:100%;min-width:0;color:var(--text);--owner-bg:#f7f4ed;--owner-card:#fffefa;--owner-muted:#777166;--owner-line:#e9e2d6}
.owner-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(247,244,237,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(76,65,47,.06)}
.boop-brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;font-size:21px;font-weight:900;letter-spacing:-.04em}
.boop-brand img{width:36px;height:36px;object-fit:contain}
.owner-header form{margin:0}
.logout-button{min-height:44px;border:1px solid var(--owner-line);border-radius:999px;background:#fffefa;color:var(--owner-muted);font:inherit;font-size:13px;font-weight:750;padding:0 15px;cursor:pointer}
.owner-main{display:grid;gap:15px;width:min(100%,760px);margin:0 auto;padding:18px 14px calc(28px + env(safe-area-inset-bottom))}
.owner-welcome{padding:8px 4px}
.owner-eyebrow{margin:0 0 5px;color:var(--primary);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.owner-welcome h1{font-size:clamp(30px,8vw,42px);line-height:1.05}
.owner-pet-list{display:grid;gap:14px}
.owner-pet-group{margin-top:24px}
.owner-pet-group>h2{margin:0 0 12px;font-size:1.15rem}
.owner-card,.owner-pet-card{min-width:0;border:1px solid var(--owner-line);border-radius:var(--owner-radius);background:var(--owner-card);box-shadow:var(--owner-shadow)}
.owner-pet-card{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:14px;align-items:start}
.owner-pet-thumb{width:88px;height:88px;border-radius:20px;background:#eee8dc;object-fit:cover}
.owner-pet-card-main{min-width:0}
.owner-pet-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px}
.owner-pet-title h1,.owner-pet-title h2{margin:0;font-size:clamp(23px,6vw,30px);line-height:1.05;overflow-wrap:anywhere}
.owner-pet-title h2{font-size:25px}
.species-pill{flex:0 0 auto;border-radius:999px;background:#f2eee5;padding:6px 10px;color:#655d50;font-size:12px;font-weight:800}
.owner-tag-summaries{display:grid;gap:9px;margin:13px 0;padding:0;list-style:none}
.owner-tag-summary{display:grid;gap:5px;padding:9px 10px;border-radius:14px;background:#faf8f3;border:1px solid #f0ebdf}
.owner-tag-summary>div,.owner-tag-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.owner-tag-summary code,.owner-tag-card code{font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace;color:#514a3e;overflow-wrap:anywhere}
.no-tag,.empty-soft{color:var(--owner-muted);font-size:14px}
.owner-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:14px;background:var(--accent);color:var(--accent-dark);padding:0 16px;text-decoration:none;text-align:center;font:inherit;font-weight:850;cursor:pointer}
.owner-button-light{background:#f5f1e8;border:1px solid var(--owner-line)}
.subscription-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.subscription-actions>.owner-button{flex:1 1 180px}.subscription-actions>.public-page-preview-picker{flex:1 1 220px}
.public-page-preview-picker{display:grid;gap:7px;min-width:0}.public-page-preview-picker label{font-size:13px;font-weight:700}.subscription-locked-entry .owner-pet-card-main{display:flex;flex-wrap:wrap;gap:8px}.subscription-locked-entry .owner-pet-card-main>.owner-button{width:auto;flex:1 1 140px}.subscription-locked-entry .public-page-preview-picker{flex:1 1 100%}
.owner-count{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#f4efe4;color:var(--primary);font-weight:850}
.status-badge,.service-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:850;line-height:1.2;white-space:nowrap}
.status-active,.service-current{background:#eaf1e8;color:var(--success)}
.status-unclaimed,.service-expiring,.state-expiring{background:#fff2db;color:var(--warning)}
.status-disabled,.status-claimed,.service-expired,.state-expired{background:#f8e9e7;color:var(--danger)}
.status-suspended{background:#f8e9e7;color:var(--danger)}
.caregiver-is-suspended{border-color:rgba(180,74,62,.28);background:linear-gradient(135deg,rgba(248,233,231,.55),#fff 42%)}
.owner-limit-message{margin:10px 0;color:var(--warning);font-size:13px;font-weight:700}
.service-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.service-valid,.service-state{font-size:11px;color:var(--owner-muted)}
.owner-tag-card{display:grid;gap:10px;padding:14px;border:1px solid var(--owner-line);border-radius:16px;background:#fff}
.owner-tag-heading code{font-size:14px}
.owner-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.owner-section-heading h2,.public-preview h2,.pet-photo-editor h2{margin:0;font-size:19px;letter-spacing:-.02em}
.owner-pet-hero{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;padding:16px}
.owner-pet-hero>img{width:92px;height:92px;border-radius:24px;object-fit:cover;background:#eee8dc}
.owner-pet-hero .text-button{grid-column:1/-1}
.text-button{min-height:44px;border:0;background:transparent;color:var(--primary);font:inherit;font-size:14px;font-weight:850;text-align:left;padding:6px;cursor:pointer}
.owner-pet-detail>.owner-card{padding:17px}
.contact-phones{display:grid;grid-template-columns:1fr;gap:9px}
.contact-phone{display:flex;align-items:center;min-height:46px;padding:0 13px;border-radius:13px;background:#f7f4ed;color:var(--text);font-weight:800;text-decoration:none}
.contact-description{margin:12px 0 0;color:#514d45;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.owner-edit-form{display:grid;gap:8px;padding-bottom:90px}
.owner-edit-form[hidden]{display:none!important}
.owner-edit-form label,.pet-photo-editor label{margin:5px 0 0;color:var(--owner-muted);font-size:13px;font-weight:750}
.owner-edit-form input,.owner-edit-form textarea,.owner-edit-form select,.pet-photo-editor input{width:100%;min-height:46px;border:1px solid var(--owner-line);border-radius:13px;background:#fff;padding:11px 12px;font:inherit;font-size:16px;color:var(--text)}
.owner-edit-form textarea{min-height:96px;resize:vertical}
.edit-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.edit-form-actions .owner-button{flex:1;min-width:150px}
.public-preview-overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(23,23,23,.62);cursor:pointer}.public-preview-frame{width:min(100%,520px);height:min(90dvh,820px);border:0;border-radius:20px;background:var(--card);box-shadow:0 24px 80px rgba(0,0,0,.3);cursor:default}.preview-is-open{overflow:hidden}
.sticky-edit-actions{position:fixed;z-index:15;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--owner-line);background:rgba(255,254,250,.96);box-shadow:0 -6px 20px rgba(34,28,18,.08);backdrop-filter:blur(12px)}
.sticky-edit-actions .owner-button{width:100%}
.pet-photo-editor{display:grid;gap:10px;scroll-margin-top:76px}
.pet-photo-editor form{display:grid;gap:10px}
.pet-photo-preview{display:block;width:min(100%,420px);max-height:360px;margin:0 auto 6px;border-radius:18px;object-fit:cover;background:#eee8dc}
.public-preview-content{display:flex;align-items:center;gap:13px;margin:13px 0}
.public-preview-content img{width:68px;height:68px;border-radius:17px;object-fit:cover;background:#eee8dc}
.public-preview-content strong{font-size:20px}
.public-preview-content p{margin:4px 0;color:var(--owner-muted)}
.preview-phone{color:var(--owner-muted);font-size:12px}
.back-link{min-height:42px;display:inline-flex;align-items:center;color:var(--owner-muted);text-decoration:none;font-weight:750}
.scan-toast,.owner-toast{margin:0;padding:11px 14px;border-radius:14px;background:#edf3e8;color:var(--success);font-size:14px;font-weight:800}
.owner-toast{display:none;position:fixed;z-index:30;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);box-shadow:var(--owner-shadow)}
.owner-toast.toast-visible{display:block}
.tag-scan-highlight{animation:tag-highlight 1.2s ease-in-out 3;outline:3px solid #dfb24c;outline-offset:2px}
@keyframes tag-highlight{50%{box-shadow:0 0 0 9px rgba(231,182,75,.22)}}
.scan-toast.fade-out{opacity:0;transition:opacity .5s ease}
.empty-state{text-align:center;padding:28px 20px;color:var(--owner-muted)}
.empty-state img{width:92px;height:92px;object-fit:contain}
.empty-state p{margin:10px auto 0;max-width:24rem}
.owner-signin-link{display:inline-block;margin-top:18px;color:var(--owner-muted);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.purchase-cta{position:fixed;right:14px;bottom:14px;z-index:12;display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 13px;border:1px solid rgba(185,126,33,.28);border-radius:999px;background:rgba(255,253,249,.94);box-shadow:0 5px 18px rgba(34,28,18,.12);backdrop-filter:blur(10px);color:var(--accent-dark);font-size:12px;font-weight:850;text-decoration:none;white-space:nowrap}
.purchase-cta:hover{background:#fff}
@media(min-width:640px){
  .owner-main{padding:24px 24px 40px;gap:18px}
  .owner-pet-card{grid-template-columns:112px minmax(0,1fr);padding:18px;gap:18px}
  .owner-pet-thumb{width:112px;height:112px}
  .owner-pet-hero{grid-template-columns:128px minmax(0,1fr);padding:22px}
  .owner-pet-hero>img{width:128px;height:128px;border-radius:30px}
  .owner-pet-hero .text-button{grid-column:2}
  .contact-phones{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.caregiver-profile{display:grid;gap:10px;padding:18px;border:1px solid #eee9e1;border-radius:22px;background:#fffefa;box-shadow:var(--owner-shadow)}
.caregiver-profile h2{margin:0;font-size:18px}.caregiver-profile>strong{color:#087457}
.caregiver-profile form{display:grid;gap:8px}.caregiver-profile label{font-size:13px;font-weight:650}.caregiver-profile input{width:100%;min-height:46px;padding:0 13px;border:1px solid #ddd9d0;border-radius:13px;background:#fff;color:#20363a;font:inherit}
.caregiver-profile small{color:#697271;font-size:12px;line-height:1.45}.caregiver-profile [role=alert]{margin:0;color:#a8473e;font-size:13px}.caregiver-profile [role=status]{margin:0;color:#087457;font-size:13px}
.caregiver-profile .owner-button{background:#087457!important;color:#fff!important}
.owner-history-dashboard .owner-main{width:min(100%,760px)}.care-history-page{display:grid;gap:16px;padding:16px;border:1px solid #eee9e1;border-radius:24px;background:#fffefa;box-shadow:var(--owner-shadow)}
.owner-history-dashboard .owner-welcome h1{position:static!important;color:#173137!important}.owner-history-dashboard .owner-welcome h1::after,.owner-history-dashboard .owner-welcome::after{content:none!important}
.care-history-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.care-history-filters>[role=group]{display:flex;grid-column:1/-1;gap:6px;overflow:auto}.care-history-filters .care-filter{flex:1 0 auto;padding-inline:12px!important;font-size:12px!important}
.care-history-filters label{align-self:center;color:#66716e;font-size:12px}.care-history-filters select{min-width:0;min-height:40px;padding:0 10px;border:1px solid #e9e4dc;border-radius:12px;background:#fffefa;color:#273a38;font:inherit;font-size:13px}
.care-history-timeline,.care-history-day-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.care-history-day{display:grid;gap:8px}.care-history-day-heading{margin:4px 0;color:#56635e;font-size:15px;font-weight:700}.care-history-entry{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:12px;border:1px solid #f0ece5;border-radius:16px;background:#fff;cursor:pointer}
.care-history-avatar{grid-column:1;grid-row:1/5;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#eaf3e9;color:#347653;font-size:15px;font-weight:750}.care-history-pet{grid-column:2/3;color:#7a837f;font-size:11px}.care-history-title{grid-column:2/3;color:#243a3b;font-size:14px}.care-history-status{grid-column:2/3;color:#697570;font-size:11px}.care-history-performer{grid-column:2/3;color:#087457;font-size:10px;font-weight:750;letter-spacing:.04em}.care-history-time{grid-column:3;grid-row:2/5;color:#68736f;font-size:12px}
@media(min-width:640px){.care-history-page{padding:22px}.care-history-entry{grid-template-columns:52px minmax(0,1fr) auto;padding:15px 17px}}
@media(max-width:639px){
  .purchase-cta{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));font-size:11px}
  .auth-page:has(.owner-dashboard) + .purchase-cta{bottom:calc(76px + env(safe-area-inset-bottom))}
}

.pet-owner-list{display:grid;gap:8px;margin:0 0 15px;padding:0;list-style:none}
.pet-owner-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;padding:10px 0;border-bottom:1px solid var(--color-border)}
.pet-owner-identity{min-width:0;overflow-wrap:anywhere;font-weight:650}
.pet-owner-role{color:var(--color-text-secondary);font-size:13px}
.pet-owner-remove{margin-left:auto;font-size:13px}
.pet-owner-invite-form{display:grid;gap:8px;max-width:520px}
.invite-qr{display:flex;justify-content:center;align-items:center;margin:20px 0}
.invite-qr svg{width:240px;height:240px;max-width:100%;display:block}
.pet-owner-invite-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pet-owner-invite-controls input{flex:1 1 220px;min-width:0}
.pet-owner-invite-controls button{flex-shrink:0}
@media(max-width:430px){.pet-owner-invite-controls button{width:100%}.pet-owner-remove{margin-left:0}}

.boop-home{display:grid;justify-items:center;gap:12px;max-width:440px;margin:clamp(54px,12vh,112px) auto 40px;padding:8px 6px;text-align:center}
.boop-home-logo{display:block;width:84px;height:84px;object-fit:contain}
.boop-home h1{margin:0;color:var(--color-text-primary);font-size:clamp(34px,9vw,42px);font-weight:850;letter-spacing:-.045em;line-height:1.05}
.boop-home-tagline{max-width:320px;margin:2px 0 9px;color:var(--color-text-secondary);font-size:17px;line-height:1.45}
.boop-home-cta{display:inline-flex;min-width:180px;min-height:50px;align-items:center;justify-content:center;padding:10px 22px;border-radius:var(--radius-md);font-size:16px;text-decoration:none}
.boop-home-hint{max-width:340px;margin:4px 0 0;color:var(--color-muted);font-size:13px;line-height:1.45}

/* M4 care plan: compact, touch-first private task cards and sheet forms. */
.care-dashboard .dashboard-section-heading{align-items:center}
.care-dashboard-add{flex:0 0 auto;min-height:44px;padding:8px 13px;white-space:nowrap}
.care-dashboard-list{display:grid;gap:7px;min-width:0}
.care-dashboard-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,44%);gap:3px 12px;min-width:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);text-decoration:none}
.care-dashboard-item:hover{background:var(--color-surface-soft)}
.care-dashboard-pet,.care-dashboard-title{min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.care-dashboard-pet{font-size:12px;color:var(--color-text-secondary)}
.care-dashboard-title{font-weight:700}
.care-dashboard-status,.care-dashboard-date{min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:right;font-size:12px;color:var(--color-text-secondary)}
.care-dashboard-status{display:grid;grid-column:2;grid-row:1 / span 2;align-self:center;justify-items:end}
.care-status-detail{min-width:0;max-width:100%;overflow-wrap:anywhere}
.care-dashboard-date{grid-column:1 / -1;text-align:left}
.care-badge{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}
.care-overdue{border-color:#efceca;background:#fbefed;color:#8f342d}
.care-today{border-color:#f0dcad;background:#fff7e2;color:#80520a}
.care-upcoming{border-color:#cbdfea;background:#edf5fa;color:#285a78}
.care-future{border-color:var(--color-border);background:var(--color-surface-soft);color:var(--color-text-secondary)}
.care-task-list{display:grid;gap:12px;min-width:0}
.care-task-card{min-width:0;padding:15px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.care-task-card:focus-visible{outline:3px solid rgba(184,120,36,.45);outline-offset:3px}
.care-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.care-task-title{flex:1 1 auto;min-width:0;margin:0;font-size:17px;line-height:1.3;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.care-task-due{display:flex;flex-wrap:wrap;gap:4px 9px;margin:9px 0 0;color:var(--color-text-secondary);font-size:14px}
.care-task-relative{font-weight:650}
.care-task-recurrence,.care-task-notes{margin:7px 0 0;color:var(--color-text-secondary);font-size:13px;overflow-wrap:anywhere}
.care-task-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px}
.care-task-actions button,.care-menu-trigger{min-height:44px}
.care-task-actions .care-complete{flex:1 1 150px}
.care-task-actions .care-edit{flex:0 1 auto;padding:8px 13px}
.care-action-menu{position:relative;margin-left:auto}
.care-action-standalone{box-sizing:border-box;display:grid;align-content:center;width:min(100%,480px);min-height:100svh;margin:0 auto;padding:24px 20px}.care-action-standalone .care-action-card{padding:28px 20px;border-radius:22px;background:#fff;box-shadow:0 12px 36px #17251a12}.care-action-standalone .care-action-card h1{font-size:25px}.care-action-standalone .care-action-buttons button{min-height:58px;font-size:17px}
.care-menu-trigger{display:grid;place-items:center;width:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:22px;line-height:1;cursor:pointer;list-style:none}
.care-menu-trigger::-webkit-details-marker{display:none}
.care-menu-items{position:absolute;z-index:12;right:0;bottom:calc(100% + 5px);display:grid;min-width:160px;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}
.care-menu-items button{min-height:44px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--color-text-primary);text-align:left;font:inherit;cursor:pointer}
.care-menu-items button:hover{background:var(--color-surface-soft)}
.care-menu-items .care-menu-danger{color:#8f342d}
.care-empty-state{display:grid;gap:6px;margin:0;padding:15px 0;color:var(--color-text-secondary)}
.care-empty-state strong{color:var(--color-text-primary)}
.care-empty-state [data-care-add]{justify-self:start;min-height:44px}
.care-history-section{margin-top:20px;padding-top:15px;border-top:1px solid var(--color-border)}
.care-history-section h3{margin:0 0 10px;font-size:16px}
.care-history-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.care-history-item{display:grid;grid-template-columns:minmax(78px,auto) minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--color-border);font-size:13px}
.care-history-item time{color:var(--color-text-secondary)}
.care-history-item strong{min-width:0;overflow-wrap:anywhere}
.care-history-public-message{grid-template-columns:24px minmax(0,1fr) auto;align-items:start}.care-history-public-message .care-history-check{color:#35775c}.care-history-public-message .care-history-message-body{grid-column:2/-1;margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.care-history-public-message .care-history-message-meta{grid-column:2/-1;color:var(--color-text-secondary);font-size:12px}
.care-history-status{color:var(--color-success);font-weight:650}
.care-task-recurrence{color:var(--color-text-secondary)}
.pet-card-care{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 6px;min-width:0;margin-top:5px;padding-top:5px;border-top:1px solid rgba(229,223,212,.75);font-size:11px;line-height:1.25;color:inherit;text-decoration:none}
.pet-care-state{color:var(--color-primary);font-size:10px;font-weight:750;text-transform:uppercase}
.pet-care-state.care-overdue{color:#8f342d}
.pet-care-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.pet-care-relative{grid-column:2;min-width:0;color:var(--color-text-secondary);overflow-wrap:anywhere}
.care-action-modal{padding:0;overflow:hidden}.care-action-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}.care-action-modal-header h2{margin:0;font-size:15px;color:var(--color-text-secondary)}.care-action-modal-close{width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:var(--color-text-primary);font-size:28px;line-height:1;cursor:pointer}.care-action-modal-content{padding:0 20px 24px}.care-action-view{color:var(--color-text-primary)}.care-action-card{padding:18px 4px 8px;text-align:center}.care-action-card h1{margin:4px 0 8px;font-size:23px}.care-action-pet{margin:0;color:var(--color-text-secondary);font-size:15px}.care-action-status{min-height:24px;margin:14px 0;color:var(--color-success);font-weight:650}.care-action-view .care-performed-at{width:100%;min-height:44px;margin:0 0 12px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:#fff;font:inherit}.care-action-buttons{display:grid;gap:10px}.care-action-buttons button{min-height:52px;border-radius:14px;font:inherit;font-weight:700;cursor:pointer}.care-action-done{border:0;background:#287344;color:white}.care-action-claim{border:1px solid var(--color-border);background:#f6faf5;color:#24482d}.care-action-error{color:#a22}.care-action-edit{display:inline-block;margin-top:18px;color:var(--color-text-secondary);font-size:14px;text-decoration:underline;text-underline-offset:3px}.care-action-discard{position:absolute;inset:0;z-index:2;display:grid;align-content:center;justify-items:center;gap:12px;padding:24px;background:rgba(255,255,255,.98);text-align:center}.care-action-discard[hidden]{display:none}.care-action-discard p{font-weight:700}.care-editor-back{margin:4px 0 8px;border:0;background:none;color:var(--color-primary);font:inherit;font-weight:700;cursor:pointer}.care-slot-summary-action{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.care-slot-summary-action:focus-visible,.care-action-modal-close:focus-visible,.care-action-view button:focus-visible{outline:3px solid rgba(184,120,36,.45);outline-offset:2px}
.care-push-state{display:inline-grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:0;border-radius:50%;font-size:20px;font-weight:800;line-height:1;cursor:pointer}.care-push-state.is-paused{background:#fff0ed;color:#b4382e}.care-push-state.is-info{background:#eaf3ff;color:#2869a8}.care-task-row>.care-push-state{width:38px;height:38px;flex-basis:38px}.care-push-info-popover{position:fixed;inset:50% auto auto 50%;width:min(340px,calc(100vw - 36px));padding:20px;border:1px solid var(--color-border);border-radius:18px;background:#fffefa;color:var(--color-text-primary);box-shadow:0 12px 44px rgba(24,31,38,.22);transform:translate(-50%,-50%);z-index:100}.care-push-info-popover::backdrop{background:rgba(24,27,29,.25)}.care-push-info-copy{margin:0 0 18px;line-height:1.5}.care-push-info-popover .owner-button{width:100%;min-height:46px}.care-push-gate{display:grid;gap:14px;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}.care-push-gate h2,.care-push-gate p{margin:0}.care-push-gate-checkbox{display:flex;align-items:center;gap:10px;min-height:44px}.care-push-gate-checkbox input{width:20px;height:20px;accent-color:var(--color-primary)}.care-push-gate-error{color:#9d352f;font-size:14px;line-height:1.4}.care-push-gate[hidden]{display:none}
.care-dialog{position:fixed;inset:auto 0 0;margin:auto 0 0;width:100%;max-width:none;max-height:94dvh;padding:0;border:1px solid var(--color-border);border-bottom:0;border-radius:22px 22px 0 0;background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 -16px 60px rgba(24,31,38,.2);overflow:auto}
.care-dialog::backdrop{background:rgba(24,27,29,.44);backdrop-filter:blur(3px)}
.care-completion-edit{border:0;padding:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.care-slot-pending{color:var(--color-text-secondary);font-size:13px}
.pet-tag-assign-dialog .care-form{display:grid;gap:14px;padding:20px}
.pet-tag-assign-dialog h2{margin:0}
.pet-tag-assign-options{display:grid;gap:8px;max-height:50dvh;overflow:auto}
.pet-tag-assign-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-soft)}
.pet-tag-assign-option>span{display:grid;gap:3px;min-width:0}
.pet-tag-assign-option strong{overflow-wrap:anywhere}
.pet-tag-assign-option small{color:var(--color-text-secondary)}
.pet-tag-assign-message{margin:0;color:var(--danger)}
.care-form{display:grid;gap:8px;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}
.care-interval-row[hidden]{display:none}
.care-form h2{margin:0 0 7px;font-size:23px}
.care-form>label,.care-form .care-interval-row>label{margin:2px 0 0;color:var(--color-text-secondary);font-size:13px;font-weight:650}
.care-form input:not([type=checkbox]),.care-form select,.care-form textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-primary);font:inherit;font-size:16px}
.care-form textarea{min-height:80px;resize:vertical}
.care-interval-row{display:grid;grid-template-columns:auto minmax(70px,100px) minmax(0,1fr);align-items:center;gap:9px}
.care-form .care-reminder-toggle{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:3px;color:var(--color-text-primary);font-size:14px}
.care-reminder-toggle input{width:18px;height:18px;accent-color:var(--color-primary)}
.care-form-actions{display:flex;gap:9px;margin-top:6px}
.care-form-actions button{flex:1 1 0;min-height:48px}
.care-form-error{min-height:20px;margin:0;color:#8f342d;font-size:13px}
.care-dayparts{display:grid;gap:8px;margin:4px 0;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}
.care-dayparts legend{padding:0 5px;color:var(--color-text-secondary);font-size:13px;font-weight:700}
.care-daypart{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:5px 8px;padding:7px 3px}
.care-daypart input[type=checkbox]{grid-row:1/3;width:18px;height:18px;accent-color:var(--color-primary)}
.care-daypart-main{font-size:14px;font-weight:650}
.care-slot-notification{grid-column:2;color:var(--color-text-secondary);font-size:12px}
.care-slot-change-time{grid-column:3;grid-row:1/3;border:0;background:none;color:var(--color-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.care-daypart input[type=time]{grid-column:2/4;min-height:38px!important}
.care-slot-summary{display:flex;flex-wrap:wrap;gap:6px 12px;padding:0 4px;color:var(--color-text-secondary);font-size:12px}
.care-slot-summary-done{color:var(--color-primary);font-weight:700}
.care-paused-no-push{display:grid;gap:4px;margin:8px 4px;padding:10px 12px;border-radius:12px;background:#fff8e8;color:#59451d;font-size:13px}
.care-paused-no-push a{justify-self:start;font-weight:700}
.care-details-slots{display:grid;gap:8px;margin:5px 0 12px}
.care-details-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:var(--radius-sm);background:var(--color-surface-soft);font-size:14px}
.care-slot-completed{color:var(--color-primary);font-size:12px;font-weight:700}
.care-toast{position:fixed;z-index:100;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;max-width:min(500px,calc(100vw - 32px));min-height:54px;padding:8px 10px 8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text-primary)}
.care-toast-undo{min-width:64px;min-height:44px;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:var(--color-surface-soft);color:var(--color-primary);font:inherit;font-weight:700;cursor:pointer}
.care-preference-message{min-height:20px}
.push-status{min-height:22px;margin:6px 0;color:var(--color-text-secondary);font-size:14px}
.push-ios-help{margin:8px 0;padding:11px 12px;border:1px solid #cbdfea;border-radius:var(--radius-sm);background:#edf5fa;color:#285a78;font-size:14px;line-height:1.45}
.push-device-count{margin:6px 0;color:var(--color-text-secondary);font-size:13px}
.push-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px}
.push-actions button{min-height:44px}
.push-actions [data-push-test]{padding-inline:8px}
@media(min-width:640px){
  .care-dialog{inset:50% auto auto 50%;margin:0;width:min(560px,calc(100vw - 48px));max-height:90dvh;border:1px solid var(--color-border);border-radius:20px;transform:translate(-50%,-50%)}
  .care-form{padding:25px 27px}
  .care-dashboard-item{grid-template-columns:minmax(140px,.7fr) minmax(0,1.5fr) minmax(150px,auto) auto;align-items:center}
  .care-dashboard-status{grid-column:auto;grid-row:auto}
  .care-dashboard-date{grid-column:auto;text-align:right}
}
@media(max-width:639px){
  .care-dashboard .dashboard-section-heading{align-items:flex-start}
  .care-dashboard-add{min-height:44px;padding-inline:10px;font-size:13px}
  .care-dashboard-item{padding:9px 10px}
  .care-task-card{padding:13px}
  .care-task-heading{gap:7px}
  .care-task-title{font-size:16px}
  .care-task-actions{gap:6px}
  .care-task-actions .care-complete{flex-basis:calc(100% - 54px)}
  .care-task-actions .care-edit{flex:1 1 auto}
  .care-history-item{grid-template-columns:minmax(65px,auto) minmax(0,1fr);}
  .care-history-status{grid-column:2}
  .care-dialog{padding-bottom:env(safe-area-inset-bottom)}
  .care-toast{right:12px;bottom:calc(76px + env(safe-area-inset-bottom));left:12px;max-width:none;justify-content:space-between}
}

/* Owner panel: photography-led cards with a single, calm surface system. */
.owner-dashboard{
  --owner-card:#fffdf9;
  --owner-line:#e8e0d3;
  --owner-radius:20px;
  --owner-shadow:0 10px 28px rgba(34,28,18,.07);
}
.auth-page:has(.owner-dashboard){width:min(100%,980px);padding:0;}
.owner-main{width:min(100%,760px);padding:24px 16px calc(34px + env(safe-area-inset-bottom));gap:18px;}
.owner-pet-list{gap:20px;}
.owner-pet-card{display:block;padding:0;overflow:hidden;border:0;border-radius:var(--owner-radius);box-shadow:var(--owner-shadow);}
.pet-card-photo{width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#eee5d5,#d9c9ae);overflow:hidden;}
.pet-card-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.owner-pet-card-main{padding:18px 18px 20px;}
.owner-pet-title{align-items:baseline;gap:8px;}
.owner-pet-title h2{font-size:clamp(28px,7vw,36px);letter-spacing:-.045em;}
.species-pill{padding:0;background:transparent;color:var(--owner-muted);font-size:14px;font-weight:650;}
.owner-tag-summaries{gap:7px;margin:14px 0 17px;}
.owner-tag-summary{gap:5px;padding:0;border:0;border-radius:0;background:transparent;}
.owner-tag-summary>div{justify-content:flex-start;gap:8px;}
.owner-tag-summary code{font-size:12px;}
.owner-tag-summary .service-line{padding-left:0;}
.owner-button{min-height:46px;border-radius:12px;}
.owner-pet-card .owner-button{width:100%;}
.owner-pet-hero{display:block;padding:0;background:transparent;border:0;box-shadow:none;}
.hero-photo{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--owner-radius);background:linear-gradient(135deg,#eee5d5,#d9c9ae);box-shadow:var(--owner-shadow);}
.hero-photo img{display:block;width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center;}
.hero-photo-action{position:absolute;right:12px;bottom:12px;min-height:40px;padding:0 13px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(24,21,17,.72);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px);}
.owner-pet-hero .owner-pet-title{padding:18px 3px 0;}
.owner-pet-hero .owner-pet-title h1{font-size:clamp(34px,9vw,48px);}
.hero-status{margin:6px 3px 0;color:var(--owner-muted);font-size:14px;}
.owner-pet-detail>.owner-card{padding:19px;}
.owner-section-heading{margin-bottom:15px;}
.owner-section-heading h2,.public-preview h2{font-size:21px;}
.contact-phones{gap:0;}
.contact-phone{min-height:48px;padding:0;border-radius:0;background:transparent;border-bottom:1px solid var(--owner-line);}
.contact-phone:last-child{border-bottom:0;}
.contact-description{margin:17px 0 0;padding-top:15px;border-top:1px solid var(--owner-line);}
.owner-tag-list{display:grid;gap:0;}
.owner-tag-card{gap:8px;padding:14px 0;border:0;border-bottom:1px solid var(--owner-line);border-radius:0;background:transparent;}
.owner-tag-card:last-child{border-bottom:0;padding-bottom:0;}
.owner-tag-card:first-child{padding-top:0;}
.owner-tag-heading{justify-content:flex-start;gap:9px;}
.owner-tag-card .owner-button{width:100%;margin-top:3px;}
.public-preview-content{display:block;margin:0 0 14px;}
.public-preview-content strong{display:block;font-size:22px;}
.public-preview-content p{margin:4px 0;}
.photo-upload-tools{display:grid;gap:8px;scroll-margin-top:76px;}
.photo-upload-tools form{display:grid;gap:8px;}
.photo-upload-tools input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.photo-upload-tools .owner-button{display:none;}
.photo-upload-tools .text-button{justify-self:start;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.pet-photo-preview{aspect-ratio:16 / 9;max-height:none;width:100%;}

@media(min-width:900px){
  .owner-main{padding-inline:24px;}
  .owner-pet-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .owner-pet-list .owner-pet-card:only-child{grid-column:1 / -1;}
}
@media(max-width:639px){
  .owner-main{padding-inline:14px;}
  .owner-header{padding-inline:14px;}
  .owner-pet-card-main{padding-inline:16px;}
}

/* Final product pass: quiet chrome, restrained type, and lighter surfaces. */
.owner-header{padding:8px 16px;background:rgba(247,244,237,.88);border-bottom:1px solid rgba(76,65,47,.08);}
.boop-brand{gap:7px;font-size:17px;font-weight:700;letter-spacing:-.025em;}
.boop-brand img{width:27px;height:27px;}
.logout-button{min-height:34px;border:0;border-radius:8px;background:transparent;padding:0 4px;color:var(--owner-muted);font-size:12px;font-weight:600;}
.logout-button:hover{background:rgba(255,255,255,.55);}
.owner-main{width:min(100%,680px);gap:22px;padding-top:18px;}
.owner-main>.back-link{min-height:28px;font-size:13px;font-weight:500;}
.owner-card{border:1px solid rgba(76,65,47,.09);border-radius:16px;background:rgba(255,253,249,.66);box-shadow:0 5px 18px rgba(34,28,18,.035);}
.owner-pet-card{border-radius:16px;box-shadow:0 7px 22px rgba(34,28,18,.055);}
.owner-pet-card-main{padding:16px 17px 17px;}
.owner-pet-title h2{font-size:clamp(25px,7vw,32px);font-weight:650;letter-spacing:-.035em;}
.species-pill{font-size:13px;font-weight:500;}
.owner-button{min-height:42px;border-radius:10px;font-size:13px;font-weight:650;}
.owner-tag-summaries{margin:12px 0 15px;}
.owner-tag-summary code,.owner-tag-card code{font-weight:600;}
.owner-pet-hero .owner-pet-title{padding:15px 2px 0;}
.owner-pet-hero .owner-pet-title h1{font-size:clamp(31px,8vw,40px);font-weight:650;letter-spacing:-.04em;}
.hero-photo{border-radius:17px;box-shadow:0 7px 22px rgba(34,28,18,.07);}
.hero-photo-action{right:10px;bottom:10px;min-height:36px;border:0;border-radius:8px;padding:0 11px;background:rgba(24,21,17,.68);font-size:11px;font-weight:650;}
.hero-status{margin:5px 2px 0;font-size:13px;}
.hero-status strong{font-weight:600;}
.owner-pet-detail>.owner-card{padding:16px;}
.owner-section-heading{margin-bottom:11px;}
.owner-section-heading h2,.public-preview h2{font-size:17px;font-weight:650;letter-spacing:-.015em;}
.text-button{min-height:36px;padding:4px;font-size:12px;font-weight:600;}
.contact-phone{min-height:43px;font-weight:500;}
.contact-description{margin-top:13px;padding-top:12px;line-height:1.5;}
.owner-tag-card{padding:12px 0;}
.owner-tag-heading{font-size:13px;}
.status-badge,.service-badge{min-height:22px;padding:3px 7px;font-size:10px;font-weight:650;}
.owner-count{min-width:25px;height:25px;background:transparent;color:var(--owner-muted);font-size:12px;font-weight:600;}
.service-list{display:grid;gap:0;}
.service-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:43px;border-bottom:1px solid var(--owner-line);}
.service-row:last-child{border-bottom:0;}
.service-tag-id{font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--owner-muted);}
.service-row .service-line{justify-content:flex-end;}
.service-row .service-valid{font-size:11px;}
.public-preview-content{margin:0 0 12px;}
.public-preview-content strong{font-size:18px;font-weight:600;}
.public-preview-content p{font-size:13px;}
.preview-phone{font-size:11px;}
.owner-pet-hero .pet-photo-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.owner-pet-hero .pet-photo-placeholder,.pet-card-photo .pet-photo-placeholder{object-fit:contain;padding:18%;background:linear-gradient(135deg,#eee8dc,#e3d9c7);}
.pet-card-photo .pet-photo-placeholder{padding:15%;}
.empty-state img{width:72px;height:72px;object-fit:contain;}

@media(max-width:639px){
  .owner-header{padding-inline:14px;}
  .owner-main{padding-inline:14px;}
  .owner-card{border-radius:15px;}
}

/* Boop design system: a warm, quiet product surface shared by every flow. */
:root {
  --color-bg: #f7f4ee;
  --color-surface: #fffdf9;
  --color-surface-soft: #f1ede4;
  --color-text-primary: #25231f;
  --color-text-secondary: #625e56;
  --color-muted: #8a857c;
  --color-border: #e5dfd4;
  --color-primary: #b87824;
  --color-primary-hover: #996019;
  --color-success: #3f704b;
  --color-warning: #a16b1d;
  --color-danger: #a34d48;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-sm: 0 2px 10px rgba(39, 31, 20, .045);
  --shadow-md: 0 10px 28px rgba(39, 31, 20, .07);
  --content-width: 720px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
}

html { background: var(--color-bg); }
body {
  background: var(--color-bg);
  color: var(--color-text-primary);
  font-size: 16px;
  line-height: 1.45;
}
button, input, select, textarea { font-family: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(184, 120, 36, .45); outline-offset: 3px; }
h1, h2, h3, p { overflow-wrap: anywhere; }

.auth-body, .profile-body { display: block; min-height: 100dvh; overflow-y: auto; padding: 0; }
.page { width: min(100%, var(--content-width)); height: auto; min-height: 100dvh; margin: 0 auto; align-items: flex-start; }
.card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.auth-page { padding: 24px 16px 64px; }
.auth-card { max-height: none; overflow: visible; padding: 32px; }
.auth-card h1, .auth-card main h1 { margin: 0 0 8px; font-size: clamp(28px, 7vw, 34px); line-height: 1.08; letter-spacing: -.035em; }
.auth-card > p, .auth-card main > p { color: var(--color-text-secondary); }
.auth-card form, .auth-card main form { display: grid; gap: var(--space-2); margin-top: var(--space-6); }
.auth-card label, .auth-card main label { color: var(--color-text-secondary); font-size: 13px; font-weight: 600; }
.auth-card input, .auth-card select, .auth-card textarea, .auth-card form button,
.auth-card main input, .auth-card main select, .auth-card main textarea, .auth-card main button {
  width: 100%; min-height: 46px; border: 1px solid var(--color-border); border-radius: var(--radius-md);
  background: #fff; color: var(--color-text-primary); padding: 11px 12px; font-size: 16px;
}
.auth-card form button, .auth-card main form button, .auth-card main > a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  margin-top: var(--space-2); border: 0; background: var(--color-primary); color: #fff;
  font-weight: 700; text-decoration: none; cursor: pointer;
}
.auth-card form button:hover, .auth-card main form button:hover { background: var(--color-primary-hover); }
.login-spinner { display: inline-block; width: 18px; height: 18px; flex: 0 0 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: login-spin .7s linear infinite; }
.login-spinner[hidden], .login-mail-icon[hidden] { display: none !important; }
.login-mail-icon { font-size: 18px; line-height: 1; }
@keyframes login-spin { to { transform: rotate(360deg); } }
.auth-card #loginMessage, .auth-card #activationMessage, .auth-card #inviteMessage { min-height: 24px; margin-top: var(--space-4); color: var(--color-text-secondary); }
.lang-switch { top: 16px; right: 16px; padding: 2px; box-shadow: none; border: 1px solid var(--color-border); }
.lang-btn { padding: 6px 8px; font-weight: 600; }

.profile-page { width: min(100%, 720px); padding: 14px 14px 56px; }
.profile-card { overflow: visible; border: 0; background: transparent; box-shadow: none; }
.profile-card > .lang-switch { position: fixed; top: 12px; right: 14px; }
.profile-hero { width: 100%; aspect-ratio: 16 / 9; height: auto; border-radius: var(--radius-lg); background: var(--color-surface-soft); box-shadow: var(--shadow-md); }
.profile-hero .pet-profile-image { animation: none; }
.profile-hero .profile-logo { width: 30%; max-height: 45%; opacity: .7; }
.photo-badge { display: none; }
.profile-content { padding: 24px 2px 0; }
.profile-name { font-size: clamp(32px, 9vw, 42px); font-weight: 700; line-height: 1.05; letter-spacing: -.04em; }
.topline { align-items: baseline; margin-bottom: 8px; }
.chip { padding: 4px 8px; border-radius: var(--radius-sm); background: var(--color-surface-soft); font-size: 12px; font-weight: 600; }
.lead { margin: 0 0 18px; color: var(--color-text-secondary); font-size: 16px; }
.profile-phone { display: grid; gap: 10px; margin: 0 0 20px; padding: 0; border: 0; background: transparent; }
.profile-call { width: 100%; min-height: 54px; border-radius: var(--radius-md); background: var(--color-primary); color: #fff; font-size: 16px; font-weight: 700; }
.profile-call:hover { background: var(--color-primary-hover); }
.profile-description { margin-top: 24px; padding: 18px 0 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent; }
.profile-description h2 { font-size: 18px; font-weight: 700; }
.profile-description p { color: var(--color-text-secondary); font-size: 16px; }
.owner-signin-link { display: inline-block; margin-top: 28px; color: var(--color-text-secondary); font-size: 14px; }

.purchase-cta { position: static; width: fit-content; margin: 8px auto 32px; border: 0; border-radius: var(--radius-sm); background: transparent; box-shadow: none; color: var(--color-primary); font-size: 14px; font-weight: 650; }
.purchase-cta:hover { background: transparent; color: var(--color-primary-hover); text-decoration: underline; }
.unclaimed-page { max-width: 520px; padding: 48px 0; }
.unclaimed-page h1 { margin: 0 0 12px; }
.unclaimed-page p { color: var(--color-text-secondary); font-size: 17px; }
.unclaimed-page .primary-action { display: flex; min-height: 50px; align-items: center; justify-content: center; margin-top: 28px; border-radius: var(--radius-md); background: var(--color-primary); color: #fff; font-weight: 700; text-decoration: none; }
.unclaimed-page .secondary-action { display: inline-block; margin-top: 18px; color: var(--color-primary); font-weight: 650; }

.owner-dashboard { --owner-card: var(--color-surface); --owner-line: var(--color-border); --owner-muted: var(--color-text-secondary); --owner-radius: var(--radius-lg); --owner-shadow: var(--shadow-sm); }
.owner-header { min-height: 60px; padding: 12px 16px; background: rgba(247,244,238,.92); border-bottom: 1px solid var(--color-border); }
.boop-brand { font-size: 18px; font-weight: 700; }
.boop-brand img { width: 30px; height: 30px; }
.logout-button { min-height: 40px; color: var(--color-text-secondary); }
.owner-main { width: min(100%, var(--content-width)); padding: 24px 16px 48px; }
.owner-welcome { padding: 8px 0; }
.owner-welcome h1 { font-size: clamp(28px, 7vw, 34px); font-weight: 700; }
.owner-eyebrow { color: var(--color-primary); font-weight: 650; }
.owner-pet-list { gap: 16px; }
.owner-pet-card, .owner-card { border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.owner-pet-card { background: var(--color-surface); }
.owner-pet-card-main { padding: 18px; }
.owner-pet-title h2 { font-size: 28px; font-weight: 700; }
.owner-button { min-height: 46px; border-radius: var(--radius-md); background: var(--color-primary); color: #fff; font-weight: 700; }
.owner-button:hover { background: var(--color-primary-hover); }
.owner-button-light { background: var(--color-surface-soft); color: var(--color-text-primary); border: 1px solid var(--color-border); }
.text-button { color: var(--color-primary); font-weight: 650; }
.hero-photo { border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.hero-photo-action { border-radius: var(--radius-sm); font-size: 13px; }
.owner-pet-hero .owner-pet-title h1 { font-size: clamp(32px, 9vw, 40px); font-weight: 700; }
.owner-card { padding: 18px; }
.owner-section-heading h2, .public-preview h2 { font-size: 20px; font-weight: 700; }
.status-badge, .service-badge { border-radius: var(--radius-sm); font-weight: 650; }
.sticky-edit-actions { background: rgba(255,253,249,.96); }
.empty-state { padding: 36px 20px; }

@media (max-width: 520px) {
  .auth-page { padding: 12px 12px 52px; }
  .auth-card { padding: 28px 20px; border-radius: var(--radius-lg); }
  .profile-page { padding-inline: 12px; }
  .profile-content { padding-top: 20px; }
}
@media (min-width: 900px) {
  .owner-pet-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-main { padding-top: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

.flow-brand { margin: 0 0 28px; }
.flow-brand img { display: block; width: auto; height: 34px; max-width: 120px; object-fit: contain; }
.activation-page { padding-top: 4px; }
.activation-tag { display: inline-flex; gap: 6px; padding: 7px 10px; border-radius: var(--radius-sm); background: var(--color-surface-soft); color: var(--color-text-secondary); font-size: 13px; }
.activation-progress { display: flex; align-items: center; gap: 7px; margin: 4px 0 28px; color: var(--color-muted); font-size: 12px; font-weight: 700; }
.activation-progress span { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-surface); }
.activation-progress .is-current { border-color: var(--color-primary); background: var(--color-primary); color: #fff; }
.activation-progress i { width: 22px; height: 1px; background: var(--color-border); }
.pet-choice { margin-top: 24px; padding: 20px 0 0; border-top: 1px solid var(--color-border); }
.pet-choice h2 { font-size: 20px; }
.pet-choice select { margin-top: 8px; }
.pet-choice button { width: 100%; min-height: 46px; margin-top: 10px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-soft); color: var(--color-text-primary); font: inherit; font-weight: 650; cursor: pointer; }
.invite-existing, .transfer-existing, .invite-accept { display: grid; gap: 8px; }
.invite-existing + button, .transfer-existing + button { min-height: 46px; margin-top: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: transparent; color: var(--color-primary); font: inherit; font-weight: 650; cursor: pointer; }
.invite-existing p, .transfer-existing p, .invite-accept p { margin: 0; }

/* Owner information architecture: pets and account are separate destinations. */
.panel-nav { display: flex; gap: 4px; width: min(100%, 680px); margin: 0 auto; padding: 8px 16px 0; }
.panel-nav-link { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 10px; border-bottom: 2px solid transparent; color: var(--color-text-secondary); text-decoration: none; font-size: 13px; font-weight: 650; }
.panel-nav-link.is-active { border-color: var(--color-primary); color: var(--color-text-primary); }
.owner-context { color: var(--color-text-secondary); font-size: 13px; font-weight: 600; }
.owner-account .owner-main { padding-top: 26px; }
.account-section { display: grid; gap: 12px; }
.account-section .owner-section-heading { margin-bottom: 0; }
.account-state { color: var(--color-success); font-size: 12px; font-weight: 650; }
.account-email, .account-note { margin: 0; color: var(--color-text-secondary); }
.account-note { font-size: 13px; }
.account-section form { display: grid; gap: 8px; }
.account-section label { color: var(--color-text-secondary); font-size: 13px; font-weight: 600; }
.account-section input { width: 100%; min-height: 46px; border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 11px 12px; background: #fff; font: inherit; font-size: 16px; }
.account-section .owner-toast { position: static; transform: none; width: auto; max-width: none; }
.owner-contact-summary .text-button { text-decoration: none; }
.panel-purchase { display: flex; justify-content: center; padding: 4px 0 16px; }
.panel-purchase .owner-button { width: auto; padding-inline: 18px; }
.panel-purchase-info { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--color-border); }
.panel-purchase-info p { margin: 0; color: var(--color-text-secondary); font-size: 13px; line-height: 1.5; }
.panel-purchase-link { width: fit-content; text-align: center; }
.owner-dashboard .owner-main { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }

@media (max-width: 639px) {
  .panel-nav { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; justify-content: space-around; gap: 0; width: auto; min-height: 60px; padding: 5px 16px calc(5px + env(safe-area-inset-bottom)); border-top: 1px solid var(--color-border); background: rgba(255, 253, 249, .96); backdrop-filter: blur(14px); }
  .panel-nav-link { flex: 1; justify-content: center; min-height: 44px; border: 0; border-radius: var(--radius-sm); }
  .panel-nav-link.is-active { background: var(--color-surface-soft); color: var(--color-text-primary); }
  .owner-context { display: none; }
  .owner-header { padding-bottom: 8px; }
}
@media (min-width: 640px) {
  .panel-nav { padding-top: 12px; }
  .panel-nav-link { min-height: 34px; }
}

/* Owner panel mobile-first cleanup. Keep card headings from inheriting the
   two-column/long-label behaviour used by older panel sections. */
.owner-dashboard {
  min-width: 0;
}
.owner-header {
  min-height: 56px;
  padding: 8px 20px;
}
.boop-brand {
  flex: 0 0 auto;
}
.logout-button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: transparent;
  color: var(--color-text-secondary);
  font-size: 13px;
  white-space: nowrap;
}
.owner-main {
  width: min(100%, 760px);
  padding: 20px 20px calc(88px + env(safe-area-inset-bottom));
  gap: 16px;
}
.owner-welcome {
  padding: 4px 0 8px;
}
.owner-welcome h1 {
  font-size: clamp(32px, 10vw, 44px);
  line-height: 1.05;
}
.owner-pet-hero .owner-pet-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 16px 2px 0;
}
.owner-pet-hero .owner-pet-title h1 {
  min-width: 0;
  font-size: clamp(36px, 10vw, 44px);
  line-height: 1.05;
  overflow-wrap: normal;
  word-break: normal;
}
.owner-section-heading {
  min-width: 0;
  margin-bottom: 12px;
  gap: 12px;
}
.owner-section-heading h2 {
  min-width: 0;
  flex: 1 1 auto;
  white-space: nowrap;
  font-size: 24px;
  line-height: 1.15;
  overflow-wrap: normal;
  word-break: normal;
}
.owner-section-heading .text-button,
.owner-section-heading > a.text-button,
.owner-section-heading > button.text-button {
  flex: 0 0 auto;
  width: auto;
  min-height: 36px;
  padding: 4px 0 4px 8px;
  white-space: nowrap;
}
.owner-card,
.owner-pet-detail > .owner-card {
  padding: 20px;
}
.owner-pet-detail > .owner-card {
  border-radius: var(--radius-lg);
}
.contact-phones {
  gap: 0;
}
.contact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 11px 0;
  border-bottom: 1px solid var(--owner-line);
}
.contact-row:last-child {
  border-bottom: 0;
}
.contact-number {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.contact-label {
  color: var(--owner-muted);
  font-size: 14px;
  line-height: 1.2;
}
.contact-phone {
  min-width: 0;
  color: var(--text);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: normal;
  white-space: nowrap;
}
.contact-call {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(184, 120, 36, .3);
  border-radius: var(--radius-sm);
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.owner-tag-heading {
  min-width: 0;
}
.owner-tag-heading code,
.service-tag-id {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.owner-tag-card .owner-button {
  width: auto;
  min-height: 36px;
  padding: 0;
  background: transparent;
  color: var(--color-primary);
  white-space: nowrap;
}
.panel-nav {
  min-width: 0;
}

@media (max-width: 639px) {
  .owner-header {
    padding-inline: 20px;
  }
  .owner-main {
    padding-inline: 20px;
  }
  .panel-nav {
    min-height: 60px;
    padding: 5px 20px calc(5px + env(safe-area-inset-bottom));
  }
}

@media (min-width: 640px) {
  .owner-main {
    padding-bottom: 48px;
  }
}

/* Mobile detail refinement. */
.owner-header{min-height:56px;padding-inline:16px;background:transparent;border:0;box-shadow:none;}
.boop-brand img{max-height:30px;}
.logout-button{min-height:38px;padding-inline:4px;font-size:14px;font-weight:500;}
.owner-main{width:min(100%,720px);margin-inline:auto;padding-inline:14px;}
.hero-photo{border-radius:16px;}
.hero-photo-action{min-height:38px;font-size:14px;font-weight:500;}
.owner-pet-hero .owner-pet-title h1{font-size:clamp(34px,9vw,40px);font-weight:700;line-height:1.08;}
.owner-pet-hero .owner-pet-title{padding-top:18px;}
.hero-status{margin-top:7px;font-size:15px;}
.hero-status strong{font-weight:500;}
.owner-section-heading h2,.public-preview h2{font-size:20px;font-weight:650;}
.contact-phones{display:grid;gap:0;}
.contact-row,.description-row{display:grid;gap:4px;padding:11px 0;border-bottom:1px solid var(--owner-line);}
.contact-row:last-child{border-bottom:0;}
.contact-label{color:var(--owner-muted);font-size:12px;font-weight:550;line-height:1.2;}
.contact-phone{min-height:0;padding:0;background:transparent;border:0;color:var(--text);font-size:16px;font-weight:450;line-height:1.35;}
.contact-empty{color:var(--owner-muted);}
.description-row{border-bottom:0;padding-bottom:0;}
.contact-description{margin:0;padding:0;border:0;font-size:16px;font-weight:450;line-height:1.45;}
.owner-card{border-radius:15px;padding:16px;box-shadow:0 2px 10px rgba(34,28,18,.045);}
.owner-pet-detail>.owner-card{padding:16px;}
.owner-tag-list .empty-soft,.service-list .empty-soft{margin:2px 0 0;font-size:14px;}
.owner-tag-card{padding:12px 0;}
.owner-tag-card .owner-button{width:auto;min-height:34px;padding-inline:0;background:transparent;border:0;color:var(--primary);font-size:13px;font-weight:550;}
.service-row{min-height:42px;}
.care-plan > .owner-section-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;min-width:0;}
.care-plan > .owner-section-heading h2{flex:1 1 auto;min-width:0;white-space:normal;overflow-wrap:break-word;}
.care-plan > .owner-section-heading .care-add-button{flex-shrink:0;}
@media (max-width:430px){
  .care-plan > .owner-section-heading h2{flex:1 1 100%;}
  .care-plan > .owner-section-heading .care-add-button{margin-left:auto;}
}

/* Care plan: compact, shared task rows for dashboard and pet profile. */
.care-plan{padding:16px!important;}
.care-plan > .owner-section-heading{margin-bottom:7px;gap:8px;}
.care-plan > .owner-section-heading h2{font-size:21px;}
.care-add-button{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;min-height:34px;padding:0;border:1px solid var(--owner-line);border-radius:11px;background:#f8f5ee;color:var(--primary);font-size:22px;font-weight:500;line-height:1;cursor:pointer;}
.care-task-list,.care-dashboard-list{display:grid;gap:0;min-width:0;}
.care-task-card,.care-dashboard-item{display:block;width:100%;min-width:0;min-height:62px;padding:9px 2px;border:0;border-bottom:1px solid rgba(225,218,205,.72);border-radius:0;background:transparent;color:var(--color-text-primary);text-align:left;text-decoration:none;cursor:pointer;}
.care-task-card[hidden],.care-dashboard-item[hidden]{display:none!important;}
.care-task-card:last-child,.care-dashboard-item:last-child{border-bottom:0;}
.care-task-card:hover,.care-dashboard-item:hover{background:rgba(247,244,237,.62);}
.care-task-card:focus-visible,.care-dashboard-item:focus-visible{outline:2px solid rgba(184,120,36,.45);outline-offset:-2px;border-radius:9px;}
.care-task-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%;}
.care-task-copy{display:grid;gap:3px;min-width:0;}
.care-task-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:1.25;}
.care-task-meta{display:flex;align-items:center;gap:6px;min-width:0;color:var(--owner-muted);font-size:11px;line-height:1.3;}
.care-task-recurrence{margin:0;color:inherit;font-size:inherit;}
.care-task-row-status{display:inline-flex;align-items:center;gap:4px;min-width:0;}
.care-status-dot{font-size:8px;}
.care-status-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.care-task-row-status.care-overdue{color:#a75a52;}
.care-task-row-status.care-today{color:#9a752d;}
.care-task-row-status.care-upcoming{color:#577e98;}
.care-task-row-status.care-future{color:var(--owner-muted);}
.care-row-chevron{flex:0 0 auto;color:#aaa394;font-size:25px;font-weight:300;line-height:1;}
.care-task-pet{justify-self:start;max-width:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 7px;border:1px solid #e9e1d3;border-radius:7px;background:#f8f5ee;color:#655d50;font-size:10px;font-weight:650;line-height:1.4;}
.care-task-pet + .care-task-title{margin-top:1px;}
.care-dashboard{padding:16px!important;}
.care-dashboard .dashboard-section-heading{margin-bottom:6px;}
.care-dashboard .dashboard-section-heading h2{font-size:19px;}
.care-dashboard-add{min-height:34px;width:auto;padding:5px 9px;border:1px solid var(--owner-line);border-radius:10px;background:#f8f5ee;color:var(--primary);font-size:12px;font-weight:650;}
.care-dashboard-item{min-height:66px;padding-inline:2px;}
.care-empty-state{gap:4px;padding:11px 2px;color:var(--owner-muted);font-size:12px;}
.care-empty-state[hidden]{display:none!important;}
.care-empty-state strong{font-size:14px;font-weight:650;}
.care-empty-state [data-care-add]{min-height:32px;margin:3px 0 0;padding:4px 0;border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:650;}
.care-history-section{margin-top:10px;padding-top:10px;border-top:1px solid rgba(225,218,205,.72);}
.care-history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.care-history-section h3{margin:0;font-size:15px;font-weight:650;}
.care-history-heading .text-button{min-height:30px;padding:3px 2px;font-size:11px;font-weight:600;}
.care-history-list{gap:0;}
.care-history-item{grid-template-columns:18px minmax(0,1fr) auto;gap:7px;padding:7px 1px;border-bottom:1px solid rgba(225,218,205,.55);font-size:12px;}
.care-history-check{color:#66836b;font-size:13px;}
.care-history-date{grid-column:auto!important;color:var(--owner-muted);font-size:11px;}
.care-history-name{font-size:12px;font-weight:600;}
.care-history-section .care-history-status{display:none;}
.care-history-section [data-care-history-empty]{margin:7px 0 0;color:var(--owner-muted);font-size:12px;}
.care-details{padding:20px 18px calc(18px + env(safe-area-inset-bottom));}
.care-details-heading{padding-bottom:15px;border-bottom:1px solid rgba(225,218,205,.72);}
.care-details-grab{width:34px;height:4px;margin:0 auto 18px;border-radius:4px;background:#d8d2c7;}
.care-details-heading h2{margin:0;font-size:21px;font-weight:700;}
.care-details-pet{margin:4px 0 0;color:var(--owner-muted);font-size:13px;}
.care-details-fields{display:grid;gap:0;margin:8px 0 14px;}
.care-details-field{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:12px;padding:11px 0;border-bottom:1px solid rgba(225,218,205,.52);font-size:13px;}
.care-details-field dt{color:var(--owner-muted);}
.care-details-field dd{margin:0;font-weight:550;overflow-wrap:anywhere;}
.care-details-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.care-details-actions button{min-height:38px;padding:7px 11px;border:0;border-radius:10px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;}
.care-details-complete{flex:1 1 100%;background:var(--accent);color:var(--accent-dark);}
.care-details-edit{background:#f3efe7;color:var(--color-text-primary);}
.care-details-archive{background:transparent;color:#93635b;}
@media(max-width:639px){.owner-dashboard .owner-main{padding-bottom:calc(108px + env(safe-area-inset-bottom));}}

/* Shared owner-panel shell: quiet desktop sidebar and dedicated mobile tabs. */
.owner-dashboard.boop-app-shell{display:grid;grid-template-columns:212px minmax(0,1fr);grid-template-rows:72px minmax(calc(100dvh - 72px),auto);width:100%;min-height:100dvh;margin:0;background:#fbfaf7;color:#173a35;--owner-line:#ecebe5;--owner-muted:#747b84;--owner-card:#fff;}
.boop-app-shell>.owner-header{grid-column:1/-1;grid-row:1;position:sticky;top:0;min-height:72px;padding:0 34px;background:rgba(255,255,255,.96);border-bottom:1px solid #efeee9;}
.boop-app-shell .boop-brand{font-size:25px;color:#083f35;letter-spacing:-.045em}.boop-app-shell .boop-brand img{width:44px;height:44px}
.boop-app-shell>.boop-sidebar{grid-column:1;grid-row:2;position:sticky;top:72px;display:flex;flex-direction:column;align-self:stretch;min-height:calc(100dvh - 72px);padding:26px 10px 18px;border-right:1px solid #efeee9;background:#fff;}
.boop-app-shell .panel-nav{display:grid;gap:5px;width:100%;margin:0;padding:0}
.boop-app-shell .panel-nav-link{display:flex;justify-content:flex-start;gap:13px;min-height:48px;padding:0 14px;border:0;border-radius:13px;color:#606b78;font-size:14px;font-weight:550}
.boop-app-shell .panel-nav-icon{display:grid;width:22px;place-items:center;color:#68737a;font-size:20px;font-weight:500;line-height:1}
.boop-app-shell .panel-nav-link:hover{background:#f7f9f5;color:#174f3e}
.boop-app-shell .panel-nav-link.is-active{background:#edf5ed;color:#10543e;font-weight:700}
.boop-app-shell .panel-nav-link.is-active .panel-nav-icon{color:#08704e}
.boop-app-shell .panel-nav-separator,.owner-dashboard:has(> .boop-sidebar) .panel-nav-separator{display:block;height:1px;margin:5px 14px;background:#e7ebe5}
.boop-app-shell .sidebar-note{display:grid;gap:7px;margin-top:auto;padding:18px 14px;border-radius:18px;background:#f6f5ef;color:#1c4038}
.boop-app-shell .sidebar-note strong{font-size:15px}.boop-app-shell .sidebar-note span{color:#778078;font-size:13px;line-height:1.5}
.boop-app-shell>.owner-main{grid-column:2;grid-row:2;align-content:start;width:min(100%,1180px);margin:0;padding:28px 38px 52px;gap:22px}
.boop-app-shell .owner-welcome h1{margin:0;color:#0c342f;font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:700;letter-spacing:-.035em;line-height:1.08}
.owner-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.owner-identity{display:inline-flex;align-items:center;gap:10px;color:#253a38;text-decoration:none;font-size:14px;font-weight:600}.owner-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#eaf2e9;color:#1d6048;font-weight:750}
.boop-app-shell .owner-header .owner-language-switch{padding:3px;border-color:#eee;background:#fff}.boop-app-shell .owner-header .owner-language-switch .lang-btn{min-width:32px;min-height:30px}.boop-app-shell .logout-button{min-height:40px;padding-inline:14px;border:0;background:transparent;color:#354440}
.caregiver-page .owner-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:0}.caregiver-page .owner-welcome-copy{display:grid;gap:8px}.caregiver-page .owner-welcome p{max-width:660px;margin:0;color:#747b84;font-size:16px;line-height:1.5}.caregiver-add{flex:0 0 auto;min-height:48px;padding:0 20px;border-radius:12px;background:#075640;color:#fff;font-size:15px}.caregiver-summary{padding:18px 22px}.caregiver-summary h2{margin:0 0 12px;color:#153934;font-size:19px}.caregiver-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.caregiver-stat{display:flex;align-items:center;gap:14px;min-width:0;padding:2px 20px;border-right:1px solid #ecebe7}.caregiver-stat:first-child{padding-left:0}.caregiver-stat:last-child{border:0}.caregiver-stat-icon{display:grid;width:60px;height:60px;flex:0 0 60px;place-items:center;border-radius:50%;background:#eaf4e8;color:#175b42;font-size:21px}.caregiver-stat:nth-child(2) .caregiver-stat-icon{background:#edf2fc;color:#315989}.caregiver-stat strong{display:block;color:#153934;font-family:Georgia,serif;font-size:29px;line-height:1}.caregiver-stat span:last-child{display:block;margin-top:5px;color:#737986;font-size:14px;line-height:1.3}.caregiver-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:0 4px}.caregiver-section-heading h2{margin:0;color:#173a35;font-size:22px;letter-spacing:-.02em}.caregiver-push-legend{display:flex;gap:14px;color:#798087;font-size:12px}.caregiver-list{display:grid;gap:9px}.caregiver-row{display:grid;grid-template-columns:minmax(310px,1.5fr) minmax(138px,.55fr) auto;align-items:center;gap:16px;min-height:88px;padding:14px 17px;border:1px solid #efeee9;border-radius:18px;background:#fff;box-shadow:0 5px 18px #25281708}.caregiver-person{display:flex;align-items:center;gap:14px;min-width:0}.caregiver-initials{display:grid;width:60px;height:60px;flex:0 0 60px;place-items:center;border-radius:50%;background:#f6ead1;color:#193c35;font-size:21px;font-weight:650}.caregiver-person-copy{display:grid;gap:6px;min-width:0}.caregiver-name-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px}.caregiver-name-line h3{margin:0;color:#153934;font-size:18px;font-weight:700}.caregiver-access{color:#858992;font-size:13px}.caregiver-role-chip,.caregiver-you-chip,.caregiver-push{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;min-height:27px;padding:4px 10px;border-radius:999px;background:#edf4ed;color:#265941;font-size:11px;font-weight:650;line-height:1.2}.caregiver-you-chip{background:#eef3ff;color:#2754a0}.caregiver-role-chip.temp{background:#edf2ff;color:#2553a1}.caregiver-period{color:#758079;font-size:13px}.caregiver-push{white-space:nowrap}.caregiver-push.off{background:#f2f3f4;color:#747b84}.caregiver-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.caregiver-row-actions .text-button{min-height:38px;padding:0 10px;border:1px solid #e9e9e6;border-radius:9px;color:#273d39;font-size:12px;font-weight:600;white-space:nowrap}.caregiver-row-actions .pet-owner-remove{color:#757b80}.caregiver-lower-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start;gap:20px}.caregiver-invites{display:grid;gap:9px}.caregiver-invite-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px;border:1px solid #efeee9;border-radius:17px;background:#fff;box-shadow:0 5px 18px #25281708}.caregiver-invite-person{display:grid;gap:6px}.caregiver-invite-person strong{color:#153934;font-size:16px}.caregiver-invite-person span{color:#7b8088;font-size:13px}.caregiver-invite-actions{display:flex;gap:8px}.caregiver-invite-actions .text-button{min-height:40px;padding:0 12px;border:1px solid #e9e9e6;border-radius:9px;font-size:12px}.caregiver-info{padding:19px 20px;border:0;border-radius:18px;background:#f1f6f0}.caregiver-info h2{margin:0 0 14px;font-size:18px}.caregiver-info ol{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:careinfo}.caregiver-info li{position:relative;padding-left:36px;color:#68736d;font-size:12px;line-height:1.45;counter-increment:careinfo}.caregiver-info li::before{content:counter(careinfo);position:absolute;left:0;top:0;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#e0ece2;color:#286044;font-weight:750}.caregiver-info strong{display:block;margin-bottom:2px;color:#263a34;font-size:13px}
@media(max-width:900px){.owner-dashboard.boop-app-shell{grid-template-columns:184px minmax(0,1fr)}.boop-app-shell>.owner-main{padding-inline:24px}.caregiver-row{grid-template-columns:minmax(230px,1fr) auto;}.caregiver-row>.caregiver-push{grid-column:1;grid-row:2;margin-left:74px}.caregiver-row-actions{grid-column:2;grid-row:1/3;flex-wrap:wrap}.caregiver-lower-grid{grid-template-columns:1fr}}
@media(max-width:639px){.owner-dashboard.boop-app-shell{display:block;min-height:100dvh;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.boop-app-shell>.owner-header{position:sticky;top:0;min-height:58px;padding:7px 16px}.boop-app-shell .boop-brand{font-size:21px}.boop-app-shell .boop-brand img{width:36px;height:36px}.boop-app-shell .owner-header-actions{gap:0}.boop-app-shell .owner-language-switch,.boop-app-shell .owner-identity>span:not(.owner-avatar),.boop-app-shell .owner-header-actions form{display:none!important}.boop-app-shell .owner-identity{display:inline-flex}.boop-app-shell .owner-avatar{width:36px;height:36px}.boop-app-shell>.boop-sidebar{position:fixed;z-index:40;right:0;bottom:0;left:0;top:auto;display:block;width:auto;min-height:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid #ecebe5;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.boop-app-shell .sidebar-note{display:none}.boop-app-shell .panel-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.boop-app-shell .panel-nav-link{flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:51px;padding:3px 1px;border-radius:10px;font-size:10px;line-height:1.15;text-align:center}.boop-app-shell .panel-nav-icon{height:22px;font-size:19px}.boop-app-shell .panel-nav-link[hidden]{display:none!important}.boop-app-shell>.owner-main{width:100%;padding:22px 16px calc(24px + env(safe-area-inset-bottom));gap:18px}.boop-app-shell .owner-welcome h1{font-size:36px}.caregiver-page .owner-welcome{display:grid;gap:15px}.caregiver-page .owner-welcome p{font-size:14px}.caregiver-add{width:100%;min-height:48px}.caregiver-summary{padding:15px 13px}.caregiver-summary h2{font-size:17px}.caregiver-stat{display:grid;justify-items:center;gap:5px;padding:0 5px;text-align:center}.caregiver-stat:first-child{padding-left:5px}.caregiver-stat-icon{width:38px;height:38px;min-width:38px;font-size:16px}.caregiver-stat strong{font-size:23px}.caregiver-stat span:last-child{font-size:10px}.caregiver-section-heading{align-items:flex-start;margin-bottom:9px}.caregiver-section-heading h2{font-size:19px}.caregiver-push-legend{display:none}.caregiver-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px;border-radius:16px}.caregiver-person{align-items:flex-start;gap:11px}.caregiver-initials{width:46px;height:46px;flex-basis:46px;font-size:18px}.caregiver-person-copy{gap:6px}.caregiver-name-line h3{font-size:17px}.caregiver-role-chip,.caregiver-you-chip{min-height:24px;padding:3px 8px;font-size:10px}.caregiver-access,.caregiver-period{font-size:12px}.caregiver-row>.caregiver-push{grid-column:1;grid-row:auto;margin:0 0 0 57px}.caregiver-row-actions{grid-column:1;grid-row:auto;justify-content:flex-start;flex-wrap:wrap;margin-left:57px}.caregiver-row-actions .text-button{min-height:36px}.caregiver-lower-grid{gap:18px}.caregiver-invite-row{align-items:flex-start;flex-direction:column;padding:14px}.caregiver-invite-actions{width:100%}.caregiver-invite-actions .text-button{flex:1}.caregiver-info{padding:16px}.caregiver-info ol{gap:10px}}
/* The navigation component is shared by every authenticated owner view. */
.owner-dashboard:has(> .boop-sidebar){display:grid;grid-template-columns:212px minmax(0,1fr);grid-template-rows:72px minmax(calc(100dvh - 72px),auto);width:100%;min-height:100dvh;margin:0;background:#fbfaf7;color:#173a35}
.owner-dashboard:has(> .boop-sidebar)>.owner-header{grid-column:1/-1;grid-row:1;position:sticky;top:0;min-height:72px;padding:0 34px;background:rgba(255,255,255,.96);border-bottom:1px solid #efeee9}
.owner-dashboard:has(> .boop-sidebar)>.boop-sidebar{grid-column:1;grid-row:2;position:sticky;top:72px;display:flex;flex-direction:column;align-self:stretch;min-height:calc(100dvh - 72px);padding:26px 10px 18px;border-right:1px solid #efeee9;background:#fff}
.owner-dashboard:has(> .boop-sidebar)>.owner-main{grid-column:2;grid-row:2;align-content:start;width:min(100%,1180px);margin:0;padding:22px 38px 44px;gap:17px}
.owner-dashboard:has(> .boop-sidebar) .panel-nav{display:grid;gap:5px;width:100%;margin:0;padding:0}
.owner-dashboard:has(> .boop-sidebar) .panel-nav{position:static;right:auto;bottom:auto;left:auto;max-width:none;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-link{display:flex;justify-content:flex-start;gap:13px;min-height:48px;padding:0 14px;border:0;border-radius:13px;color:#606b78;font-size:14px;font-weight:550}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-icon{display:grid;width:22px;place-items:center;color:#68737a;font-size:20px;font-weight:500;line-height:1}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-link:hover{background:#f7f9f5;color:#174f3e}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-link.is-active{background:#edf5ed;color:#10543e;font-weight:700}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-link.is-active .panel-nav-icon{color:#08704e}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-separator{display:block;height:1px;margin:5px 14px;background:#e7ebe5}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-link>span[aria-hidden="true"]{display:grid;width:22px;height:auto;background:none;font-size:20px;line-height:1}
.owner-dashboard:has(> .boop-sidebar) .panel-nav-link>span[aria-hidden="true"]::before{content:none;display:none}
.owner-dashboard:has(> .boop-sidebar) .sidebar-note{display:grid;gap:7px;margin-top:auto;padding:18px 14px;border-radius:18px;background:#f6f5ef;color:#1c4038}
.owner-dashboard:has(> .boop-sidebar) .sidebar-note strong{font-size:15px}.owner-dashboard:has(> .boop-sidebar) .sidebar-note span{color:#778078;font-size:13px;line-height:1.5}
@media(max-width:900px) and (min-width:640px){.owner-dashboard:has(> .boop-sidebar){grid-template-columns:184px minmax(0,1fr)}.owner-dashboard:has(> .boop-sidebar)>.owner-main{padding-inline:24px}}
@media(max-width:639px){.owner-dashboard:has(> .boop-sidebar){display:block;min-height:100dvh;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.owner-dashboard:has(> .boop-sidebar)>.owner-header{position:sticky;top:0;min-height:58px;padding:7px 16px}.owner-dashboard:has(> .boop-sidebar)>.boop-sidebar{position:fixed;z-index:40;right:0;bottom:0;left:0;top:auto;display:block;width:auto;min-height:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border:0;border-top:1px solid #ecebe5;background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.owner-dashboard:has(> .boop-sidebar) .sidebar-note{display:none}.owner-dashboard:has(> .boop-sidebar) .panel-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.owner-dashboard:has(> .boop-sidebar) .panel-nav-link{flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:51px;padding:3px 1px;border-radius:10px;font-size:10px;line-height:1.15;text-align:center}.owner-dashboard:has(> .boop-sidebar) .panel-nav-link[hidden],.owner-dashboard:has(> .boop-sidebar) [data-profile-navigation]{display:none!important}.owner-dashboard:has(> .boop-sidebar)>.owner-main{width:100%;padding:22px 16px calc(24px + env(safe-area-inset-bottom));gap:18px}.owner-dashboard:has(> .boop-sidebar) .owner-language-switch,.owner-dashboard:has(> .boop-sidebar) .owner-identity>span:not(.owner-avatar),.owner-dashboard:has(> .boop-sidebar) .owner-header-actions form{display:none!important}}
@media(max-width:639px){.owner-dashboard:has(> .boop-sidebar) .panel-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.owner-dashboard:has(> .boop-sidebar) .panel-nav-separator{display:none}}
.owner-dashboard:has(> .boop-sidebar) .boop-brand{color:#083f35;font-size:25px;letter-spacing:-.045em}.owner-dashboard:has(> .boop-sidebar) .boop-brand img{width:44px;height:44px;content:initial}
.owner-dashboard:has(> .boop-sidebar) .owner-header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.owner-dashboard:has(> .boop-sidebar) .owner-identity{display:inline-flex;align-items:center;gap:10px;color:#253a38;text-decoration:none;font-size:14px;font-weight:600}.owner-dashboard:has(> .boop-sidebar) .owner-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#eaf2e9;color:#1d6048;font-weight:750}
.owner-dashboard:has(> .boop-sidebar) .owner-welcome h1{position:static;margin:0;color:#0c342f!important;font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:700;letter-spacing:-.035em;line-height:1.08}.owner-dashboard:has(> .boop-sidebar) .owner-welcome h1::after,.owner-dashboard:has(> .boop-sidebar) .owner-welcome::after{content:none!important}
.caregiver-page .owner-welcome-copy{min-width:0;flex:1 1 auto}.caregiver-page .owner-welcome h1{width:max-content;max-width:100%;white-space:nowrap}.caregiver-page .caregiver-add{width:auto;flex:0 0 auto;background:#075640!important;color:#fff!important}.caregiver-invites-section{display:grid;gap:10px}.caregiver-invites-section .caregiver-section-heading{margin:0}.caregiver-page .caregiver-lower-grid [data-open-owner-invite]{display:none}
.caregiver-empty{margin:0;padding:16px;border:1px solid #efeee9;border-radius:16px;background:#fff;color:#777f80;font-size:13px}.caregiver-form-host{display:grid}.caregiver-form-host:has([data-owner-invite][hidden]){display:none}.caregiver-row{min-height:80px;padding-block:10px}.caregiver-initials{width:54px;height:54px;flex-basis:54px}.caregiver-page .owner-main{gap:16px}
.caregiver-info{padding:16px 18px}.caregiver-info ol{gap:9px}

/* Pet detail dashboard, scoped to the authenticated owner shell. */
.owner-app-body{display:block;place-items:initial;padding:0;overflow-x:hidden;overflow-y:auto;background:#fbfaf7}
.owner-pet-detail>.pet-detail-main{width:min(100%,1220px);gap:14px;padding:14px 20px 48px}
.owner-pet-detail .owner-pet-hero{display:block;padding:0;border:0;background:transparent;box-shadow:none}
.owner-pet-detail .hero-photo{position:relative;height:clamp(210px,24vw,270px);overflow:hidden;border-radius:17px;background:#d9d4c9}
.owner-pet-detail .hero-photo::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(5,18,17,.74),rgba(5,18,17,.24) 55%,transparent 82%);pointer-events:none}
.owner-pet-detail .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.owner-pet-detail .hero-photo .pet-photo-placeholder{object-fit:contain;padding:34px;background:linear-gradient(120deg,#e9e4d9,#cdc5b6)}
.owner-pet-detail .hero-photo-action{position:absolute;z-index:2;top:15px;right:15px;display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #ffffff8c;border-radius:12px;background:#14221fa8;color:#fff;font-size:13px;font-weight:650;backdrop-filter:blur(8px)}
.owner-pet-detail .pet-hero-copy{position:absolute;z-index:1;bottom:17px;left:22px;color:#fff}
.owner-pet-detail .pet-hero-copy h1{margin:0 0 7px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,50px);font-weight:700;letter-spacing:-.035em;line-height:1}
.owner-pet-detail .pet-hero-meta,.owner-pet-detail .hero-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.owner-pet-detail .pet-hero-meta>span,.owner-pet-detail .pet-hero-status{padding:6px 10px;border:1px solid #ffffff30;border-radius:999px;background:#132421b8;color:#fff;font-size:12px;font-weight:600}
.owner-pet-detail .pet-hero-meta .species-pill{margin:0;color:#fff}
.owner-pet-detail .hero-status{margin-top:9px}
.pet-quick-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pet-quick-action{display:flex;align-items:center;gap:11px;min-width:0;min-height:67px;padding:10px 12px;border:1px solid #ebe7df;border-radius:13px;background:#fffefa;color:#153b36;text-decoration:none;text-align:left;box-shadow:0 2px 7px #1d30210a;cursor:pointer}
.pet-quick-action:hover,.pet-summary-card:hover{border-color:#cbded0;background:#fbfdf9}
.pet-quick-action .pet-action-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:11px;background:#064d3d;color:white;font-size:19px}
.pet-quick-action>span:nth-child(2){display:grid;gap:3px;min-width:0}.pet-quick-action strong{overflow:hidden;color:#163b37;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pet-quick-action small{color:#727c7c;font-size:11px}.pet-quick-action>b{margin-left:auto;color:#667377;font-size:20px;font-weight:400}.pet-quick-action.is-disabled{opacity:.6;cursor:default}
.pet-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.pet-summary-card{display:flex;align-items:flex-start;gap:10px;min-width:0;min-height:86px;padding:13px 12px;border:1px solid #ebe7df;border-radius:13px;background:#fffefa;color:#143b35;text-decoration:none;box-shadow:0 2px 7px #1d30210a}
.pet-summary-card>span:nth-child(2){display:grid;gap:4px;min-width:0;align-content:center}.pet-summary-card small{color:#667273;font-size:11px;line-height:1.25}.pet-summary-card strong{color:#183b36;font-size:14px;line-height:1.2}.pet-summary-card>b{align-self:flex-end;margin-left:auto;color:#617075;font-size:19px;font-weight:400}.summary-icon{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;border-radius:13px;background:#eaf4e9;color:#0b523e;font-size:18px}.summary-icon.is-gold{background:#fff4df;color:#a46a10}
.pet-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px}
.pet-detail-grid>.owner-card{min-width:0;padding:17px;border:1px solid #ebe7df;border-radius:14px;background:#fffefa;box-shadow:0 2px 8px #1d302108}
.pet-detail-grid .owner-section-heading{margin:0 0 13px}.pet-detail-grid .owner-section-heading h2{color:#143a35;font-size:18px}.pet-about-card .pet-info-list{display:grid;margin:0}.pet-about-card .pet-info-row{display:grid;grid-template-columns:minmax(110px,.45fr) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid #efede8;font-size:12px}.pet-about-card .pet-info-row:last-child{border-bottom:0}.pet-about-card .pet-info-row dt{color:#667273}.pet-about-card .pet-info-row dd{margin:0;color:#1a3735;font-weight:550}.pet-extra-info{margin-top:12px;border-top:1px solid #efede8}.pet-extra-info summary{padding:11px 0 2px;color:#075640;font-size:12px;font-weight:650;cursor:pointer}.pet-extra-info .pet-info-group{margin-top:12px}.pet-extra-info .pet-info-group h3{font-size:13px}.pet-edit-source,.owner-pet-detail .owner-contact-summary{display:none}
.pet-detail-grid .care-plan{padding:17px!important}.pet-detail-grid .care-plan>.owner-section-heading{flex-wrap:wrap}.pet-detail-grid [data-care-test-reminder]{display:none}.pet-detail-grid .care-history-section{margin-top:14px;padding-top:10px;border-top:1px solid #efede8}.pet-detail-grid .care-history-list{max-height:165px;overflow:auto}.pet-detail-grid .care-history-heading h3{font-size:13px}
.pet-detail-grid .owner-tag-list{display:grid;gap:8px}.pet-detail-tag{display:flex;align-items:center;flex-wrap:wrap;gap:11px;min-width:0;padding:9px;border:1px solid #efede8;border-radius:13px;background:#fff}.pet-tag-mark{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:12px;background:#f1f2ed;color:#17493c;font-size:23px}.pet-tag-copy{display:grid;gap:4px;min-width:0}.pet-tag-title-row{display:flex;align-items:center;gap:5px;min-width:0}.pet-tag-copy strong{overflow:hidden;color:#193a36;font-size:13px;text-overflow:ellipsis}.pet-tag-id{color:#828a87;font-size:10px}.pet-tag-copy .status-badge{width:max-content}.pet-tag-rename{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;padding:0;border:0;border-radius:7px;background:transparent;color:#6b7872;font-size:14px;cursor:pointer}.pet-tag-rename:hover{background:#eef3ed;color:#15513d}.pet-tag-name-saved{color:#34734e;font-size:10px}.pet-tag-detach{margin-left:auto;min-height:37px;padding:0 11px;border:1px solid #efb0a8;border-radius:10px;background:#fff;color:#a43d34;font-size:12px;font-weight:650;cursor:pointer}.pet-tag-detach:hover{background:#fff5f3}.pet-tag-detach:disabled{opacity:.55}.pet-tag-name-form{display:grid;flex:1 0 calc(100% - 51px);gap:6px;margin:2px 0 0 51px}.pet-tag-name-form[hidden]{display:none}.pet-tag-name-form label{color:#5f6d68;font-size:11px;font-weight:650}.pet-tag-name-form textarea{width:100%;min-height:38px;max-height:65px;resize:vertical;padding:8px 10px;border:1px solid #dce4db;border-radius:9px;background:#fff;color:#183d36;font:inherit;font-size:13px}.pet-tag-name-form textarea[aria-invalid="true"]{border-color:#bb5146}.pet-tag-name-error{margin:0;color:#a43d34;font-size:11px}.pet-tag-name-actions{display:flex;gap:7px}.pet-tag-name-actions .owner-button{min-height:32px;padding:0 11px;border-radius:9px;font-size:11px}.pet-assign-tag{min-height:34px;padding:0 12px;border-radius:10px;background:#064d3d;color:#fff;font-size:12px;text-decoration:none}.pet-tags-card .pet-tag-message{margin:0}.pet-tags-card .panel-purchase-info{margin-top:10px}.owner-pet-detail .care-history-section{display:none}
.pet-owner-preview{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#29413c;font-size:13px}.pet-owner-avatar{display:grid;width:33px;height:33px;place-items:center;border-radius:50%;background:#e7f1e8;color:#175740;font-size:12px;font-weight:700}.pet-owner-account-note{margin:10px 0 0;color:#78817e;font-size:11px}.pet-subscription-card .service-badge{margin:0}.pet-public-links{display:flex;align-items:center;gap:12px}.pet-public-status{padding:5px 9px;border-radius:999px;background:#e9f5e8;color:#236544;font-size:11px;font-weight:650}.pet-history-card .pet-activity-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.pet-activity-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #efede8}.pet-activity-item:last-child{border:0}.pet-activity-icon{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:#ebf4e9;color:#165a41}.pet-activity-item>span:last-child{display:grid;gap:3px;min-width:0}.pet-activity-item strong{color:#213c38;font-size:12px}.pet-activity-item small{color:#78817e;font-size:11px}
@media(max-width:1100px) and (min-width:640px){.pet-quick-actions,.pet-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pet-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:639px){.owner-pet-detail>.pet-detail-main{gap:12px;padding:12px 15px calc(26px + env(safe-area-inset-bottom))}.owner-pet-detail .hero-photo{height:230px;border-radius:17px}.owner-pet-detail .hero-photo-action{top:10px;right:10px;min-height:37px;padding-inline:11px;font-size:12px}.owner-pet-detail .pet-hero-copy{bottom:12px;left:14px;right:10px}.owner-pet-detail .pet-hero-copy h1{font-size:38px}.owner-pet-detail .pet-hero-meta,.owner-pet-detail .hero-status{gap:5px}.owner-pet-detail .pet-hero-meta>span,.owner-pet-detail .pet-hero-status{padding:5px 8px;font-size:10px}.pet-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pet-quick-action{min-height:62px;gap:8px;padding:8px}.pet-quick-action:first-child{grid-column:1/-1}.pet-quick-action .pet-action-icon{width:35px;height:35px;flex-basis:35px;font-size:17px}.pet-quick-action strong{font-size:11px}.pet-quick-action small{font-size:10px}.pet-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pet-summary-card{min-height:74px;padding:10px 9px;gap:8px}.pet-summary-card:last-child{grid-column:1/-1}.summary-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}.pet-summary-card strong{font-size:12px}.pet-detail-grid{grid-template-columns:minmax(0,1fr);gap:9px}.pet-detail-grid>.owner-card{padding:15px}.pet-about-card .pet-info-row{grid-template-columns:minmax(95px,.4fr) minmax(0,1fr);font-size:12px}.pet-tag-detach{min-height:35px;padding:0 9px;font-size:11px}.pet-tag-mark{width:35px;height:35px;flex-basis:35px}.pet-detail-grid .care-plan{padding:15px!important}.pet-owner-preview{font-size:12px}.pet-public-links{align-items:flex-start;flex-direction:column}.pet-detail-grid .care-history-list{max-height:132px}}
@media(max-width:639px){.caregiver-row-actions .text-button{width:auto;flex:0 1 auto;padding-inline:11px}.caregiver-row-actions{width:calc(100% - 57px)}}
.caregiver-page .owner-welcome-copy>.owner-count,.caregiver-page .owner-welcome-copy>[data-effective-plan]{display:none}
@media(max-width:639px){.owner-dashboard:has(> .boop-sidebar) .boop-brand{font-size:21px}.owner-dashboard:has(> .boop-sidebar) .boop-brand img{width:36px;height:36px}.owner-dashboard:has(> .boop-sidebar) .owner-header-actions{gap:0}.owner-dashboard:has(> .boop-sidebar) .owner-welcome h1{font-size:36px}.caregiver-page .caregiver-add{width:100%}}
@media(min-width:640px){
  .care-plan,.care-dashboard{padding:19px!important;}
  .care-details-dialog{inset:50% auto auto 50%;margin:0;width:min(480px,calc(100vw - 48px));max-height:88dvh;border:1px solid var(--color-border);border-radius:20px;transform:translate(-50%,-50%);}
  .care-details{padding:23px;}
  .care-details-grab{display:none;}
}
.public-preview-intro{margin:0 0 10px;color:var(--owner-muted);font-size:14px;line-height:1.45;}
.public-preview .text-button{padding-inline:0;min-height:34px;color:var(--primary);font-size:13px;}

/* Compact pet dashboard cards. */
.owner-pet-list{gap:12px}
.owner-pet-entry{display:grid;gap:6px;min-width:0}
.owner-pet-card{display:block;overflow:visible;padding:0;border-radius:16px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.owner-pet-card:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(34,28,18,.1)}
.owner-pet-card:focus-visible{outline:3px solid rgba(184,120,36,.45);outline-offset:3px}
.pet-card-photo{position:relative;width:100%;height:clamp(96px,28vw,124px);aspect-ratio:auto;border-radius:16px 16px 0 0;background:linear-gradient(135deg,#eee8dc,#d8c5a5);overflow:hidden}
.pet-card-photo img{width:100%;height:100%;object-fit:cover}
.pet-card-photo .pet-photo-placeholder{object-fit:contain;padding:20%;background:linear-gradient(135deg,#eee8dc,#e1d5c0)}
.pet-card-name{position:absolute;left:10px;bottom:9px;max-width:calc(100% - 20px);overflow:hidden;padding:6px 10px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(30,26,20,.36);backdrop-filter:blur(6px);color:#fff;font-size:clamp(18px,5vw,24px);font-weight:700;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.owner-pet-card-main{display:grid;gap:7px;padding:10px 13px 12px}
.pet-card-birth{min-height:18px;color:var(--owner-muted);font-size:14px}
.pet-tag-status{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pet-tag-status-assigned{color:var(--success)}.pet-tag-status-inactive{color:var(--danger)}.pet-tag-status-missing{color:var(--warning)}
.pet-tag-icon{font-size:14px;white-space:nowrap}
.dashboard-popover{position:relative;z-index:3;margin-top:5px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text-primary);font-size:13px;cursor:default}
.dashboard-popover strong{display:block;font-size:14px}.dashboard-popover p{margin:4px 0 0;color:var(--color-text-secondary);line-height:1.4}
.upcoming-events{display:grid;gap:10px;padding:16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-sm)}
.dashboard-section-heading h2{margin:0;font-size:20px}.upcoming-event-list{display:grid;gap:6px}
.pet-next-event,.upcoming-event{display:flex;width:100%;align-items:flex-start;gap:10px;padding:10px 0;border:0;border-top:1px solid var(--color-border);background:transparent;color:var(--color-text-primary);text-align:left;font:inherit;cursor:pointer}
.pet-next-event{padding:9px 12px;border:1px solid var(--color-border);border-radius:12px;background:rgba(241,237,228,.55)}
.event-icon{font-size:16px}.pet-next-event strong,.upcoming-event strong{display:block;font-size:14px}.pet-next-event small,.upcoming-event small{display:block;margin-top:2px;color:var(--color-text-secondary);font-size:12px}
.is-extra-event{display:none}.is-extra-event.is-visible{display:flex}.events-more-button{justify-self:start;padding:0;border:0;background:transparent;cursor:pointer}
.owner-dashboard:not(.owner-pet-detail) .public-preview{display:none}
@media (min-width:640px){.owner-pet-list{gap:14px}.owner-pet-entry{display:block}.owner-pet-card{display:grid;grid-template-columns:minmax(220px,42%) minmax(0,1fr);min-height:124px}.pet-card-photo{height:124px;border-radius:16px 0 0 16px}.owner-pet-card-main{align-content:center;padding:14px 16px}.pet-next-event{margin-top:6px}}
@media (max-width:639px){
  .owner-pet-entry,.owner-pet-card,.pet-card-photo,.owner-pet-card-main{min-width:0;max-width:100%;box-sizing:border-box}
  .owner-pet-card{overflow:hidden}
  .owner-pet-card-main{grid-template-columns:minmax(0,1fr)}
  .pet-card-birth,.pet-tag-status{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .pet-tag-status{width:fit-content;max-width:100%;min-width:0;flex-wrap:wrap;justify-self:start;box-sizing:border-box}
  .pet-tag-icon{min-width:0;white-space:normal;overflow-wrap:anywhere}
  .dashboard-popover{min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
}
.hero-photo.image-failed,.pet-card-photo.image-failed{display:grid;place-items:center;}
.hero-photo.image-failed::after,.pet-card-photo.image-failed::after{content:"Boop";color:rgba(45,39,27,.42);font-size:18px;font-weight:600;letter-spacing:-.02em;}

/* Shared owner dashboard layout: the same cards and care rows at every width. */
@media (min-width: 640px) {
  .auth-page:has(.owner-dashboard) {
    width: min(100%, 1220px);
    padding: 0;
  }
  .owner-main {
    width: min(100%, 1180px);
    padding-inline: 20px;
  }
  .panel-nav {
    width: min(100%, 1180px);
  }
  .owner-pet-list {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    align-items: start;
    gap: 16px;
    min-width: 0;
  }
  .owner-pet-entry,
  .owner-pet-card,
  .owner-pet-card-main {
    min-width: 0;
    max-width: 100%;
  }
  .owner-pet-card {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    overflow: hidden;
  }
  .pet-card-photo {
    width: 100%;
    height: clamp(124px, 14vw, 176px);
    aspect-ratio: auto;
    border-radius: 16px 16px 0 0;
  }
  .owner-pet-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    padding: 14px 16px 16px;
  }
  .pet-tag-status {
    position: static;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .pet-tag-icon {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .care-dashboard,
  .care-plan {
    width: 100%;
    min-width: 0;
  }
  .care-dashboard-list,
  .care-task-list {
    width: 100%;
    min-width: 0;
  }
  .care-task-copy {
    flex: 1 1 auto;
  }
  .care-task-meta {
    flex-wrap: wrap;
  }
  .care-task-row-status {
    flex-wrap: wrap;
  }
  .care-status-detail {
    white-space: normal;
  }
  .panel-purchase {
    justify-content: flex-start;
    width: 100%;
    padding: 0;
  }
  .panel-purchase .owner-button {
    max-width: 100%;
    white-space: normal;
  }
}

@media (min-width: 1024px) {
  .owner-main {
    padding-inline: 24px;
  }
}

@media (max-width: 639px) {
  .owner-pet-list,
  .owner-pet-entry,
  .owner-pet-card,
  .owner-pet-card-main,
  .care-dashboard,
  .care-plan,
  .care-task-list,
  .care-dashboard-list {
    min-width: 0;
    max-width: 100%;
  }
  .owner-pet-card {
    overflow: hidden;
  }
  .owner-pet-card-main {
    grid-template-columns: minmax(0, 1fr);
  }
  .pet-tag-status {
    position: static;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    justify-self: start;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .pet-tag-icon {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .care-task-copy {
    flex: 1 1 auto;
  }
  .care-task-meta {
    flex-wrap: wrap;
  }
}

.panel-purchase {
  justify-self: start;
  margin: 0;
}

/* Contact visibility, compact country-prefix picker, and balanced owner header. */
.owner-account #ownerContactForm{gap:9px}
.owner-phone-input-row{display:flex;align-items:stretch;gap:8px;min-width:0;width:100%}
.owner-phone-input-row input[type=tel]{flex:1 1 0;width:1%;min-width:0}
.owner-phone-country-select{position:static;z-index:auto;flex:0 0 112px;width:112px;min-width:0;height:46px;opacity:1;pointer-events:auto;cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-text-primary);padding:0 8px;font:inherit;font-size:13px}
.owner-contact-visibility{display:flex;flex-wrap:wrap;gap:8px 16px;margin:9px 0 2px;padding:12px 0 2px;border:0;border-top:1px solid var(--color-border)}
.owner-contact-visibility legend{padding:0 0 7px;color:var(--color-text-secondary);font-size:13px;font-weight:700}
.owner-visibility-option{display:inline-flex!important;align-items:center;gap:7px;margin:0!important;color:var(--color-text-primary)!important;font-size:14px!important;font-weight:550!important}
.owner-visibility-option input[type=hidden]{display:none}
.owner-visibility-option input[type=checkbox]{width:17px!important;height:17px;min-height:0;margin:0;accent-color:var(--color-primary)}
.profile-phone{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 20px}
.contact-action{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 13px;border:1px solid transparent;border-radius:var(--radius-md);color:#252a30;font-size:14px;font-weight:700;line-height:1.25;text-align:center;text-decoration:none;white-space:normal}
.contact-action.contact-phone-1{border-color:#cbdfea;background:#e5f1f8}
.contact-action.contact-phone-2{border-color:#ead1dc;background:#f8eaf0}
.contact-action:hover{filter:brightness(.97);box-shadow:0 2px 8px rgba(25,35,45,.1)}
.owner-header .boop-brand{gap:10px;font-size:24px;font-weight:850;letter-spacing:-.035em}
.owner-header .boop-brand img{width:42px;height:42px;max-height:42px}
.owner-header .logout-button{min-height:40px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:14px;font-weight:650}
.owner-header .logout-button:hover{border-color:#cec5b7;background:var(--color-surface-soft);color:var(--color-text-primary)}
.owner-header{position:sticky;z-index:30;display:flex;align-items:center;gap:12px;min-width:0;width:100%;overflow:visible}
.owner-header .boop-brand{flex:0 1 auto;min-width:0;white-space:nowrap}
.owner-header-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;min-width:0}
.owner-header-actions form{flex:0 0 auto;margin:0}
.owner-header .owner-language-switch{position:static;inset:auto;z-index:auto;flex:0 0 auto;align-items:center;gap:2px;padding:3px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);box-shadow:none;backdrop-filter:none}
.owner-header .owner-language-switch .lang-btn{min-width:34px;min-height:32px;padding:5px 7px;border-radius:999px;color:var(--color-text-secondary);font-size:12px;font-weight:700;line-height:1;cursor:pointer}
.owner-header .owner-language-switch .lang-btn.active{background:var(--color-text-primary);color:#fff}
.owner-header .owner-language-switch .lang-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.owner-header .logout-button{flex:0 0 auto;white-space:nowrap}
.panel-nav-link{border-radius:var(--radius-md)}
.panel-nav-link:hover{background:var(--color-surface-soft)}
.panel-nav-link.is-active{border-radius:var(--radius-md)}
@media(max-width:639px){
  .owner-header{gap:6px;padding-inline:12px}
  .owner-header .boop-brand{gap:6px;font-size:clamp(17px,5vw,21px)}
  .owner-header .boop-brand img{width:34px;height:34px;max-height:34px}
  .owner-header-actions{gap:5px}
  .owner-header .owner-language-switch .lang-btn{min-width:31px;min-height:30px;padding-inline:5px}
  .owner-header .logout-button{min-height:36px;padding-inline:9px;font-size:12px}
  .owner-header .boop-brand{gap:8px;font-size:21px;font-weight:850}
  .owner-header .boop-brand img{width:34px;height:34px;max-height:34px}
  .owner-header .logout-button{min-height:36px;padding-inline:9px;font-size:12px}
  .panel-nav-link,.panel-nav-link.is-active{border-radius:var(--radius-md)}
  .owner-phone-input-row{gap:6px}
   .owner-phone-country-select{flex-basis:100px;width:100px;height:46px;padding-inline:6px;font-size:12px}
  .owner-contact-visibility{gap:8px 12px}
  .profile-phone{gap:8px}
  .contact-action{min-height:40px;padding:8px 11px;font-size:13px}
}
.owner-button-danger{background:#a7352b;color:#fff;border:1px solid #a7352b}
.pet-delete-section{border-color:#ecd0cc}
.pet-delete-dialog{width:min(92vw,34rem);border:0;border-radius:18px;padding:24px;color:var(--ink,#25231f);box-shadow:0 20px 70px #16120f55}
.pet-delete-dialog::backdrop{background:#18151288}
.pet-delete-dialog h2{margin:0 0 12px}
.pet-delete-dialog p{line-height:1.55}
.pet-delete-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* Boop owner panel: warm, airy mobile-first visual language. */
.owner-dashboard{
  --owner-bg:#fbf8f3;--owner-card:#fffefa;--owner-muted:#68716e;--owner-line:#e9e4dc;
  --owner-radius:21px;--owner-shadow:0 5px 17px rgba(36,49,44,.055);
  color:#173137;background:var(--owner-bg);min-height:100dvh;
}
.owner-dashboard [hidden]{display:none!important}
.auth-page:has(.owner-dashboard){width:100%;max-width:none;margin:0;padding:0;background:var(--owner-bg)}
.auth-card:has(.owner-dashboard){width:100%;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.owner-header{position:relative;top:auto;min-height:62px;padding:8px max(20px,calc((100vw - 760px)/2));background:rgba(251,248,243,.96);border:0}
.owner-header .boop-brand{color:#173137;font-size:23px;letter-spacing:-.04em}
.owner-header .boop-brand img{width:38px;height:38px;object-fit:contain;content:url("/static/logo2.png")}
.owner-context{display:none}
@media(max-width:639px){.owner-header-actions{display:none}}
.owner-main{width:min(100%,760px);gap:14px;padding:12px 16px 112px}
.owner-welcome{padding:8px 2px 2px}
.owner-welcome .owner-eyebrow{display:none}
.owner-welcome h1{position:relative;margin:0;color:transparent!important;font-size:clamp(29px,7.7vw,36px);font-weight:760;letter-spacing:-.045em;line-height:1.08}
.owner-welcome h1::after{position:absolute;inset:0;content:"Moje zwierzaki";color:#173137;font-size:inherit;white-space:nowrap}
.owner-welcome::after{content:"Wszystkie ważne informacje o Twoich pupilach w jednym miejscu.";display:block;max-width:350px;margin-top:7px;color:#697271;font-size:16px;line-height:1.42}
.owner-add-pet{display:flex;width:100%;min-height:52px;align-items:center;gap:9px;margin:0 0 2px;border-radius:999px;background:#087457!important;color:#fff!important;font-size:16px;font-weight:750}
.owner-add-pet{font-size:0}
.owner-add-pet::before{content:"+";font-size:25px;font-weight:550;line-height:1}
.owner-add-pet span{font-size:16px}
.owner-pet-group{margin-top:2px}
.owner-main>.owner-welcome{order:0}
.owner-main>.owner-add-pet{order:1}
.owner-main>.owner-pet-group{order:2}
.owner-main>.care-dashboard,.owner-main>.upcoming-events{order:6}
.owner-main>#deletePetToast,.owner-main>.scan-toast{order:0}
.owner-pet-group>h2{display:none}
.owner-pet-list{gap:13px}
.owner-pet-entry{gap:0}
.owner-pet-card{border:1px solid rgba(225,219,209,.7);border-radius:20px;background:#fffefa;box-shadow:0 5px 16px rgba(36,49,44,.06)}
.pet-card-photo{height:clamp(112px,31vw,120px);border-radius:19px 19px 0 0}
.pet-card-name{left:13px;bottom:12px;padding:8px 13px;border:1px solid rgba(255,255,255,.44);border-radius:15px;background:rgba(31,34,29,.4);font-size:22px;font-weight:750}
.owner-pet-card-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:5px 10px;padding:9px 13px 11px}
.pet-card-species{grid-column:1;grid-row:1;align-self:center;color:#293b3c;font-size:14px;font-weight:650}
.pet-card-birth{grid-column:1;grid-row:2;color:#4f5b5d;font-size:12px;line-height:1.3}
.pet-tag-status{grid-column:2;grid-row:1;justify-self:stretch;width:100%;min-height:34px;justify-content:flex-start;flex-wrap:nowrap!important;padding:6px 10px;border:0!important;border-radius:13px;background:#e9f4ea!important;color:#12644f;font-size:13px}
.pet-tag-status-inactive,.pet-tag-status-missing{background:#fbefeb;color:#a34c3d}
.pet-tag-icon{font-size:0}
.pet-tag-icon::before{content:"✓";font-size:15px;font-weight:800}
.pet-tag-status [data-i18n="tagAssigned"]{font-size:0}
.pet-tag-status [data-i18n="tagAssigned"]::after{content:"Tag aktywny";font-size:13px}
.pet-card-care{grid-column:2;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;min-width:0;padding:5px 8px;border-radius:11px;background:#edf4f8;color:#233b44;font-size:11px}
.pet-card-care .pet-care-state{display:none}
.pet-card-care strong{font-size:12px;line-height:1.3}
.pet-card-care .pet-care-title,.pet-card-care .pet-care-relative{grid-column:1}
.pet-care-relative{color:#617275;font-size:10px}
.pet-next-event{grid-column:2;grid-row:2;min-width:0;margin:0;padding:5px 8px;border:0;border-radius:11px;background:#eef5f8;color:#233b44}
.pet-next-event .event-icon{display:none}
.pet-next-event strong{font-size:11px;line-height:1.2}
.pet-next-event small{font-size:10px}
.panel-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;width:100%;max-width:none;margin:0;padding:7px max(12px,calc((100vw - 540px)/2)) calc(7px + env(safe-area-inset-bottom));border-top:1px solid rgba(47,57,52,.08);border-radius:0;background:rgba(255,254,250,.96);box-shadow:0 -4px 18px rgba(35,43,39,.045);backdrop-filter:blur(14px)}
.panel-nav-link,.panel-nav-link.is-active{min-height:52px;color:#566160}
.panel-nav-link.is-active{background:transparent;color:#087457;font-weight:750}
.panel-nav-link>span[aria-hidden="true"]{font-size:0}
.panel-nav-link>span[aria-hidden="true"]::before{content:"";display:block;width:22px;height:22px;background:#66716e;-webkit-mask:url("/static/boop-paw.png") center/contain no-repeat;mask:url("/static/boop-paw.png") center/contain no-repeat}
.panel-nav-link.is-active>span[aria-hidden="true"]::before{background:#087457}
.panel-nav-link:not([href="/panel"])>span[aria-hidden="true"]{font-size:0}
.panel-nav-link:not([href="/panel"])>span[aria-hidden="true"]::before{content:none}
.owner-pet-entry:has(.pet-next-event) .owner-pet-card{border-radius:20px 20px 0 0;border-bottom:0}
.owner-pet-entry:has(.pet-next-event) .pet-next-event{border:1px solid rgba(225,219,209,.7);border-top:0;border-radius:0 0 20px 20px;background:#fffefa;box-shadow:0 5px 16px rgba(36,49,44,.06)}
.owner-pet-detail .owner-main{gap:12px}
.owner-pet-detail.is-editing .owner-main>*:not(.back-link):not(.owner-pet-hero):not(:has(#petForm)):not(.scan-toast){display:none!important}
.owner-pet-detail.is-editing .owner-pet-hero{order:1}
.owner-pet-detail.is-editing .owner-pet-hero{display:flex;flex-direction:column;gap:8px}
.owner-pet-detail.is-editing .owner-pet-hero .owner-pet-title{order:-1;margin:0 0 4px}
.owner-pet-detail.is-editing .owner-pet-hero .hero-photo{order:1}
.owner-pet-detail.is-editing .owner-pet-hero .species-pill,.owner-pet-detail.is-editing .owner-pet-hero .hero-status{display:none}
.owner-pet-detail.is-editing .owner-pet-hero .owner-pet-title h1{font-size:0}
.owner-pet-detail.is-editing .owner-pet-hero .owner-pet-title h1::after{content:"Edytuj profil zwierzaka";color:#173137;font-size:25px;white-space:nowrap}
.owner-pet-detail.is-editing .owner-main>.back-link{order:0}
.owner-pet-detail.is-editing .owner-main>section:has(#petForm){order:2}
.owner-pet-detail.is-editing .owner-main>section:has(#petForm)>.owner-section-heading{display:none}
.owner-pet-detail.is-editing .owner-main>section:has(.owner-tag-list),.owner-pet-detail.is-editing .owner-main>.public-preview{display:block!important}
.owner-pet-detail.is-editing .panel-nav,.owner-pet-detail.is-editing .sticky-edit-actions{display:none!important}
.owner-pet-detail.is-editing .edit-form-actions{position:fixed;z-index:25;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr;margin:0;padding:9px 16px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #eee9e1;background:rgba(255,254,250,.97);box-shadow:0 -5px 18px rgba(35,43,39,.06)}
.owner-pet-detail.is-editing .edit-form-actions .owner-button[type="submit"]{min-height:50px;width:100%;border-radius:16px;background:#087457;color:transparent;font-size:0}
.owner-pet-detail.is-editing .edit-form-actions .owner-button[type="submit"]::after{content:"Zapisz zmiany";color:#fff;font-size:16px}
.owner-pet-detail.is-editing .edit-form-actions .owner-button-light{display:none}
.owner-pet-detail.is-editing .owner-main{padding-bottom:88px}
.owner-pet-detail>.owner-main>.back-link{display:inline-flex;width:42px;height:42px;min-height:42px;justify-content:center;padding:0;border-radius:50%;background:#f3f0eb;color:transparent;font-size:0}
.owner-pet-detail>.owner-main>.back-link::before{content:"←";color:#173137;font-size:24px}
.owner-pet-detail .owner-header .boop-brand{position:absolute;left:50%;transform:translateX(-50%)}
.owner-pet-detail .owner-header-actions{visibility:hidden}
.owner-pet-hero{grid-template-columns:1fr;gap:8px;padding:0;border:0;background:transparent;box-shadow:none}
.owner-pet-hero .hero-photo{width:100%;height:205px;border-radius:20px;overflow:hidden}
.owner-pet-hero .hero-photo img{width:100%;height:100%;object-fit:cover}
.owner-pet-hero .hero-photo-action{position:absolute;left:14px;bottom:14px;width:max-content!important;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.65);border-radius:14px;background:rgba(25,31,29,.46);color:#fff;backdrop-filter:blur(7px)}
.owner-pet-hero .owner-pet-title{margin:4px 0 0}
.owner-pet-title h1{font-size:27px;color:#173137}
.owner-pet-detail>.owner-card{padding:17px;border:1px solid #eee9e1;border-radius:20px;background:#fffefa;box-shadow:var(--owner-shadow)}
.owner-edit-form{gap:6px;padding-bottom:20px}
.owner-edit-form fieldset{margin:9px 0 0;padding:13px 0 0;border-top:1px solid #eeebe5}
.owner-edit-form fieldset:first-of-type{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px 10px}
.owner-edit-form fieldset:first-of-type legend{grid-column:1/-1}
.owner-edit-form fieldset:first-of-type>label:nth-of-type(1){grid-row:2;grid-column:1}
.owner-edit-form fieldset:first-of-type>input:nth-of-type(1){grid-row:2;grid-column:2}
.owner-edit-form fieldset:first-of-type>label:nth-of-type(2){grid-row:3;grid-column:1}
.owner-edit-form fieldset:first-of-type>select:nth-of-type(1){grid-row:4;grid-column:1}
.owner-edit-form fieldset:first-of-type>label:nth-of-type(3){grid-row:3;grid-column:2}
.owner-edit-form fieldset:first-of-type>input:nth-of-type(2){grid-row:4;grid-column:2}
.owner-edit-form fieldset:first-of-type>label:nth-of-type(4){grid-row:5;grid-column:1}
.owner-edit-form fieldset:first-of-type>select:nth-of-type(2){grid-row:6;grid-column:1}
.owner-edit-form fieldset:first-of-type>label:nth-of-type(5){grid-row:5;grid-column:2}
.owner-edit-form fieldset:first-of-type>input[type=date]{grid-row:6;grid-column:2}
.owner-edit-form fieldset:first-of-type>.checkbox-line{grid-row:7;grid-column:1/-1}
.owner-edit-form legend{font-size:16px;color:#173137}
.owner-edit-form label{margin:4px 0 0;font-size:12px;color:#586663}
.owner-edit-form input,.owner-edit-form textarea,.owner-edit-form select{min-height:43px;border-color:#e7e2da;border-radius:12px;background:#fff;padding:9px 11px;color:#20343a}
.owner-edit-form textarea{min-height:78px}
.sticky-edit-actions{grid-template-columns:1fr;padding:9px 16px calc(9px + env(safe-area-inset-bottom));border-color:#eee9e1;background:rgba(255,254,250,.96);box-shadow:0 -5px 18px rgba(35,43,39,.06)}
.sticky-edit-actions .owner-button{min-height:50px;border-radius:16px;background:#087457;color:white}
.owner-button{border-radius:15px;background:#087457;color:white}
.owner-button-light{background:#f3f5ef;border-color:#e4e8df;color:#31554b}
@media(min-width:640px){
  .owner-main{padding:28px 24px 40px}
  .owner-welcome{padding:10px 2px 8px}
  .owner-pet-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}
  .pet-card-photo{height:160px}
  .owner-pet-detail .owner-main{width:min(100%,720px)}
  .owner-pet-hero .hero-photo{height:300px}
  .sticky-edit-actions{left:50%;right:auto;width:min(680px,calc(100% - 40px));transform:translateX(-50%);border:1px solid #eee9e1;border-bottom:0;border-radius:18px 18px 0 0}
}
@media(max-width:639px){
  .owner-pet-card{overflow:hidden}
  .owner-pet-card-main{grid-template-columns:minmax(0,1fr)}
  .pet-tag-status{max-width:100%;white-space:normal;overflow-wrap:anywhere;justify-self:start;flex-wrap:wrap;min-width:0}
  .owner-pet-card-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pet-tag-status{width:100%;flex-wrap:nowrap!important}
}

/* Owner profile and all-pets care overview continue the established Boop panel system. */
.owner-profile .owner-welcome h1,.owner-care-dashboard .owner-welcome h1{position:static;color:#173137!important;font-size:clamp(30px,8vw,36px);line-height:1.08}
.owner-profile .owner-welcome h1::after,.owner-care-dashboard .owner-welcome h1::after,.owner-profile .owner-welcome::after,.owner-care-dashboard .owner-welcome::after{content:none}
.owner-profile .owner-main{gap:7px;padding-top:8px}
.owner-care-dashboard .owner-main{gap:9px}
.owner-profile .owner-header-actions{display:none}
.owner-profile .profile-identity{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #eee9e1;border-radius:21px;background:#fffefa;box-shadow:var(--owner-shadow)}
.profile-avatar{width:54px;height:54px;flex:0 0 54px;padding:11px;border-radius:50%;background:#edf4ec;object-fit:contain}
.profile-identity-copy{display:grid;gap:5px;min-width:0}
.profile-identity-copy strong{color:#173137;font-size:17px}
.profile-identity-copy>span{overflow-wrap:anywhere;color:#68716e;font-size:14px}
.profile-edit-link{display:inline-flex;width:max-content;align-items:center;min-height:36px;margin-top:4px;padding:0 11px;border:0;border-radius:12px;background:#e9f4ea;color:#12644f;font:inherit;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}

/* Compact owner pet cards: one pet, one action row, one tag-management path. */
.owner-dashboard:has(.owner-pet-group) .owner-header{padding-inline:max(24px,calc((100vw - 1250px)/2));border-bottom:1px solid #eee9e1}
.owner-dashboard:has(.owner-pet-group) .owner-header .boop-brand img{content:url("/boop-paw.png")}
@media(min-width:640px){.owner-dashboard:has(.owner-pet-group)>.panel-nav{display:none}}
.owner-dashboard:has(.owner-pet-group) .owner-main>.care-dashboard,.owner-dashboard:has(.owner-pet-group) .owner-main>.upcoming-events{display:none}
.owner-dashboard:has(.owner-pet-group) .owner-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 24px;width:min(100%,1250px);padding:28px 24px 52px}
.owner-dashboard:has(.owner-pet-group) .owner-welcome{grid-column:1;align-self:center;padding:0}
.owner-dashboard:has(.owner-pet-group) .owner-welcome .owner-eyebrow{display:block;margin:0 0 4px;color:#52765e;font-size:12px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.owner-dashboard:has(.owner-pet-group) .owner-welcome h1{color:#173137!important;font-size:clamp(34px,4vw,46px);font-weight:780;letter-spacing:-.045em;line-height:1.05}
.owner-dashboard:has(.owner-pet-group) .owner-welcome h1::after{content:none}
.owner-dashboard:has(.owner-pet-group) .owner-welcome::after{content:"Tutaj znajdziesz wszystkie swoje zwierzaki i ich usługi.";display:block;max-width:none;margin-top:7px;color:#697271;font-size:16px;line-height:1.4}
.owner-dashboard:has(.owner-pet-group) .owner-limit-message{max-width:300px;margin:7px 0 0;color:#79604a;font-size:12px;line-height:1.35;text-align:right}
.owner-dashboard:has(.owner-pet-group) .owner-add-pet-section{grid-column:2;grid-row:1;align-self:center;display:grid;justify-items:end;gap:0}
.owner-dashboard:has(.owner-pet-group) .owner-add-pet{width:auto;min-width:220px;min-height:58px;margin:0;padding:0 26px;border-radius:16px;background:#07513f!important;font-size:16px}
.owner-dashboard:has(.owner-pet-group) .owner-add-pet::before{content:"＋";display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#e5f1e8;color:#07513f;font-size:20px}
.owner-dashboard:has(.owner-pet-group) .owner-count{display:none}
.owner-dashboard:has(.owner-pet-group) .owner-pet-group{grid-column:1/-1;margin:0}
.owner-dashboard:has(.owner-pet-group) .owner-pet-group>h2{display:none}
.owner-dashboard:has(.owner-pet-group) .owner-pet-list{grid-template-columns:minmax(0,1fr);gap:16px}
.owner-dashboard:has(.owner-pet-group) .owner-pet-entry{gap:0}
.owner-dashboard:has(.owner-pet-group) .owner-pet-card{overflow:hidden;border:1px solid #e9e4dc;border-radius:20px;background:#fffefa;box-shadow:0 4px 14px rgba(36,49,44,.05)}
.owner-dashboard:has(.owner-pet-group) .pet-card-photo{height:clamp(150px,14vw,180px);border-radius:19px 19px 0 0;background:#d5d6cc}
.owner-dashboard:has(.owner-pet-group) .pet-card-photo::after{background:linear-gradient(90deg,rgba(10,22,19,.56),rgba(10,22,19,.2) 40%,transparent 72%)}
.owner-dashboard:has(.owner-pet-group) .pet-card-photo img{object-position:center 48%}
.owner-dashboard:has(.owner-pet-group) .pet-card-hero-copy{position:absolute;z-index:1;inset:0 auto 0 0;display:flex;max-width:70%;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:18px 34px;color:#fff}
.owner-dashboard:has(.owner-pet-group) .pet-card-name{position:static;padding:0;border:0;border-radius:0;background:none;font-size:clamp(26px,3vw,38px);font-weight:780;letter-spacing:-.035em;line-height:1.05}
.owner-dashboard:has(.owner-pet-group) .pet-card-species{display:inline-flex;width:max-content;align-items:center;padding:5px 13px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(20,34,30,.25);color:#fff;font-size:13px;font-weight:650}
.owner-dashboard:has(.owner-pet-group) .pet-hero-meta{color:rgba(255,255,255,.95);font-size:14px;line-height:1.25}
.owner-dashboard:has(.owner-pet-group) .pet-hero-birth{color:inherit}
.owner-dashboard:has(.owner-pet-group) .owner-pet-card-main{display:grid;grid-template-columns:minmax(0,1fr) 210px;grid-template-rows:auto auto;align-items:center;gap:14px 18px;padding:15px 18px 12px}
.owner-dashboard:has(.owner-pet-group) .pet-card-summary{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:14px;min-width:0}
.owner-dashboard:has(.owner-pet-group) .pet-service-status,.owner-dashboard:has(.owner-pet-group) .pet-card-care{display:flex;min-width:0;min-height:72px;align-items:center;gap:12px;padding:10px 15px;border:0;border-radius:15px;text-decoration:none}
.owner-dashboard:has(.owner-pet-group) .pet-service-status{background:#eaf4ea;color:#163b30}
.owner-dashboard:has(.owner-pet-group) .pet-service-status.is-inactive{background:#fff1df;color:#754015}
.owner-dashboard:has(.owner-pet-group) .pet-service-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:50%;background:#4b9664;color:white;font-size:22px;font-weight:800}
.owner-dashboard:has(.owner-pet-group) .pet-service-status.is-inactive .pet-service-icon{background:#dc8a31}
.owner-dashboard:has(.owner-pet-group) .pet-service-status>span:last-child,.owner-dashboard:has(.owner-pet-group) .pet-card-care-copy{display:grid;gap:3px;min-width:0}
.owner-dashboard:has(.owner-pet-group) .pet-service-status strong{font-size:15px;font-weight:730}
.owner-dashboard:has(.owner-pet-group) .pet-service-status small{color:#596963;font-size:13px;line-height:1.3}
.owner-dashboard:has(.owner-pet-group) .pet-card-care{background:#eaf3f8;color:#1c3842}
.owner-dashboard:has(.owner-pet-group) .pet-card-summary .pet-card-care{grid-column:auto;grid-row:auto}
.owner-dashboard:has(.owner-pet-group) .pet-card-care .pet-care-state{display:none}
.owner-dashboard:has(.owner-pet-group) .pet-card-care small{color:#5c6b70;font-size:13px}
.owner-dashboard:has(.owner-pet-group) .pet-card-care strong{overflow:hidden;font-size:16px;font-weight:730;text-overflow:ellipsis;white-space:nowrap}
.owner-dashboard:has(.owner-pet-group) .pet-card-care .pet-care-relative{color:#53666c;font-size:13px}
.owner-dashboard:has(.owner-pet-group) .pet-profile-cta{display:flex;grid-column:2;grid-row:1;min-height:58px;align-items:center;justify-content:center;gap:14px;border-radius:15px;background:#07513f;color:#fff;font-size:15px;font-weight:720;text-decoration:none}
.owner-dashboard:has(.owner-pet-group) .pet-profile-cta:hover{background:#0b634d}
.owner-dashboard:has(.owner-pet-group) .pet-profile-cta>span:last-child,.owner-dashboard:has(.owner-pet-group) .pet-manage-tags>span:last-child{font-size:26px;font-weight:400;line-height:1}
.owner-dashboard:has(.owner-pet-group) .pet-card-tags{display:flex;grid-column:1/-1;align-items:center;gap:18px;min-width:0;padding-top:11px;border-top:1px solid #e9e4dc}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list{display:flex;flex:1 1 auto;align-items:center;gap:24px;min-width:0}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading{display:flex;flex:0 0 auto;align-items:center;gap:8px;color:#173137;font-size:14px;font-weight:750;white-space:nowrap}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading>span:first-child{font-size:22px}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chips{display:flex;flex-wrap:wrap;gap:8px}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip{display:inline-flex;min-height:34px;align-items:center;gap:9px;padding:4px 11px;border-radius:999px;background:#f4f4f0;color:#3b4647;font-size:13px}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip code{font:inherit;font-size:13px}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-state{display:inline-flex;align-items:center;gap:5px;color:#286342;font-size:12px;font-weight:700;white-space:nowrap}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-state i{width:9px;height:9px;border-radius:50%;background:#46935c}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip[data-tag-status="DISABLED"] .dashboard-tag-state,.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip[data-tag-status="UNCLAIMED"] .dashboard-tag-state{color:#965a2a}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip[data-tag-status="DISABLED"] .dashboard-tag-state i,.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip[data-tag-status="UNCLAIMED"] .dashboard-tag-state i{background:#dc8a31}
.owner-dashboard:has(.owner-pet-group) .pet-manage-tags{display:flex;flex:0 0 auto;align-items:center;gap:8px;padding-left:18px;border-left:1px solid #dddcd5;color:#164238;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.owner-dashboard:has(.owner-pet-group) .pet-manage-tags:hover{text-decoration:underline}
@media(max-width:639px){
 .owner-dashboard:has(.owner-pet-group) .owner-header{min-height:56px;padding-inline:14px}
 .owner-dashboard:has(.owner-pet-group) .owner-header-actions{display:flex}
 .owner-dashboard:has(.owner-pet-group) .owner-header .owner-language-switch{display:none}
 .owner-dashboard:has(.owner-pet-group) .owner-header .logout-button{font-size:0}
 .owner-dashboard:has(.owner-pet-group) .owner-header .logout-button::after{content:"↪";font-size:19px}
 .owner-dashboard:has(.owner-pet-group) .owner-main{grid-template-columns:minmax(0,1fr) auto;gap:11px 8px;padding:17px 13px 104px}
 .owner-dashboard:has(.owner-pet-group) .owner-welcome{grid-column:1/-1;grid-row:1}
 .owner-dashboard:has(.owner-pet-group) .owner-welcome .owner-eyebrow{display:none}
 .owner-dashboard:has(.owner-pet-group) .owner-welcome h1{font-size:32px}
 .owner-dashboard:has(.owner-pet-group) .owner-welcome::after{max-width:310px;font-size:14px}
 .owner-dashboard:has(.owner-pet-group) .owner-add-pet-section{grid-column:1/-1;grid-row:2;justify-items:stretch}
 .owner-dashboard:has(.owner-pet-group) .owner-add-pet{width:100%;min-height:48px;justify-content:center;border-radius:14px}
 .owner-dashboard:has(.owner-pet-group) .owner-pet-group{grid-column:1/-1}
 .owner-dashboard:has(.owner-pet-group) .owner-pet-list{gap:13px}
 .owner-dashboard:has(.owner-pet-group) .owner-pet-card{border-radius:18px}
 .owner-dashboard:has(.owner-pet-group) .pet-card-photo{height:145px;border-radius:17px 17px 0 0}
 .owner-dashboard:has(.owner-pet-group) .pet-card-hero-copy{max-width:85%;gap:5px;padding:12px 16px}
 .owner-dashboard:has(.owner-pet-group) .pet-card-name{font-size:27px}
 .owner-dashboard:has(.owner-pet-group) .pet-card-species{padding:3px 10px;font-size:12px}
 .owner-dashboard:has(.owner-pet-group) .pet-hero-meta{font-size:12px}
 .owner-dashboard:has(.owner-pet-group) .owner-pet-card-main{grid-template-columns:minmax(0,1fr);gap:10px;padding:11px 12px 12px}
 .owner-dashboard:has(.owner-pet-group) .pet-card-summary{grid-template-columns:minmax(0,1fr);gap:8px}
 .owner-dashboard:has(.owner-pet-group) .pet-service-status,.owner-dashboard:has(.owner-pet-group) .pet-card-care{min-height:62px;padding:9px 11px;border-radius:13px}
 .owner-dashboard:has(.owner-pet-group) .pet-service-icon{width:34px;height:34px;flex-basis:34px;font-size:19px}
 .owner-dashboard:has(.owner-pet-group) .pet-service-status strong{font-size:14px}
 .owner-dashboard:has(.owner-pet-group) .pet-service-status small{font-size:12px}
 .owner-dashboard:has(.owner-pet-group) .pet-card-care strong{font-size:15px}
 .owner-dashboard:has(.owner-pet-group) .pet-profile-cta{grid-column:1;grid-row:auto;min-height:50px}
 .owner-dashboard:has(.owner-pet-group) .pet-card-tags{flex-wrap:wrap;gap:9px;padding-top:9px}
 .owner-dashboard:has(.owner-pet-group) .dashboard-tag-list{flex:1 1 100%;flex-wrap:wrap;gap:8px}
 .owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading{font-size:13px}
 .owner-dashboard:has(.owner-pet-group) .dashboard-tag-chips{gap:6px}
 .owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip{min-height:31px;padding-inline:9px;font-size:12px}
 .owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip code{font-size:12px}
 .owner-dashboard:has(.owner-pet-group) .pet-manage-tags{min-height:36px;margin-left:auto;padding-left:0;border:0;font-size:13px}
}
.profile-section{display:grid;gap:9px;min-width:0}
.profile-section>.owner-section-heading{margin:0 0 1px}
.profile-section>.owner-section-heading h2{font-size:21px;letter-spacing:-.025em}
.profile-contact-form{display:grid;gap:7px;margin-top:0!important}
.profile-phone-card{display:grid;gap:3px;padding:6px 9px;border:1px solid #eee9e1;border-radius:18px;background:#fffefa;box-shadow:var(--owner-shadow)}
.profile-phone-heading{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:9px;gap:3px;color:#21383d}
.profile-phone-heading::before{grid-column:1;grid-row:1/3;content:"";width:30px;height:30px;border-radius:50%;background:var(--profile-phone-accent);-webkit-mask:url("/static/boop-paw.png") center/17px no-repeat;mask:url("/static/boop-paw.png") center/17px no-repeat}
.profile-phone-heading strong{grid-column:2;grid-row:1;font-size:13px;font-weight:750}
.profile-phone-number{grid-column:2;grid-row:2;font-size:16px;font-weight:550;letter-spacing:-.015em}
.profile-phone-fields{display:none}
.profile-contact-form.is-editing .profile-phone-fields{display:grid}
.profile-contact-form:not(.is-editing) .profile-phone-card.is-empty{display:none}
.profile-contact-form.is-editing .profile-phone-number{display:none}
.profile-contact-form:not(.is-editing) .profile-save-contact{display:none}
.profile-phone-card .profile-phone-fields>label{display:none}
.profile-phone-primary{--profile-phone-accent:#e8f2fb;--profile-phone-ink:#2675a5}
.profile-phone-secondary{--profile-phone-accent:#fcebea;--profile-phone-ink:#bb655e}
.profile-phone-fields{display:none;grid-template-columns:1fr;gap:4px}
.profile-contact-form.is-editing .profile-phone-fields{display:grid}
.profile-phone-fields>label{margin:0;color:#21383d;font-size:13px;font-weight:750}
.profile-phone-fields .owner-phone-input-row{gap:7px}
.profile-phone-fields .owner-phone-country-select{flex-basis:96px;width:96px;min-height:43px;border-color:#e8e3db;border-radius:12px;background:#fff;color:#20343a}
.profile-phone-fields input[type=tel]{min-height:43px;border-radius:12px}
.profile-phone-fields .owner-phone-input-row::before{content:"";width:36px;height:36px;flex:0 0 36px;align-self:center;border-radius:50%;background:var(--profile-phone-accent);-webkit-mask:url("/static/boop-paw.png") center/18px no-repeat;mask:url("/static/boop-paw.png") center/18px no-repeat}
.profile-phone-fields .owner-phone-input-row{display:grid;grid-template-columns:36px 94px minmax(0,1fr)}
.profile-phone-fields .owner-phone-country-select{grid-column:2}
.profile-phone-fields input[type=tel]{grid-column:3;width:100%!important;min-width:0;flex:1 1 auto}
.profile-contact-visibility{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;margin:0;padding:3px 0 0;border:0;border-top:1px solid #f0ece5}
.profile-contact-visibility legend{width:100%;padding:0;color:#7b817d;font-size:0;font-weight:600}
.profile-contact-visibility legend::after{content:"Widoczność publiczna";font-size:10px}
.profile-contact-visibility .owner-visibility-option{display:inline-flex!important;flex-direction:row;align-items:center;gap:3px;margin:0!important;color:#344446!important;font-size:10px!important;font-weight:550!important;white-space:nowrap}
.profile-contact-visibility .owner-visibility-option input[type=hidden]{display:none}
.profile-contact-visibility .owner-visibility-option input[type=checkbox],.profile-switch input[type=checkbox]{position:relative;appearance:none;width:32px!important;height:19px;min-height:19px;margin:0;border:0;border-radius:99px;background:#dedfdb;cursor:pointer;transition:background .16s ease}
.profile-contact-visibility .owner-visibility-option input[type=checkbox]::after,.profile-switch input[type=checkbox]::after{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:white;content:"";box-shadow:0 1px 3px #17313726;transition:transform .16s ease}
.profile-contact-visibility .owner-visibility-option input[type=checkbox]:checked,.profile-switch input[type=checkbox]:checked{background:#087457}
.profile-contact-visibility .owner-visibility-option input[type=checkbox]:checked::after,.profile-switch input[type=checkbox]:checked::after{transform:translateX(13px)}
.profile-contact-visibility .owner-visibility-option span{font-size:0}
.profile-contact-visibility .owner-visibility-option span::after{font-size:10px}
.profile-contact-visibility .owner-visibility-option span[data-i18n="showPhone"]::after{content:"Telefon"}
.profile-contact-visibility .owner-visibility-option span[data-i18n="showSms"]::after{content:"SMS"}
.profile-contact-visibility .owner-visibility-option span[data-i18n="showWhatsapp"]::after{content:"WhatsApp"}
.profile-visibility-mirror input[type=checkbox]:disabled{opacity:1;cursor:default}
.profile-shared-visibility{display:none;font-size:11px}
.profile-save-contact,.profile-save-preferences{min-height:46px;border-radius:15px}
.profile-notification-card{display:grid;gap:0;padding:4px 14px;border:1px solid #eee9e1;border-radius:19px;background:#fffefa;box-shadow:var(--owner-shadow)}
.profile-notification-row{display:flex;align-items:center;gap:10px;min-width:0;min-height:50px;border-bottom:1px solid #f0ece5}
.profile-notification-row:last-of-type{border-bottom:0}
.profile-notification-symbol{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:#f0f4ed;color:#21584d;font-size:19px;font-weight:700}
.profile-notification-copy{display:grid;gap:3px;flex:1;min-width:0;color:#20363a}
.profile-notification-copy strong{font-size:14px}
.profile-notification-copy small{color:#79817e;font-size:11px;line-height:1.3}
.profile-switch{display:flex;align-items:center}
.profile-switch input[type=checkbox]{width:39px!important;height:23px;min-height:23px}
.profile-switch input[type=checkbox]::after{width:19px;height:19px}
.profile-switch input[type=checkbox]:checked::after{transform:translateX(16px)}
.profile-notification-card .profile-save-preferences{display:none}
.profile-timezone-details{padding:8px 0 0;border-top:1px solid #f0ece5}
.profile-timezone-details summary{color:#53625e;font-size:12px;font-weight:650;cursor:pointer}
.profile-timezone-details input{min-height:38px;margin-top:7px;border:1px solid #e7e2da;border-radius:10px;padding:8px 10px;font:inherit;font-size:14px}
.profile-timezone-details small{display:block;margin-top:5px;color:#79817e;font-size:11px;line-height:1.35}
.profile-push-card{display:grid;gap:4px;padding:7px 12px;border:1px solid #eee9e1;border-radius:18px;background:#fffefa;box-shadow:var(--owner-shadow)}
.profile-push-card .profile-notification-row{min-height:36px;border:0}
.profile-push-channel .profile-notification-symbol{background:#f0f1ef;color:#7d8580}.profile-push-channel.is-active .profile-notification-symbol{background:#e8f2ed;color:#24704e}.profile-push-channel.is-inactive .profile-notification-copy small{color:#8a918e}
.profile-push-card .push-status,.profile-push-card .push-ios-help,.profile-push-card .push-device-count{margin:0;color:#737d78;font-size:11px}
.profile-push-card .push-actions{display:flex;flex-wrap:wrap;gap:7px}
.profile-push-card .push-actions .owner-button{min-height:38px;padding:0 11px;font-size:12px}
.profile-account-card{padding:0 14px;border:1px solid #eee9e1;border-radius:19px;background:#fffefa;box-shadow:var(--owner-shadow)}
.profile-language-switch,.profile-account-row,.profile-logout-form{display:flex;align-items:center;gap:11px;min-height:48px;border:0;border-bottom:1px solid #f0ece5;border-radius:0;background:transparent;box-shadow:none;color:#253b3e;text-decoration:none}
.profile-language-switch{position:static;justify-content:flex-start;padding:0}
.profile-language-switch .lang-btn{min-height:30px;padding:5px 9px;border-radius:999px;font-size:11px}
.profile-language-switch .lang-btn.active{background:#e8f2eb;color:#087457}
.profile-account-symbol{display:grid;width:23px;flex:0 0 23px;place-items:center;color:#516663;font-size:18px}
.profile-account-label,.profile-account-row>[data-i18n],.profile-logout-button{flex:1;color:#253b3e;font-size:13px;font-weight:600;text-align:left}
.profile-account-row>span:last-child,.profile-logout-form>span:last-child{color:#8a928e;font-size:21px}
.profile-logout-form{margin:0}
.profile-account-card>.profile-account-row:last-child,.profile-account-card>.profile-logout-form:last-child{border-bottom:0}
.profile-tag-notifications{padding:9px 0;border-bottom:1px solid #f0ece5}
.profile-tag-notifications summary{color:#53625e;font-size:13px;font-weight:600;cursor:pointer}
.profile-tag-notifications .profile-notification-row{min-height:48px;margin-top:7px;border:0}
.profile-tag-notifications .profile-notification-copy small{font-size:10px}
.profile-logout-button{min-height:44px;padding:0;border:0;background:transparent;color:#b44942;cursor:pointer}

.owner-care-dashboard .owner-main{width:min(100%,760px)}
.owner-care-dashboard .owner-welcome{padding:4px 0 1px}
.owner-care-dashboard .owner-welcome h1{font-size:clamp(30px,8vw,36px)}
.owner-care-dashboard .owner-welcome p{max-width:360px;margin:7px 0 0;color:#697271;font-size:15px;line-height:1.4}
.care-overview{display:grid;gap:10px;padding:0;border:0;background:transparent;box-shadow:none}
.care-overview-filters{display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}
.care-overview-filters::-webkit-scrollbar{display:none}
.care-filter{display:inline-flex!important;flex:0 0 auto;width:auto!important;min-width:0;min-height:39px;margin:0!important;padding:0 3px!important;border:1px solid #e9e4dc!important;border-radius:999px!important;background:#fffefa!important;color:#586663!important;font:inherit;font-size:10px!important;font-weight:650;text-align:center!important;white-space:nowrap;cursor:pointer;justify-content:center;overflow:hidden}
.care-overview-filters>.care-filter:nth-child(1){flex-basis:78px;width:78px!important}
.care-overview-filters>.care-filter:nth-child(2){flex-basis:49px;width:49px!important}
.care-overview-filters>.care-filter:nth-child(3){flex-basis:108px;width:108px!important}
.care-overview-filters>.care-filter:nth-child(4){flex-basis:70px;width:70px!important}
.care-filter.is-active{border-color:#087457!important;background:#087457!important;color:#fff!important}
.care-overview-add{width:100%;min-height:51px;border-radius:999px;background:#087457!important;color:white!important;font-size:16px}
.care-groups{display:grid;gap:11px}
.care-pet-group{min-width:0;padding:9px 13px 4px;border:1px solid #eee9e1;border-radius:20px;background:#fffefa;box-shadow:var(--owner-shadow)}
.care-group-toggle{display:flex;width:100%;align-items:center;gap:11px;min-height:64px;padding:2px 0 8px;border:0;border-bottom:1px solid #f0ece5;background:transparent;color:#20363a;text-align:left;font:inherit;cursor:pointer}
.care-group-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:#f1eee7;object-fit:cover}
.care-group-heading{display:grid;gap:2px;flex:1;min-width:0}
.care-group-heading strong{font-size:18px;letter-spacing:-.02em}
.care-group-heading strong::after{content:"";display:inline-block;width:15px;height:15px;margin-left:7px;vertical-align:-1px;background:#f4a36d;-webkit-mask:url("/static/boop-paw.png") center/contain no-repeat;mask:url("/static/boop-paw.png") center/contain no-repeat}
.care-group-heading small{color:#7c8581;font-size:12px}
.care-group-chevron{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#f6f4ef;color:#68716e;font-size:20px}
.care-group-list{display:grid;min-width:0}
.care-group-list[hidden]{display:none}
.care-group-list .care-task-card{min-height:58px;padding:7px 0;border:0;border-bottom:1px solid #f0ece5;border-radius:0;background:transparent}
.care-group-list .care-task-card:last-child{border-bottom:0}
.care-task-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;grid-template-rows:auto auto;align-items:center;gap:2px 8px}
.care-task-type-icon{grid-column:1;grid-row:1/3;display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#eaf3e9;color:#347653;font-size:12px;font-weight:800}
.care-task-row[data-care-type="VACCINATION"] .care-task-type-icon,.care-task-row[data-care-type="DEWORMING"] .care-task-type-icon{background:#faeae8;color:#bd5b50}
.care-task-row[data-care-type="TICK_FLEA"] .care-task-type-icon{background:#e8f3fa;color:#3f83a7}
.care-task-row[data-care-type="GROOMING"] .care-task-type-icon{background:#f5eee2;color:#9a7540}
.care-task-copy{display:contents}
.care-task-title{grid-column:2;grid-row:1}
.care-task-title{color:#21373a;font-size:14px;font-weight:700}
.care-task-meta{display:flex;flex-wrap:wrap;grid-column:2;grid-row:2;gap:4px;color:#737d79;font-size:10px}
.care-task-recurrence,.care-meta-separator{font-size:11px}
.care-task-row-status{grid-column:3;grid-row:1/3;justify-content:center;min-height:29px;padding:0 8px;border-radius:999px;background:#eef3ea;font-size:10px;font-weight:700}
.care-task-row-status.care-overdue{background:#fbefed;color:#a9544c}
.care-task-row-status.care-today{background:#fbf3e3;color:#98722b}
.care-task-row-status.care-upcoming{background:#eaf4fa;color:#3e7da2}
.care-task-row-status.care-future{background:#eaf4eb;color:#347653}
.care-status-dot{display:none}
.care-status-detail{white-space:nowrap}
.care-row-chevron{grid-column:4;grid-row:1/3;flex:0 0 auto;color:#77837e;font-size:21px}
.care-group-empty{margin:0;padding:14px 0;color:#75807c;font-size:13px}
@media(min-width:640px){
  .owner-profile .owner-main,.owner-care-dashboard .owner-main{padding-top:30px}
  .owner-profile .profile-phone-card{padding:14px 16px}
  .owner-care-dashboard .care-pet-group{padding-inline:17px}
  .care-overview-filters>.care-filter{flex:1 1 0;width:auto!important;padding-inline:12px!important;font-size:12px!important}
}
.dashboard-tag-list{grid-column:1/-1;grid-row:auto;min-width:0;margin-top:2px;padding-top:8px;border-top:1px solid rgba(225,219,209,.8)}
.dashboard-tag-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;color:#43504c;font-size:12px}
.dashboard-tag-list-heading>span{color:#65716c;font-size:11px;font-weight:600}
.dashboard-tag-list .owner-tag-list{display:grid;gap:0;min-width:0}
.owner-tag-card.owner-tag-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;min-width:0;padding:7px 0;border:0;border-bottom:1px solid rgba(225,219,209,.65);border-radius:0;background:transparent}
.owner-tag-card.owner-tag-compact:last-child{border-bottom:0}
.owner-tag-compact .owner-tag-heading{min-width:0;gap:7px}
.owner-tag-manage-link{min-width:0;color:#344442;text-decoration:none}
.owner-tag-manage-link code{font-size:11px;font-weight:700;overflow-wrap:anywhere}
.owner-tag-compact .status-badge{min-height:22px;padding:2px 7px;font-size:10px;white-space:nowrap}
.owner-tag-compact>.owner-button{grid-column:2;grid-row:1;width:auto;min-height:30px;margin:0;padding:0 8px;font-size:11px;white-space:nowrap}
.owner-tag-purchase{grid-template-columns:minmax(0,1fr) auto!important;padding-top:9px!important}
.owner-tag-purchase .owner-tag-heading{grid-column:1;grid-row:1}
.owner-tag-purchase p{grid-column:1;grid-row:2;margin:0;color:#68736f;font-size:10px;line-height:1.35}
.owner-tag-purchase .panel-purchase{grid-column:2;grid-row:1/3;justify-content:flex-end;width:auto;padding:0}
.owner-tag-purchase .panel-purchase .owner-button{max-width:145px;min-height:34px;padding:4px 9px;white-space:normal;font-size:10px;line-height:1.2}
@media(max-width:359px){.owner-tag-card.owner-tag-compact{grid-template-columns:minmax(0,1fr)}.owner-tag-compact>.owner-button,.owner-tag-purchase .panel-purchase{grid-column:1;grid-row:auto;justify-content:flex-start}}

/* Keep every desktop owner-panel destination on the same centered canvas as Pets. */
@media(min-width:640px){
 .owner-dashboard .owner-header{padding-inline:max(24px,calc((100vw - 1250px)/2 + 24px))}
 .owner-dashboard .owner-main{width:min(100%,1250px);margin-inline:auto;padding-inline:24px}
 .owner-dashboard .panel-nav{width:min(100%,1250px);margin-inline:auto}
}

.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list{grid-column:auto;grid-row:auto;margin:0;padding:0;border:0}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading{justify-content:flex-start;margin:0;font-size:14px}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading>span:first-child{color:inherit;font-size:22px}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading>span:not(:first-child){font-size:inherit}
.owner-dashboard:has(.owner-pet-group) .owner-add-pet{font-size:0}
.owner-dashboard:has(.owner-pet-group) .owner-add-pet span{font-size:16px}
.owner-dashboard:has(.owner-pet-group) .pet-card-tags{margin:0}
@media(max-width:639px){.owner-dashboard:has(.owner-pet-group) .dashboard-tag-list-heading{font-size:13px}}
@media(max-width:639px){
  .owner-dashboard.owner-pet-detail{display:block!important;width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto}
  .owner-pet-detail>.owner-header{width:100%;min-width:0}
  .owner-pet-detail>.boop-sidebar{position:fixed!important;right:0!important;bottom:0!important;left:0!important;top:auto!important;width:100%!important;min-height:0!important}
  .owner-pet-detail>.pet-detail-main{display:grid;grid-column:auto;grid-row:auto;width:100%;max-width:100%;min-width:0;margin:0;padding-inline:15px}
  .owner-pet-detail .owner-pet-hero,.owner-pet-detail .hero-photo,.owner-pet-detail .pet-quick-actions,.owner-pet-detail .pet-summary-grid,.owner-pet-detail .pet-detail-grid{width:100%;min-width:0;max-width:100%}
  .owner-pet-detail .pet-detail-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow-x:clip}
  .owner-pet-detail .pet-detail-grid>.owner-card{width:100%;min-width:0;max-width:100%}
  .owner-pet-detail .pet-hero-copy{right:8px;max-width:calc(100% - 24px)}
  .owner-pet-detail .hero-status{max-width:100%}
  .owner-pet-detail .hero-photo-action{left:auto!important;bottom:auto!important;width:max-content!important}
  .owner-pet-detail .hero-photo img{position:absolute;z-index:0;inset:0}
  .owner-pet-detail .hero-photo::after{z-index:1}
  .owner-pet-detail .pet-hero-copy{z-index:2}
  .owner-pet-detail .hero-photo-action{z-index:3}
  .owner-pet-detail .care-plan>.owner-section-heading{display:flex;align-items:center;gap:8px}
  .owner-pet-detail .care-add-button{min-height:36px;padding:0 10px;font-size:12px;white-space:nowrap}
  .owner-pet-detail .pet-care-plan-link{font-size:11px;white-space:nowrap}
}
.owner-pet-detail .hero-photo img{position:absolute;z-index:0;inset:0}
.owner-pet-detail .hero-photo::after{z-index:1}
.owner-pet-detail .pet-hero-copy{position:absolute;z-index:10;right:20px;bottom:17px;left:22px;pointer-events:none}
.owner-pet-detail .hero-photo-action{left:auto!important;bottom:auto!important;z-index:11;width:max-content!important;height:auto!important}
.owner-pet-detail .hero-photo .pet-photo-placeholder{left:50%!important;top:50%!important;width:min(24%,250px)!important;height:min(82%,220px)!important;transform:translate(-50%,-50%);padding:18px!important;opacity:.34}
.owner-pet-detail .care-plan>.owner-section-heading>[data-care-add]{display:none}
@media(min-width:640px){.owner-pet-detail .owner-header .boop-brand{position:static;left:auto;transform:none}.owner-pet-detail .owner-header-actions{visibility:visible;display:flex}}
.owner-pet-detail[data-message-focus]:not([data-message-focus=""]) .care-history-section{display:block}
.owner-pet-detail .care-history-section.care-message-focus{display:block!important}
.owner-pet-detail .care-history-section:has(.care-history-public-message:target){display:block}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-name{color:#263c37;font-size:12px;font-weight:700}
.owner-dashboard:has(.owner-pet-group) .dashboard-tag-chip code{color:#818a85;font-size:10px;font-weight:500}
.unassigned-tags .owner-tag-heading>span:first-child{display:grid;gap:3px;min-width:0}
.unassigned-tags .owner-tag-heading strong{color:#203a34;font-size:13px}
.unassigned-tags .owner-tag-heading small{color:#7c8680;font-size:10px}
.owner-tag-manage-link{display:grid;gap:3px}
.owner-tag-manage-link strong{font-size:13px}
.owner-tag-manage-link small{color:#818a85;font-size:10px}
.profile-subscription-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;color:#193a36}.profile-subscription-summary strong{font-size:20px;font-weight:700}.profile-subscription-summary span{color:#78817e;font-size:13px}.profile-subscription-limits{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 15px}.profile-subscription-limits>div{display:grid;gap:3px}.profile-subscription-limits dt{color:#78817e;font-size:12px}.profile-subscription-limits dd{margin:0;color:#29413c;font-size:14px;font-weight:650}.profile-subscription-action{width:max-content;max-width:100%}
.care-action-pet-identity{display:flex;align-items:center;justify-content:center;gap:10px}.care-action-pet-avatar{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#f1eee7;object-fit:cover}
.care-action-close{display:block;width:100%;margin:18px 0 0;min-height:46px;cursor:pointer}
.care-action-comment{margin:-2px 2px 12px;color:var(--color-text-secondary);font-size:13px;line-height:1.4;text-align:left}

/* BOOP action-set player. Layout is shared; copy/images/options come from the action definition. */
.action-set-wizard{width:min(560px,100vw);max-height:94dvh;border-radius:24px 24px 0 0;overflow:hidden;padding:0}
.action-set-wizard .boop-wizard-shell{display:flex;flex-direction:column;max-height:94dvh;min-height:min(610px,89dvh);background:var(--color-surface);color:var(--color-text-primary)}
.boop-wizard-header{flex:none;padding:24px 26px 12px}
.boop-wizard-eyebrow{display:block;color:var(--color-primary);font-size:12px;font-weight:800;letter-spacing:.075em}
.boop-wizard-progress{display:flex;gap:5px;margin-top:11px}
.boop-wizard-progress-part{height:5px;flex:1;background:var(--color-border);border-radius:10px}
.boop-wizard-progress-part.active{background:var(--color-primary)}
.boop-wizard-main{padding:15px 26px 25px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.boop-wizard-main h2{font-size:clamp(24px,5vw,31px);line-height:1.17;margin:12px 0 14px}
.boop-wizard-lead{font-size:18px;line-height:1.5;font-weight:550;margin:0 0 14px}
.boop-wizard-long{line-height:1.6;font-size:15px;white-space:pre-line;overflow-wrap:anywhere;color:var(--color-text-secondary)}
.boop-wizard-welcome-symbol{display:grid;place-items:center;background:var(--color-surface-soft);border-radius:19px;width:60px;height:60px;color:var(--color-primary);font-size:30px;font-weight:800}
.boop-wizard-icon{display:block;max-width:min(100%,420px);max-height:290px;object-fit:contain;border-radius:16px;margin:0 auto 18px}
.boop-wizard-cover{position:relative;isolation:isolate;width:100%;min-height:340px;height:min(54dvh,460px);overflow:hidden;border-radius:20px;background:var(--color-surface-soft);display:flex;align-items:flex-end}
.boop-wizard-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}
.boop-wizard-cover-panel{position:relative;z-index:1;width:100%;max-height:calc(100% - 16px);box-sizing:border-box;overflow:auto;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 18px;color:#161616}
.boop-wizard-cover-panel h2{color:#151515;font-size:clamp(20px,4vw,29px);margin:0 0 9px}
.boop-wizard-cover-panel .boop-wizard-long{color:#252525;margin:0;line-height:1.5}
@media(max-width:639px){.boop-wizard-cover{height:min(57dvh,460px);min-height:265px}.boop-wizard-cover-panel{padding:13px 16px}}
.boop-wizard-field-label{font-size:14px;font-weight:700;margin:22px 0 12px}
.boop-wizard-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.boop-wizard-choices .owner-button{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text-primary);min-height:54px;white-space:normal;overflow-wrap:anywhere}
.boop-wizard-choices .owner-button.is-selected{background:var(--color-surface-soft);border:2px solid var(--color-primary);color:var(--color-primary)}
.boop-wizard-push{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:17px;padding:16px;margin:24px 0 0}
.boop-wizard-push p{font-size:14px;line-height:1.55;margin:8px 0 13px;white-space:pre-line;overflow-wrap:anywhere}
.boop-wizard-push button{width:100%;min-height:46px}
.boop-wizard-summary{display:grid;gap:10px;list-style:none;padding:0}
.boop-wizard-summary li{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--color-border);font-size:14px}
.boop-wizard-summary span{color:var(--color-text-secondary)}
.boop-wizard-state{padding:12px;background:var(--color-surface-soft);border-radius:12px}
.boop-wizard-footer{display:flex;gap:9px;flex-wrap:wrap;padding:15px 22px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);flex:none;background:var(--color-surface)}
.boop-wizard-footer button{flex:1;min-height:49px;min-width:90px;font-size:14px}
.boop-wizard-status{width:100%;order:-1;color:#a33b24;font-size:13px;line-height:1.45;margin:0}
.boop-wizard-status[hidden]{display:none}
@media(min-width:640px){.action-set-wizard{inset:50% auto auto 50%;margin:0;max-height:min(780px,90dvh);border-radius:24px;transform:translate(-50%,-50%)}.action-set-wizard .boop-wizard-shell{max-height:min(780px,90dvh)}}
@media(max-width:639px){.action-set-wizard{inset:0;margin:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.action-set-wizard .boop-wizard-shell{height:100dvh;min-height:0;max-height:none}.boop-wizard-header{padding-top:calc(18px + env(safe-area-inset-top))}}
/* Shared crop contract: the public photo frame follows the owner's frame at each viewport. */
.owner-pet-detail .hero-photo img.pet-photo-crop,
.profile-body .profile-hero img.pet-photo-crop{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;transform:none;animation:none}
.profile-body .pet-photo-frame{display:block}
@media(min-width:901px){
  .profile-body .pet-hero{grid-template-columns:minmax(0,1fr);gap:24px}
  .profile-body .pet-photo-frame{grid-column:1/-1;justify-self:center;width:min(calc(100vw - 288px),1104px);height:300px;aspect-ratio:auto;margin-inline:auto}
  .profile-body .pet-identity{grid-column:1/-1}
  .profile-body .pet-hero+.finder-card{margin-top:32px}
}
@media(min-width:640px) and (max-width:900px){
  .profile-body .pet-hero{grid-template-columns:minmax(0,1fr)}
  .profile-body .pet-photo-frame{grid-column:1/-1;justify-self:center;width:calc(100vw - 232px);height:300px;aspect-ratio:auto;margin-inline:auto}
  .profile-body .pet-identity{grid-column:1/-1}
  .profile-body .pet-hero+.finder-card{margin-top:32px}
}
@media(max-width:639px){
  .profile-body .pet-photo-frame{width:calc(100vw - 32px);height:205px;aspect-ratio:auto;margin-inline:auto}
}
.boop-wizard-set-name{display:inline-block;background:var(--color-surface-soft);border-radius:11px;padding:8px 13px;font-size:14px;font-weight:700;margin:0 0 16px}

/* FAMILY finder chat */
.finder-actions{flex-wrap:wrap}
.finder-chat{flex:1 1 100%;min-width:0;margin-top:4px;padding:14px;border:1px solid var(--color-border);border-radius:14px;background:#fff}
.finder-chat>[data-finder-message-open]{width:100%;min-height:48px}
.finder-chat-thread{display:grid;gap:10px;margin-top:10px}
.finder-chat-thread h2{margin:0;font-size:18px}
.finder-chat-thread ol{display:grid;gap:9px;max-height:42vh;overflow:auto;margin:0;padding:0;list-style:none}
.finder-chat-message{padding:10px 12px;border-radius:12px;background:#f5f2ec;overflow-wrap:anywhere}
.finder-chat-message p{margin:3px 0}.finder-chat-message time{color:var(--color-text-secondary);font-size:12px}
.finder-chat-finder{margin-left:9%}.finder-chat-owner{margin-right:9%;background:#edf5ef}
.finder-chat form{display:grid;gap:8px}.finder-chat textarea{width:100%;min-height:90px;resize:vertical;padding:11px;border:1px solid var(--color-border);border-radius:10px;font:inherit}
.finder-chat [hidden],.finder-chat form[hidden]{display:none!important}
.finder-chat-private-link{width:fit-content;font-size:13px}.finder-message-list{display:grid;gap:10px}
.finder-message-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:inherit;text-decoration:none}
.finder-message-row>span{display:grid;gap:5px;min-width:0}.finder-message-row>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}
.finder-message-row small{color:var(--color-text-secondary)}.finder-message-row.is-unread{border-color:var(--color-primary)}
.finder-unread-count{display:grid;min-width:26px;height:26px;place-items:center;border-radius:50%;background:var(--color-primary);color:#fff}
.finder-owner-conversation ol{display:grid;gap:10px;padding-left:22px}.finder-owner-conversation li p{overflow-wrap:anywhere}
@media(max-width:639px){.finder-chat{padding:12px}.finder-chat-finder{margin-left:4%}.finder-chat-owner{margin-right:4%}}
