
/* MPC Family Watch — optional paid parent extension */
.family-watch-entry{width:100%;border:1px solid #c9d6cc;background:linear-gradient(135deg,#edf4ea,#fffdf8);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}
.family-watch-entry .fw-entry-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:1.2rem;flex:0 0 auto}
.family-watch-entry .fw-entry-copy{display:grid;gap:2px;flex:1}.family-watch-entry small{color:var(--muted);line-height:1.35}.family-watch-entry .fw-chevron{font-size:1.35rem;color:var(--green)}
#view-family-watch .content-pad{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px)}
.fw-status-card{display:grid;gap:8px}.fw-status-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.fw-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#e8efe7;color:#173c2a;font-size:.78rem;font-weight:900}.fw-status-pill.off{background:#eee8df;color:#6d6256}
.fw-locked{text-align:center;padding:26px}.fw-locked h2{margin:0 0 8px}.fw-locked p{color:var(--muted);line-height:1.6}
.fw-grid{display:grid;gap:12px}.fw-child-card{border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px;display:grid;gap:8px}.fw-child-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.fw-child-head h3{margin:0}.fw-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:.78rem;color:var(--muted)}.fw-meta span{padding:5px 8px;border-radius:999px;background:#f1f3ee}.fw-alert{border-radius:12px;padding:10px 12px;background:#fff0e7;color:#762d14;font-weight:800}.fw-alert.ok{background:#eaf5e8;color:#285d31}
.fw-map{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:radial-gradient(circle,#f7f3e8 0,#e7eee5 70%,#dce7dc 100%);border:1px solid #bdcbbf}.fw-map-svg{display:block;width:100%;height:100%}.fw-map-ring{fill:none;stroke:rgba(23,60,42,.28);stroke-width:2;stroke-dasharray:10 10}.fw-map-home circle{fill:#173c2a}.fw-map-home text,.fw-map-pin-group>text:not(.fw-map-label){fill:#fff;font-size:25px;font-weight:900;text-anchor:middle}.fw-map-pin-group.child circle{fill:#f0b94f;stroke:#fff;stroke-width:5}.fw-map-pin-group.child>text:not(.fw-map-label){fill:#132218}.fw-map-pin-group.guardian circle{fill:#5b8fc7;stroke:#fff;stroke-width:5}.fw-map-label{fill:#173c2a;font-size:22px;font-weight:900;text-anchor:middle;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:10;stroke-linejoin:round}.fw-map-note{margin:8px 2px 0;color:var(--muted);font-size:.76rem}
.fw-form{display:grid;gap:10px}.fw-form input,.fw-form select{width:100%;min-height:46px;border:1px solid #aab3ac;border-radius:12px;padding:10px 12px;background:#fff;font:inherit}.fw-check{display:flex;align-items:flex-start;gap:9px;font-size:.86rem;line-height:1.45}.fw-check input{width:auto;min-height:auto;margin-top:3px}.fw-actions{display:flex;gap:8px;flex-wrap:wrap}.fw-actions button,.fw-actions a{flex:1 1 140px}.fw-invite{word-break:break-all;border:1px dashed #aab3ac;border-radius:12px;padding:10px;background:#fbfaf6;font-size:.78rem}.fw-danger{border:1px solid #c85d50!important;color:#8a231b!important;background:#fff7f4!important}
.fw-two-col{display:grid;gap:12px}.fw-kicker{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}
@media(min-width:640px){.fw-two-col{grid-template-columns:1fr 1fr}.fw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* R21 controlled free activation + Kidz premium CTA */
.fw-free-activation{display:grid;gap:10px;text-align:left;margin:16px 0 10px;padding:15px;border:1px solid rgba(23,60,42,.16);border-radius:16px;background:#fbfaf6}
.fw-free-activation input{width:100%;min-height:48px;border:1px solid #aab3ac;border-radius:12px;padding:10px 12px;background:#fff;font:inherit;color:var(--ink)}
.fw-free-activation input:focus{outline:3px solid rgba(23,105,255,.28);outline-offset:1px}
.fw-marketing-consent{margin:1px 0 4px;color:var(--muted)}
.fw-kidz-cta{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;gap:12px;margin:14px 0;padding:14px 15px;border-radius:17px;border:1px solid #d8b256;background:linear-gradient(135deg,#173c2a,#0f2f22);color:#fff;text-decoration:none;box-shadow:0 10px 28px rgba(23,60,42,.16)}
.fw-kidz-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f6d375;color:#173c2a;font-size:1.35rem;font-weight:1000}
.fw-kidz-cta strong{display:block;font-size:1rem}.fw-kidz-cta small{display:block;margin-top:3px;color:#efe5c8;line-height:1.35}.fw-kidz-cta>span:last-child{color:#f6d375;font-size:1.7rem}.fw-kidz-cta:focus-visible{outline:3px solid #1769ff;outline-offset:3px}
@media(max-width:420px){.fw-kidz-cta{grid-template-columns:42px minmax(0,1fr) 16px;padding:12px}.fw-kidz-icon{width:42px;height:42px}}

/* Family Watch map visibility and actionable GPS status (2026-10-10). */
.fw-map-empty{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px;text-align:center;color:#173c2a;font-weight:800}
.fw-map-availability{margin:12px 2px 0;display:grid;gap:6px;font-size:.82rem;color:#173c2a;overflow-wrap:anywhere}
.fw-map-availability p{margin:0;padding:10px 12px;border-radius:10px;background:#eff4ea;border:1px solid #d6dfd1;line-height:1.45}
.fw-gps-status{margin:10px 0 0;color:#3d5843;font-size:.8rem;line-height:1.4}
.fw-map-north{font:bold 25px system-ui,sans-serif;fill:#173c2a;text-anchor:middle}


/* R24.2.5.3 exact supplied Family Watch illustration - accessible and responsive. */
#view-family-watch .fw-hero-figure{display:block;margin:0 0 20px;padding:0;max-width:100%;border:1px solid #c9d6cc;border-radius:18px;overflow:hidden;background:#fffdf8;box-sizing:border-box}
#view-family-watch .fw-hero-figure img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain}
#view-family-watch .fw-hero-figure figcaption{font-size:.76rem;line-height:1.4;color:#456052;padding:9px 12px;background:#f3f6ef}
@media(max-width:420px){#view-family-watch .fw-hero-figure{border-radius:14px}}


/* R24.2.5.3: exact Family Watch approved hero on Companion Home only.
   Existing Family Watch feature-page hero and consent styling are unchanged. */
#view-home .family-watch-entry.fw-home-hero-card{
  display:block;width:100%;padding:0;overflow:hidden;text-align:left;
  border-radius:20px;background:#fffdf8;
}
#view-home .fw-home-hero{
  display:block;width:100%;height:auto;aspect-ratio:1672 / 941;
  object-fit:cover;object-position:center;max-width:100%;
}
#view-home .fw-home-hero-label{
  display:flex;align-items:center;gap:12px;padding:14px 15px;
  min-width:0;background:linear-gradient(135deg,#edf4ea,#fffdf8);
}
#view-home .fw-home-hero-label .fw-entry-copy{
  display:grid;gap:3px;min-width:0;flex:1;
}
#view-home .fw-home-hero-label .fw-entry-copy strong{
  display:block;line-height:1.3;color:var(--ink);
}
#view-home .fw-home-hero-label .fw-entry-copy small{
  display:block;line-height:1.4;overflow-wrap:anywhere;
}
#view-home .fw-home-hero-label .fw-chevron{flex:0 0 auto}
#view-home .fw-home-hero-card:focus-visible{
  outline:3px solid #1769ff;outline-offset:3px;
}
@media(max-width:360px){
  #view-home .fw-home-hero-label{gap:9px;padding:12px}
  #view-home .fw-home-hero-label .fw-entry-icon{width:38px;height:38px}
}
