@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@400;600;700&display=swap');

/* Improve cancel button layout and spacing in request cards */
.request-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.request-card .child-name {
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 16px;
}

.cancel-request-btn {
  margin-top: 10px;
  margin-bottom: 10px;
  width: 100%;
  max-width: 100%;
  display: block;
}

@media (max-width: 719px) {
  .request-card {
    padding: 10px 0;
    gap: 10px;
  }
  .cancel-request-btn {
    font-size: 17px;
    padding: 14px 0;
    margin-top: 12px;
    margin-bottom: 12px;
  }
}
/* Responsive styles for cancel button on requests */
.cancel-request-btn {
  background: #fff;
  color: #991b1b;
  border: 1px solid #991b1b;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 8px;
  margin-bottom: 8px;
  width: 100%;
  max-width: 220px;
  display: block;
}

@media (max-width: 719px) {
  .cancel-request-btn {
    font-size: 16px;
    padding: 12px 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 10px 0;
    display: block;
  }
}
@media (prefers-color-scheme: dark) {
  * { color-scheme: light !important; }
}

.nav-links a {
  position:relative;
  overflow:hidden;
  z-index:1;
}
.nav-links a::after {
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
  z-index:2;
}
.nav-links a:hover::after {
  transform:scaleX(1);
}
:root{
  --accent:#06464E;
  --accent-gradient:linear-gradient(135deg,#67B3C2 0%,#06464e 100%);
  --muted:#6b7280;
  --bg:#f7f7f7;
  --card:#ffffff;
}

@keyframes bounce{
  0%{transform:scale(1)}
  15%{transform:scale(1.05)}
  30%{transform:scale(1)}
  45%{transform:scale(1.05)}
  60%{transform:scale(1)}
  100%{transform:scale(1)}
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:#111;
  -webkit-font-smoothing:antialiased;
}

body.landing{
  --landing-bg:#ffffff;
  --landing-ink:#0b1718;
  --landing-accent:#06464E;
  --landing-accent-strong:#04383d;
  --landing-warm:#67B3C2;
  background:var(--landing-bg);
  color:var(--landing-ink);
  font-family:'DM Sans',sans-serif;
}
body.landing h1,
body.landing h2,
body.landing h3,
body.landing .logo span{
  font-family:'Space Grotesk',sans-serif;
}

body.careplus-page{
  background:#ffffff;
  color:#0b1718;
  font-family:'DM Sans',sans-serif;
  --card:#ffffff;
}
body.careplus-page h1,
body.careplus-page h2,
body.careplus-page h3,
body.careplus-page .logo span{
  font-family:'Space Grotesk',sans-serif;
}
body.careplus-page .navbar,
body.careplus-page .navbar *{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body.careplus-page .careplus-nav-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
body.careplus-page .careplus-back-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#67B3C2;
  color:#0b1f26;
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
  box-shadow:0 4px 10px rgba(6,70,78,0.12);
}
body.careplus-page .careplus-back-btn:hover{
  filter:brightness(1.05);
}
body.landing .navbar{
  position:fixed;
  top:0;
  left:0;
  right:0;
  background:rgba(255,255,255,0.96);
  border-bottom:1px solid rgba(6,70,78,0.12);
  box-shadow:0 12px 30px rgba(10,35,38,0.08);
  transform:translateY(-120%);
  opacity:0;
  pointer-events:none;
  transition:transform .35s ease,opacity .35s ease;
}
body.landing.nav-visible .navbar{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
body.landing .nav-container{
  max-width:1100px;
  padding:12px 24px;
}
body.landing .nav-links a{
  color:#0f1b1a;
  font-weight:600;
  letter-spacing:0.01em;
}
body.landing .nav-auth{
  display:none;
}

.landing-copy{
  animation:landing-fade-up .8s ease both;
}
.landing-phone{
  animation:landing-fade-up 1s ease .1s both;
}
.landing-scroll{
  animation:landing-fade-up 1.1s ease .2s both;
}

.landing-auth{
  position:fixed;
  top:20px;
  right:20px;
  display:flex;
  gap:10px;
  z-index:1200;
}
.landing-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.landing-pill--ghost{
  background:rgba(255,255,255,0.9);
  color:var(--landing-accent-strong);
  border-color:rgba(6,70,78,0.2);
  box-shadow:0 6px 16px rgba(8,30,32,0.12);
}
.landing-pill--solid{
  background:linear-gradient(135deg,#06464E 0%,#0b6c73 55%,#67B3C2 130%);
  color:#fff;
  box-shadow:0 10px 20px rgba(11,92,98,0.25);
}
.landing-pill:hover{
  transform:translateY(-2px);
}

.landing-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:120px 24px 90px;
}
.landing-backdrop{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.landing-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(0);
  opacity:0.7;
}
.landing-orb.orb-1{
  width:420px;
  height:420px;
  background:radial-gradient(circle at 30% 30%, rgba(6,70,78,0.25), rgba(6,70,78,0));
  top:-140px;
  right:-120px;
}
.landing-orb.orb-2{
  width:480px;
  height:480px;
  background:radial-gradient(circle at 60% 40%, rgba(103,179,194,0.35), rgba(103,179,194,0));
  bottom:-160px;
  left:-140px;
}
.landing-orb.orb-3{
  width:220px;
  height:220px;
  background:radial-gradient(circle at 50% 50%, rgba(6,70,78,0.18), rgba(6,70,78,0));
  top:20%;
  left:20%;
}
.landing-grid{
  position:absolute;
  inset:-10% 0 0;
  background-image:radial-gradient(rgba(6,70,78,0.06) 1px, transparent 0);
  background-size:28px 28px;
  opacity:0.6;
}
.landing-hero-inner{
  position:relative;
  z-index:1;
  width:100%;
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  gap:56px;
  align-items:center;
}
.landing-copy{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.landing-logo{
  width:64px;
  height:64px;
  border-radius:18px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 24px rgba(6,70,78,0.18);
  position:relative;
  animation:landing-heartbeat 2.6s ease-in-out infinite;
}
.landing-logo img{
  width:62px;
  height:62px;
  object-fit:contain;
}
.landing-logo::after{
  content:'';
  position:absolute;
  inset:-10px;
  border-radius:24px;
  border:1px solid rgba(6,70,78,0.25);
  animation:landing-heartbeat-ring 2.6s ease-in-out infinite;
}
.landing-tag{
  align-self:flex-start;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(11,92,98,0.12);
  color:var(--landing-accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.landing-copy h1{
  font-size:48px;
  line-height:1.05;
  margin:0;
  color:var(--landing-ink);
}
.landing-sub{
  margin:0;
  font-size:17px;
  color:#374151;
  max-width:520px;
}
.landing-cta-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.landing-scroll-hint{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#5b6870;
}
.scroll-hint-dots{
  position:relative;
  display:inline-block;
  width:44px;
  height:8px;
}
.scroll-hint-dots::before,
.scroll-hint-dots::after{
  content:'';
  position:absolute;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#06464E 0%,#67B3C2 100%);
  transform:translateY(-50%);
  animation:scrollHintPulse 1.6s ease-in-out infinite;
}
.scroll-hint-dots::before{
  left:0;
  animation-delay:0s;
}
.scroll-hint-dots::after{
  right:0;
  animation-delay:.8s;
}
.scroll-hint-text{
  font-weight:600;
}
.scroll-hint-arrows{
  display:none;
  position:relative;
  width:22px;
  height:30px;
}
.scroll-hint-arrows::before,
.scroll-hint-arrows::after{
  content:'';
  position:absolute;
  left:50%;
  width:10px;
  height:10px;
  border-right:2px solid #0b6c73;
  border-bottom:2px solid #0b6c73;
  transform-origin:center;
  animation:scrollHintArrow 1.6s ease-in-out infinite;
}
.scroll-hint-arrows::before{
  top:2px;
  transform:translateX(-50%) rotate(-135deg);
  animation-delay:0s;
}
.scroll-hint-arrows::after{
  bottom:2px;
  transform:translateX(-50%) rotate(45deg);
  animation-delay:.8s;
}
.landing-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:18px 36px;
  border-radius:999px;
  background:linear-gradient(135deg,#06464E 0%,#0b6c73 55%,#67B3C2 140%);
  color:#fff;
  font-size:16px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(11,92,98,0.25);
  transition:transform .2s ease,box-shadow .2s ease;
}
.landing-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 30px rgba(11,92,98,0.3);
}
@keyframes scrollHintPulse{
  0%,100%{opacity:.35; transform:translateY(-50%) scale(.85);}
  50%{opacity:1; transform:translateY(-50%) scale(1);}
}
@keyframes scrollHintArrow{
  0%,100%{opacity:.3;}
  50%{opacity:1;}
}
.landing-note{
  margin:0;
  font-size:13px;
  color:#6b7280;
}
.landing-phone{
  display:flex;
  align-items:center;
  justify-content:center;
}
.phone-shell{
  width:280px;
  height:560px;
  background:#0b0f12;
  border-radius:42px;
  padding:14px;
  position:relative;
  box-shadow:0 25px 60px rgba(9,15,18,0.35);
}
.phone-notch{
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  width:120px;
  height:24px;
  background:#0b0f12;
  border-radius:0 0 20px 20px;
  z-index:2;
}
.phone-screen{
  width:100%;
  height:100%;
  border-radius:30px;
  background:linear-gradient(160deg,#06464E 0%,#0b2d36 55%,#0a1d24 100%);
  padding:32px 18px 24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
}
.phone-card{
  background:rgba(15,23,32,0.68);
  border-radius:24px;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  box-shadow:0 18px 30px rgba(0,0,0,0.25);
}
.phone-label{
  font-size:11px;
  letter-spacing:0.18em;
  font-weight:700;
  color:rgba(255,255,255,0.7);
}
.phone-card h3{
  margin:0;
  font-size:22px;
}
.phone-card p{
  margin:0;
  font-size:12px;
  color:rgba(255,255,255,0.78);
  line-height:1.4;
}
.phone-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(103,179,194,0.95);
  color:#1a1a1a;
  font-weight:700;
  font-size:12px;
  letter-spacing:0.08em;
}
.phone-dots{
  display:flex;
  gap:6px;
  justify-content:center;
  align-items:center;
}
.phone-dots span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(255,255,255,0.4);
}
.phone-dots span.active{
  background:#f5b26b;
}
.phone-home{
  position:absolute;
  bottom:8px;
  left:50%;
  transform:translateX(-50%);
  width:100px;
  height:4px;
  background:rgba(255,255,255,0.6);
  border-radius:999px;
}
.landing-scroll{
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  font-size:12px;
  color:#6b7280;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.glance-section{
  padding:70px 24px;
  background:#fff;
}
.glance-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,0.95fr);
  gap:28px;
  align-items:center;
}
.glance-copy h2{
  margin:0 0 10px;
  font-size:32px;
  color:#0b1718;
}
.glance-copy p{
  margin:0;
  color:#4b5563;
  font-size:15px;
  max-width:520px;
}
.glance-eyebrow{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--landing-accent);
  font-weight:700;
}
.glance-panel{
  background:#f7fbfc;
  border-radius:18px;
  border:1px solid #e1eaec;
  padding:20px;
  box-shadow:0 14px 30px rgba(6,70,78,0.08);
  display:grid;
  gap:16px;
}
.glance-panel.is-waitlist .glance-provider-btn{
  display:none;
}
.glance-form{
  display:grid;
  gap:10px;
}
.glance-title{
  font-size:20px;
  font-weight:700;
  background:linear-gradient(135deg,#67B3C2 0%,#06464E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.glance-label{
  font-size:12px;
  font-weight:700;
  color:#0b1718;
  text-transform:uppercase;
  letter-spacing:0.08em;
}
.glance-input-row{
  display:flex;
  gap:10px;
  background:#fff;
  padding:10px;
  border-radius:14px;
  border:1px solid #d7e2e5;
  align-items:center;
}
.glance-location-btn{
  width:38px;
  height:38px;
  border-radius:10px;
  border:1px solid #d7e2e5;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex-shrink:0;
}
.glance-location-btn img{
  width:18px;
  height:18px;
}
.glance-input-row input{
  flex:1;
  border:none;
  outline:none;
  font-size:14px;
  padding:6px 4px;
  font-family:inherit;
  min-width:0;
}
.glance-submit{
  border:none;
  border-radius:12px;
  padding:10px 16px;
  font-weight:700;
  background:linear-gradient(135deg,#06464E 0%,#0b6c73 70%);
  color:#fff;
  cursor:pointer;
}
.glance-provider-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:12px;
  border:2px solid #06464E;
  color:#06464E;
  font-weight:700;
  text-decoration:none;
  background:#fff;
  transition:transform .2s ease,box-shadow .2s ease;
}
.glance-provider-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 18px rgba(6,70,78,0.18);
}
.glance-result{
  min-height:64px;
}
.glance-result-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  border-radius:16px;
  padding:16px;
  background:linear-gradient(135deg,rgba(6,70,78,0.95) 0%,rgba(11,108,115,0.95) 50%,rgba(103,179,194,0.95) 120%);
  color:#fff;
}
.glance-result-count{
  font-size:32px;
  font-weight:700;
}
.glance-result-text{
  font-size:13px;
  line-height:1.4;
}
.glance-result-btn{
  align-self:flex-start;
  margin-top:6px;
  padding:8px 14px;
  background:#fff;
  color:#06464E;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.glance-waitlist{
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
  border-radius:16px;
  border:1px solid #e1eaec;
  padding:16px;
}
.glance-waitlist-title{
  font-size:15px;
  font-weight:700;
  color:#0b1718;
}
.glance-waitlist-text{
  font-size:13px;
  color:#4b5563;
}
.glance-waitlist-alt{
  font-size:13px;
  color:#06464E;
  font-weight:600;
}
.glance-waitlist-or{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(6,70,78,0.12);
  color:#06464E;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
}
.glance-waitlist-divider{
  font-size:11px;
  color:#6b7280;
  text-transform:uppercase;
  letter-spacing:0.12em;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
}
.glance-waitlist-divider::before,
.glance-waitlist-divider::after{
  content:'';
  height:1px;
  flex:1;
  background:#d7e2e5;
}
.glance-waitlist input{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid #d7e2e5;
  font-size:14px;
  font-family:inherit;
}
.glance-waitlist button{
  border:none;
  border-radius:10px;
  padding:10px 12px;
  background:linear-gradient(135deg,#06464E 0%,#0b6c73 70%);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.glance-waitlist-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:10px;
  border:2px solid #06464E;
  color:#06464E;
  font-weight:700;
  font-size:13px;
  text-decoration:none;
  background:#fff;
  width:100%;
}

@keyframes landing-fade-up{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes landing-heartbeat{
  0%, 28%, 100%{transform:scale(1)}
  12%{transform:scale(1.08)}
  20%{transform:scale(0.98)}
}

@keyframes landing-heartbeat-ring{
  0%{opacity:0.6;transform:scale(0.9)}
  30%{opacity:0;transform:scale(1.35)}
  100%{opacity:0}
}

@media (prefers-reduced-motion: reduce){
  .landing-copy,
  .landing-phone,
  .landing-scroll,
  .landing-logo,
  .landing-logo::after{
    animation:none;
  }
}

@media (max-width:980px){
  .landing-hero-inner{
    grid-template-columns:1fr;
    text-align:center;
  }
  .landing-copy{
    align-items:center;
  }
  .landing-tag{
    align-self:center;
  }
  .landing-sub{
    max-width:520px;
  }
  .glance-inner{
    grid-template-columns:1fr;
  }
}

.navbar{
  background:var(--card);
  border-bottom:1px solid #e5e7eb;
  position:sticky;top:0;z-index:999;
}
.nav-container{
  max-width:900px;margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;
}
.logo{
  font-weight:700;font-size:14px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:8px;
}
.logo img{
  height:50px;max-width:200px;object-fit:contain;animation:bounce 1.8s ease-in-out infinite;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer;
}
.logo img:hover{
  transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,70,78,0.25);filter:brightness(1.1);
}
.logo span{
  cursor:pointer;
}
.logo span:hover{
}
.nav-center-title{
  display:none;
  font-weight:700;
  font-size:14px;
  color:#06464E;
  text-align:center;
}
.mobile-menu-icon{
  width:20px;
  height:20px;
  display:block;
}
.mobile-menu-badge{
  position:absolute;
  top:6px;
  right:6px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#ff0000;
  display:none;
}

.nav-auth{
  display:flex;gap:8px;
}

.nav-links{display:none;gap:8px;align-items:center}
.nav-links a{color:#111;text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:600;white-space:nowrap}
.nav-links a{
  color:#111;
  text-decoration:none;
  padding:8px 10px;
  border-radius:8px;
  font-weight:600;
  white-space:nowrap;
  transition:background .2s, color .2s, -webkit-text-fill-color .2s;
}
.nav-links a:hover{
  color:#111;
}
@media (min-width: 720px){
  .nav-hide-desktop .navbar{
    display:none;
  }
}
.become-back-row{
  display:none;
  margin-bottom:24px;
  justify-content:center;
}
.become-back-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 22px;
  border-radius:999px;
  background:#06464E;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:14px;
  letter-spacing:0.01em;
}
.become-back-btn:hover{
  filter:brightness(1.08);
}
.nav-hide-desktop .become-back-row{
  display:flex;
}
.chat-disabled #chatLauncher,
.chat-disabled #chatModal{
  display:none !important;
}
.become-parent-note{
  display:none;
  text-align:center;
  font-weight:700;
  color:#06464E;
  margin:-8px 0 18px;
  font-size:14px;
  min-height:1.6em;
}
.parent-logged-in .become-parent-note{
  display:block;
}
.provider-dashboard .nav-container{
  max-width:100%;
  padding:12px 40px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
}
.provider-dashboard .nav-links{
  justify-content:center;
  width:100%;
}

/* Mobile menu button (drawer-style two-line) */
.mobile-menu{display:none;background:transparent;border:0;padding:6px;cursor:pointer;margin-left:8px;position:relative;width:44px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}
.mobile-menu span{position:absolute;left:50%;transform:translateX(-50%);width:20px;height:2px;background:var(--accent);border-radius:2px;transition:transform .28s ease, top .28s ease, opacity .18s ease}
.mobile-menu span:first-child{top:12px}
.mobile-menu span:last-child{top:22px}
.mobile-menu.open{background:rgba(103,179,194,0.12);border-color:rgba(103,179,194,0.35)}
.mobile-menu.open span:first-child{top:17px;transform:translateX(-50%) rotate(45deg)}
.mobile-menu.open span:last-child{top:17px;transform:translateX(-50%) rotate(-45deg)}

.mobile-menu-panel{position:fixed;left:0;right:0;top:0;transform:translateY(-110%);transition:transform .36s cubic-bezier(.2,.9,.3,1);background:#000;color:#fff;z-index:1200;padding:28px 20px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}
.mobile-menu-panel.open{transform:translateY(0)}
.mobile-menu-panel .mobile-menu-close{position:absolute;top:12px;right:16px;background:transparent;border:0;color:#fff;font-size:28px}
.mobile-menu-panel .mobile-nav{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.mobile-menu-panel .mobile-nav a{color:#fff;text-decoration:none;padding:12px 16px;border-radius:8px;background:transparent;font-weight:600}
.mobile-menu-panel .mobile-nav a:hover{background:rgba(255,255,255,0.04)}

.mobile-auth{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,0.12);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mobile-auth .btn-auth,
.mobile-auth a.btn-auth{
  width:100%;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(255,255,255,0.18);
}
.mobile-auth .signed-label{
  font-size:12px;
  color:#cde9f0;
  font-weight:500;
}

.btn-auth{
  padding:7px 12px;border-radius:6px;border:0;cursor:pointer;font-weight:600;font-size:12px;white-space:nowrap;
}
.btn-auth.login{
  background:transparent;color:var(--accent);border:1px solid var(--accent);transition:all .2s ease
}
.btn-auth.login:hover{
  background:var(--accent-gradient);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,70,78,0.25)
}
.btn-auth.signup{
  background:var(--accent-gradient);color:#fff;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease
}
.btn-auth.signup:hover{
  transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,70,78,0.25);filter:brightness(1.1)
}

.modal{
  position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:flex;justify-content:center;align-items:center;z-index:1000;
}
.modal.hidden{display:none}
.modal-content{
  background:var(--card);padding:32px;border-radius:12px;width:90%;max-width:400px;box-shadow:0 20px 40px rgba(0,0,0,0.1);
  position:relative;
}
.modal-close{
  position:absolute;top:12px;right:12px;border:0;font-size:24px;cursor:pointer;background:none;
}
.parent-booking-modal .modal-content{
  max-width:420px;
  padding:18px 20px 20px;
  border-radius:16px;
  background:#0f1720;
  color:#e2e8f0;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 24px 48px rgba(2,6,23,0.55);
}
.parent-booking-modal-title{
  margin:0 0 12px;
  font-size:20px;
  color:#67B3C2;
  text-align:center;
  width:100%;
}
.parent-booking-modal .modal-close{
  color:#e2e8f0;
}
.parent-booking-message{
  margin:0 0 16px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  color:#e2e8f0;
  font-size:14px;
  line-height:1.5;
}
.parent-booking-text-line{
  display:inline;
}
.parent-booking-caregiver{
  display:inline-flex;
  align-items:center;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
  color:#67B3C2;
  text-decoration:none;
  font-weight:400;
  font-size:inherit;
}
.parent-booking-caregiver:hover{
  text-decoration:underline;
}
.parent-booking-caregiver[aria-disabled="true"]{
  pointer-events:none;
  opacity:0.6;
}
.parent-booking-highlight{
  font-weight:400;
  color:#67B3C2;
}
.parent-booking-message-tail{
  display:inline;
  margin-top:0;
  font-size:inherit;
  color:#e2e8f0;
}
.parent-booking-notes{
  display:grid;
  gap:6px;
  margin-bottom:12px;
}
.parent-booking-notes-toggle{
  background:transparent;
  border:none;
  color:#cbd5f5;
  padding:0;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  text-align:left;
}
.parent-booking-notes-field{
  display:grid;
  gap:6px;
  margin-top:6px;
}
.parent-booking-notes-field.is-hidden{
  display:none;
}
.parent-booking-notes label{
  font-size:12px;
  font-weight:700;
  color:#94a3b8;
}
.parent-booking-notes textarea{
  border:1px solid rgba(148,163,184,0.3);
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  background:rgba(15,23,42,0.4);
  color:#e2e8f0;
  resize:vertical;
  min-height:72px;
}
.parent-booking-notes textarea:focus{
  outline:none;
  border-color:#67B3C2;
  box-shadow:0 0 0 3px rgba(103,179,194,0.25);
  background:rgba(15,23,42,0.6);
}
.parent-booking-warning{
  display:none;
  background:rgba(251,146,60,0.08);
  border:1px solid rgba(251,146,60,0.4);
  color:#fdba74;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.4;
  margin-bottom:12px;
}
.parent-booking-warning.is-visible{
  display:block;
}
.parent-booking-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.parent-booking-btn{
  padding:8px 16px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(148,163,184,0.3);
  background:rgba(15,23,42,0.5);
  color:#e2e8f0;
  cursor:pointer;
}
.parent-booking-btn.ghost{
  background:transparent;
  border:none;
  color:#94a3b8;
  padding:0;
}
.parent-booking-btn.primary{
  background:#67B3C2;
  color:#0b1f26;
  border:none;
}
@media (max-width: 520px){
  .parent-booking-actions{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .parent-booking-actions .parent-booking-btn{
    flex:1;
    text-align:center;
  }
  .parent-booking-btn.ghost{
    padding:8px 16px;
  }
}

.login-modal .modal-content{
  max-width:360px;
  padding:28px 26px 24px;
  border-radius:18px;
  background:#ffffff;
}
.login-modal .modal-content h2{
  margin:0;
  font-size:20px;
  color:#111;
}
.login-modal-subtitle{
  margin:6px 0 18px;
  color:#6b7280;
  font-size:12px;
  font-weight:500;
}
.login-modal-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.login-modal-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  font-weight:600;
  color:#6b7280;
}
.login-modal-form input{
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#f3f4f6;
  font-size:14px;
}
.login-modal-form input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(6,70,78,0.12);
  background:#ffffff;
}
.btn.btn-login-primary{
  width:100%;
  margin-top:6px;
  padding:12px 16px;
  border-radius:10px;
}
.btn.btn-login-link{
  margin-top:12px;
  width:100%;
  background:transparent;
  color:var(--accent);
  border:0;
  font-weight:600;
  text-decoration:underline;
  box-shadow:none;
}
.btn.btn-login-link:hover{
  transform:none;
  box-shadow:none;
  filter:none;
  color:var(--accent-strong);
}

.form-divider {
  margin: 20px 0;
  text-align: center;
  color: #999;
  font-size: 14px;
  position: relative;
}

.form-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #ddd;
  z-index: 0;
}

.form-divider {
  position: relative;
  z-index: 1;
  background: var(--card);
  padding: 0 8px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.social-login {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
}

.btn-social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  color: #333;
  font-weight: 500;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  width: 100%;
}

.btn-social:hover {
  border-color: #999;
  background: #f9f9f9;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.btn-social img {
  width: 18px;
  height: 18px;
}

/* Welcome Modal */
.welcome-modal{
  display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:1000;
}
.welcome-modal-content{
  background:var(--card);padding:40px;border-radius:12px;width:90%;max-width:500px;box-shadow:0 20px 60px rgba(0,0,0,0.3);position:relative;max-height:90vh;overflow-y:auto;
}
.welcome-inner{
  padding:0;
}
.welcome-modal-content .modal-close{
  top:16px;right:16px;font-size:28px;color:#999;
}
.welcome-modal-content .modal-close:hover{
  color:#111;
}
.welcome-modal-content h3{
  margin:0 0 20px;font-size:20px;color:#111;font-weight:600;
}
.welcome-modal-content h2{
  margin:24px 0 12px;font-size:24px;color:#111;
}
.welcome-modal-content p{
  margin:0 0 20px;color:var(--muted);font-size:14px;
}
.welcome-modal-content .btn{
  width:100%;
}
.welcome-modal.hidden{
  display:none;
}

.container{max-width:900px;margin:0 auto;padding:24px}

.hero{
  display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 16px;background:linear-gradient(135deg,#fff 0%,#fff7f7 100%);
}
.hero .lead{color:var(--muted);margin-top:8px}
.actions{margin-top:18px;display:flex;gap:12px;justify-content:center}
.login-prompt{margin-top:24px;text-align:center;border-top:1px solid rgba(255,255,255,0.1);padding-top:16px;}
.login-prompt p{margin:0;color:var(--muted);font-size:14px;display:flex;align-items:center;justify-content:center;gap:12px;}
.login-prompt .btn{padding:10px 20px;font-size:14px;}

.hero-block{
  display:flex;align-items:stretch;margin:0 0 30px;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,0.06);background:#000;
}
.hero-image{
  flex:0 0 50%;min-height:300px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;padding:22px;background:transparent;overflow:hidden;
}
.hero-image img{
  width:55%;
  height:auto;
  max-height:100%;
  object-fit:cover;
  object-position:left center;
  display:block;
  border-radius:10px;
}
.hero-video{
  width:55%;
  height:auto;
  max-height:100%;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.hero-content{
  flex:1;padding:80px 40px;display:flex;align-items:center;justify-content:center;
}
.hero-content h2{
  margin:0;font-size:28px;line-height:1.4;color:#fff;
}

.hero-sub{
  margin-top:12px;color:#d1d5db;max-width:560px;font-size:16px;line-height:1.5;
}
.hero-cta{margin-top:20px}
.btn.learn{background:transparent;border:2px solid #fff;color:#fff;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}
.btn.learn:hover{background:rgba(255,255,255,0.15);transform:translateY(-2px);box-shadow:0 6px 16px rgba(255,255,255,0.2)}

.btn{background:var(--accent-gradient);color:#fff;border:0;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(6,70,78,0.3);filter:brightness(1.1)}
.btn.secondary{background:#f3f4f6;color:var(--accent);border:1px solid #d1d5db;}
.btn.secondary:hover{background:#e5e7eb;filter:none;}
.btn.outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.btn.ghost{background:transparent;border:1px solid #ddd;color:var(--muted)}

.panel{background:var(--card);padding:20px;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,0.06);margin-top:24px}
.hidden{display:none}

form{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;font-size:14px;color:var(--muted)}
input,textarea{padding:10px;border-radius:8px;border:1px solid #e5e7eb;margin-top:6px}
.form-actions{display:flex;gap:8px;margin-top:8px}

#results .card{padding:12px;border-radius:8px;border:1px solid #eee;margin-top:12px}

/* Footer */
.footer{
  background:#1a1a1a;color:#d1d5db;padding:48px 24px 24px;margin-top:60px;
}
.footer-content{
  max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-bottom:32px;
}
.footer-section h3{
  color:#fff;font-size:16px;margin:0 0 16px;font-weight:600;
}
.footer-section ul{
  list-style:none;padding:0;margin:0;
}
.footer-section ul li{
  margin-bottom:10px;
}
.footer-section a{
  color:#d1d5db;text-decoration:none;font-size:14px;transition:color .2s ease;
}
.footer-section a:hover{
  color:#fff;
}
#contactForm{
  display:flex;flex-direction:column;gap:10px;
}
#contactForm input,#contactForm textarea{
  padding:10px;border-radius:6px;border:1px solid #444;background:#2a2a2a;color:#fff;font-family:inherit;
}
#contactForm input:focus,#contactForm textarea:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,70,78,0.1);
}
#contactForm button{
  align-self:flex-start;
}
.social-links{
  display:flex;gap:12px;
}
.social-links a{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(103,179,194,0.2);color:#67B3C2;font-weight:600;transition:all .2s ease;
}
.social-links a:hover{
  background:var(--accent-gradient);color:#fff;transform:translateY(-3px);
}
.footer-bottom{
  max-width:900px;margin:0 auto;border-top:1px solid #444;padding-top:20px;text-align:center;font-size:14px;color:#9ca3af;display:flex;flex-direction:column;align-items:center;gap:12px;
}
.footer-links{
  display:flex;gap:24px;
}
.footer-links a{
  color:#d1d5db;text-decoration:none;font-size:13px;transition:color .2s ease;
}
.footer-links a:hover{
  color:#fff;
}

body.landing .footer{
  background:linear-gradient(180deg,#f5f9fb 0%,#eef5f8 100%);
  color:var(--landing-ink);
  border-top:1px solid rgba(6,70,78,0.12);
}
body.landing .footer-content{
  max-width:1100px;
}
body.landing .footer-section{
  background:#ffffff;
  border:1px solid rgba(6,70,78,0.12);
  border-radius:16px;
  padding:18px 18px 20px;
  box-shadow:0 12px 30px rgba(6,70,78,0.08);
}
body.landing .footer-section h3{
  color:var(--landing-ink);
  font-family:'Space Grotesk',sans-serif;
}
body.landing .footer-section a{
  color:#3f4b52;
}
body.landing .footer-section a:hover{
  color:var(--landing-accent);
}
body.landing #contactForm input,
body.landing #contactForm textarea{
  background:#ffffff;
  border:1px solid #d8e1e6;
  color:var(--landing-ink);
}
body.landing #contactForm button{
  align-self:stretch;
}
body.landing .social-links a{
  background:rgba(6,70,78,0.1);
  color:var(--landing-accent);
}
body.landing .footer-bottom{
  border-top:1px solid rgba(6,70,78,0.12);
  color:#5b6870;
}
body.landing .footer-links a{
  color:#5b6870;
}
body.landing .footer-links a:hover{
  color:var(--landing-accent-strong);
}

/* Benefits Section */
.benefits-block{
  display:flex;align-items:center;gap:40px;margin:60px auto;padding:40px 24px;max-width:1100px;
}
.benefits-content{
  flex:1;
}
.benefits-content h2{
  font-size:32px;margin:0 0 32px;color:#111;line-height:1.3;
}
.benefits-points{
  display:grid;grid-template-columns:1fr;gap:24px;
}
.benefit-item{
  padding:20px;border-radius:10px;background:#f9fafb;border-left:4px solid var(--accent-gradient);
}
.benefit-icon{
  display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;background:none;color:#06464E;border-radius:0;font-weight:bold;margin-bottom:12px;font-size:32px;
}
.benefit-item h3{
  margin:0 0 8px;font-size:16px;color:#111;
}
.benefit-item p{
  margin:0;color:var(--muted);font-size:14px;line-height:1.5;
}
.benefits-image{
  flex:0 0 40%;min-height:300px;
}
.benefits-image img{
  width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

/* How It Works Section */
.how-it-works{
  background:#f9fafb;padding:60px 24px;margin:40px 0;
}
.how-container{
  max-width:1000px;margin:0 auto;
}
.how-it-works h2{
  text-align:center;font-size:32px;margin:0 0 40px;color:#111;
}
.care-process-container{
  max-width:1100px;
}
.care-process-header{
  text-align:center;
  margin-bottom:28px;
}
.care-process-header p{
  margin:12px auto 0;
  max-width:720px;
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
}
.care-process-grid{
  display:grid;
  gap:18px;
}
.care-process-row{
  display:grid;
  grid-template-columns:64px repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:stretch;
}
.care-step-num{
  width:54px;
  height:54px;
  border-radius:999px;
  background:linear-gradient(135deg, #67B3C2 0%, #06464E 100%);
  color:#fff;
  font-weight:700;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:10px;
}
.care-process-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:18px 20px;
  box-shadow:0 10px 26px rgba(15,23,42,0.06);
}
.care-process-card h3{
  margin:6px 0 8px;
  font-size:18px;
  color:#0f172a;
}
.care-process-card p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
  font-size:14px;
}
.care-process-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#0f172a;
}
.care-process-card--parent{
  background:linear-gradient(135deg, rgba(103,179,194,0.08), rgba(255,255,255,0.95));
}
.care-process-card--caregiver{
  background:linear-gradient(135deg, rgba(6,70,78,0.06), rgba(255,255,255,0.95));
}
.care-process-foot{
  display:flex;
  justify-content:center;
  margin-top:18px;
}
.care-process-pill{
  background:#fff;
  border:1px dashed rgba(6,70,78,0.25);
  color:#06464E;
  padding:10px 16px;
  border-radius:999px;
  font-weight:600;
  font-size:13px;
  text-align:center;
}
.tabs{
  display:flex;gap:0;justify-content:center;margin-bottom:40px;flex-wrap:wrap;background:#f0f0f0;border-radius:12px;padding:4px;width:fit-content;margin-left:auto;margin-right:auto;position:relative;
}
.tab-btn{
  padding:12px 32px;border:none;background:transparent;color:var(--muted);border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease;position:relative;z-index:1;
}
.tab-btn.active{
  background:#fff;color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.tab-btn:hover:not(.active){
  color:var(--accent);
}
.tab-content{
  position:relative;
}
.tab-panel{
  display:none;opacity:0;transition:opacity .3s ease;
}
.tab-panel.active{
  display:block;opacity:1;
}
.steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:32px;
}
.step{
  background:#fff;padding:28px;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.06);text-align:center;transition:transform .2s ease,box-shadow .2s ease;
}
.step:hover{
  transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,0.1);
}
.step-number{
  display:inline-flex;align-items:center;justify-content:center;color:var(--accent);font-weight:bold;font-size:24px;margin-bottom:16px;
}
.step h3{
  margin:0 0 12px;font-size:18px;color:#111;
}
.step p{
  margin:0;color:var(--muted);font-size:14px;line-height:1.6;
}

/* Mission Section */
.mission-section{
  padding:60px 24px;background:#fff;margin:40px 0;
}
.mission-container{
  max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:40px;
}
.mission-layout{
  flex:1;
}
.mission-section h2{
  text-align:center;font-size:32px;margin:0 0 16px;color:#111;
}
.mission-intro{
  text-align:center;font-size:16px;color:var(--muted);margin:0 auto 40px;max-width:600px;line-height:1.6;
}
.mission-intro strong{
  color:var(--accent);font-weight:700;
}
.mission-carousel{
  margin-top:32px;
}
.carousel-titles{
  display:flex;gap:16px;justify-content:center;margin-bottom:32px;flex-wrap:wrap;
}
.carousel-title-btn{
  padding:12px 20px;border:none;background:#fff;color:var(--muted);border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;transition:all .3s ease;
}
.carousel-title-btn.active{
  background:var(--accent-gradient);color:#fff;
}
.carousel-title-btn:hover{
  background:var(--accent-gradient);color:#fff;
}
.carousel-slides{
  position:relative;overflow:visible;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;min-height:auto;
}
.mission-card{
  padding:28px;background:#fff;border-radius:12px;border:2px solid #e5e7eb;opacity:1;transform:none;transition:all .3s ease;pointer-events:auto;position:static;width:100%;cursor:pointer;
}
.mission-card.active{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,70,78,0.1);
}
.carousel-dots{
  display:flex;gap:10px;justify-content:center;margin-top:24px;
}
.dot{
  width:10px;height:10px;border:none;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .3s ease;padding:0;
}
.dot.active{
  background:var(--accent);width:28px;border-radius:5px;
}
.mission-card h3{
  margin:0 0 16px;font-size:18px;color:#111;
}
.mission-card p{
  margin:0;color:var(--muted);font-size:14px;line-height:1.6;
}
.values-list{
  list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;
}
.values-list li{
  font-size:14px;color:var(--muted);line-height:1.5;
}
.values-list strong{
  color:#111;font-weight:600;
}
.mission-image{
  flex:0 0 12%;min-height:100px;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.12);
}
.mission-image img{
  width:100%;height:100%;object-fit:cover;
}

/* Signup Section */
.signup-section{
  background:var(--accent-gradient);padding:60px 24px;margin:40px 0 0;
}
.signup-container{
  max-width:600px;margin:0 auto;background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.15);
}
.signup-section h2{
  text-align:center;margin:0 0 8px;font-size:28px;color:#111;
}
.signup-section > p{
  text-align:center;color:var(--muted);margin:0 0 32px;font-size:14px;
}
.signup-form{
  display:flex;flex-direction:column;gap:20px;
}
.form-row{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;
}
.form-row label{
  display:flex;flex-direction:column;font-weight:600;font-size:14px;color:#111;width:100%;
}
.form-row input,
.form-row select{
  margin-top:8px;padding:10px;border:1px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:14px;width:100%;
}
.form-row input:focus,
.form-row select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,70,78,0.1);
}
.form-fieldset{
  border:none;padding:0;margin:0;
}
.form-fieldset legend{
  font-weight:600;font-size:14px;color:#111;margin-bottom:12px;display:block;
}
.checkbox-group{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
}

.phone-input-group{
  display:flex;gap:8px;
}
.country-code-select{
  flex:0 0 60px;width:60px;padding:10px 6px;border:1px solid #d1d5db;border-radius:8px;font-size:12px;background:#fff;cursor:pointer;
}
.country-code-select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,70,78,0.1);
}
.phone-input-group input{
  flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;
}
.phone-input-group input:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,70,78,0.1);
}
.checkbox-label{
  display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:14px;color:#111;
}
.checkbox-label input[type="checkbox"]{
  cursor:pointer;width:16px;height:16px;accent-color:var(--accent);
}
.btn-large{
  padding:12px 24px;font-size:16px;margin-top:12px;width:100%;
}

.form-divider{
  text-align:center;margin:16px 0;color:#9ca3af;font-size:14px;font-weight:500;
}

.hero-login-form{
  margin-top:16px;display:flex;flex-direction:column;gap:12px;
}
.login-form-title{
  margin:0 0 12px;font-size:18px;font-weight:600;color:#111;
}
.hero-login-form label{
  display:flex;flex-direction:column;gap:6px;color:#111;font-weight:500;font-size:14px;
}
.hero-login-form input{
  padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;
}
.hero-login-form input:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,70,78,0.1);
}

@media (max-width:768px){
  .hero-login-form input,
  .modal-content input{
    font-size:16px;
  }
}

/* App Section */
.app-section{
  background:#f7f7f7;padding:40px 24px;margin:40px 0;text-align:center;
}
.app-container{
  max-width:900px;margin:0 auto;
}
.app-section h2{
  font-size:28px;margin:0 0 8px;color:#111;
}
.app-subtitle{
  font-size:16px;color:var(--accent);font-weight:700;margin:0 0 32px;
}
.app-showcase{
  display:flex;justify-content:center;margin-bottom:32px;
}
.iphone-mockup{
  width:220px;height:460px;background:#000;border-radius:45px;padding:10px;box-shadow:0 15px 40px rgba(0,0,0,0.25);position:relative;flex-shrink:0;
}
.iphone-notch{
  position:absolute;top:0;left:50%;transform:translateX(-50%);width:120px;height:24px;background:#000;border-radius:0 0 25px 25px;z-index:10;
}
.iphone-screen{
  width:100%;height:100%;background:linear-gradient(135deg,#67B3C2 0%,#06464E 100%);border-radius:40px;overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.app-display{
  text-align:center;color:#fff;padding:30px 15px;
}
.app-logo{
  width:60px;height:60px;margin-bottom:12px;border-radius:15px;background:#fff;padding:8px;object-fit:contain;
}
.app-display h3{
  font-size:20px;margin:0 0 6px;
}
.app-display p{
  font-size:12px;margin:0;opacity:0.9;
}
.coming-soon-text{
  margin-top:12px;font-size:11px;font-weight:600;opacity:1;
}
.iphone-home{
  position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:100px;height:4px;background:#fff;border-radius:2px;
}
.app-features{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.feature-item{
  text-align:left;
}
.feature-item h4{
  font-size:16px;font-weight:700;color:var(--accent);margin:0 0 6px;
}
.feature-item p{
  font-size:13px;color:var(--muted);margin:0;line-height:1.4;
}
.app-howto{
  margin-top:32px;
  text-align:left;
  background:var(--card);
  border-radius:16px;
  padding:24px;
  box-shadow:0 10px 28px rgba(6,70,78,0.08);
}
.app-howto h4{
  margin:0 0 6px;
  font-size:18px;
  color:#111;
}
.app-howto-intro{
  margin:0 0 16px;
  color:#4b5563;
  font-size:14px;
}
.app-howto-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.app-howto-card{
  background:#f8fbfc;
  border:1px solid #dfe3e6;
  border-radius:12px;
  padding:14px 16px;
}
.app-howto-card h5{
  margin:0 0 8px;
  font-size:14px;
  color:var(--accent);
}
.app-howto-card ol{
  margin:0;
  padding-left:18px;
  color:#4b5563;
  font-size:13px;
  display:grid;
  gap:6px;
}
.app-howto-note{
  margin:16px 0 0;
  font-size:13px;
  color:var(--accent);
  font-weight:600;
}

.plan-chooser{
  background:#f5f8f9;
  padding:48px 24px;
  margin:40px auto;
}
.plan-chooser__head{
  max-width:720px;
  margin:0 auto 24px;
  text-align:center;
}
.plan-chooser .eyebrow{
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:700;
  color:var(--accent);
  margin:0 0 4px;
  font-size:12px;
}
.plan-chooser h2{
  margin:0;
  font-size:32px;
  color:#0a2430;
}
.plan-chooser__subtitle{
  margin:12px 0 0;
  color:#4a5a63;
  font-size:16px;
}
.plan-chooser__controls{
  background:#fff;
  border:1px solid #e1e7ea;
  border-radius:12px;
  padding:16px;
  max-width:720px;
  margin:24px auto;
  box-shadow:0 8px 20px rgba(6,70,78,0.06);
}
.plan-chooser__label-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
  font-weight:600;
  color:#0f2a33;
}
.plan-chooser__value{
  background:#ecf6f8;
  color:var(--accent);
  padding:4px 10px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
}
.plan-chooser__range input[type=range]{
  width:100%;
  margin:8px 0 0;
}
.plan-chooser__range-labels{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:#70838d;
}
.plan-chooser__helper{
  font-size:13px;
  color:#5f7078;
  margin-top:8px;
}
.plan-chooser__pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.plan-chooser__pills button{
  border:1px solid #d5e3e7;
  background:#f9fbfc;
  color:#0f2a33;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  transition:all .2s ease;
  font-weight:600;
}
.plan-chooser__pills button:hover,
.plan-chooser__pills button.active{
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  color:#fff;
  border-color:#06464E;
}
.plan-chooser__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  max-width:960px;
  margin:0 auto;
}
.plan-chooser__alternatives{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}
.plan-card{
  background:#fff;
  border:1px solid #e1e7ea;
  border-radius:12px;
  padding:20px;
  box-shadow:0 10px 24px rgba(6,70,78,0.06);
  position:relative;
}
.plan-card--primary{
  border-width:2px;
  border-color:#06464E;
  box-shadow:0 14px 32px rgba(6,70,78,0.12);
}
.plan-card__badge{
  display:inline-block;
  background:#ecf6f8;
  color:var(--accent);
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  margin-bottom:10px;
}
.plan-card__name{
  margin:0 0 4px;
  color:#0f2a33;
}
.plan-card__price{
  margin:0 0 6px;
  font-weight:700;
  color:#06464E;
  font-size:18px;
}
.plan-card__savings{
  margin:0 0 8px;
  color:#2f6f52;
  font-weight:600;
}
.plan-card__copy{
  margin:0 0 12px;
  color:#4a5a63;
  line-height:1.5;
}
.plan-card__cta{
  display:inline-block;
  margin-top:6px;
  padding:12px 18px;
}
.plan-card__link{
  color:#06464E;
  font-weight:700;
  text-decoration:none;
}
.plan-card__link:hover{
  text-decoration:underline;
}
.plan-chooser__accordion{
  max-width:720px;
  margin:20px auto 0;
  background:#fff;
  border:1px solid #e1e7ea;
  border-radius:10px;
  padding:12px 16px;
  color:#0f2a33;
}
.plan-chooser__accordion summary{
  cursor:pointer;
  font-weight:700;
  outline:none;
}
.plan-chooser__accordion p{
  margin:10px 0 0;
  color:#4a5a63;
  line-height:1.5;
}
.plan-anchor{
  position:relative;
  top:-80px;
  height:0;
}

/* Support Section */
.support-section{
  background:var(--accent-gradient);padding:60px 24px;text-align:center;color:#fff;
}
.support-container{
  max-width:600px;margin:0 auto;
}
.support-section h2{
  font-size:32px;margin:0 0 16px;color:#fff;
}
.support-section p{
  font-size:16px;margin:0 0 32px;opacity:0.95;
}
.donate-btn{
  padding:14px 32px;font-size:16px;background:#fff;color:var(--accent);border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;
}
.donate-btn:hover{
  transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.2);
}

/* At-Home Learning Section */
.home-learning-section{
  background:#000;padding:0;margin:0 0 30px;text-align:left;color:#fff;
}
.home-learning-container{
  max-width:none;margin:0;display:flex;align-items:stretch;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,0.06);
}
.home-learning-content{
  flex:1;padding:80px 40px;display:flex;flex-direction:column;justify-content:center;text-align:left;
}
.home-learning-section h2{
  font-size:28px;margin:0 0 20px;color:#fff;line-height:1.4;
}
.home-learning-intro{
  font-size:16px;line-height:1.6;color:#d1d5db;margin:0 0 28px;
}
.home-learning-section .btn{
  background:var(--accent-gradient);color:#fff;border:none;width:fit-content;
}
.home-learning-section .btn:hover{
  transform:translateY(-2px);box-shadow:0 8px 20px #06464e4d;filter:brightness(1.1);
}

/* Computer Mockup */
.learning-display{
  flex:0 0 50%;min-height:300px;display:flex;justify-content:center;align-items:center;padding:22px;background:transparent;overflow:hidden;
}
.computer-mockup{
  width:55%;max-width:none;
}
.computer-screen{
  background:linear-gradient(135deg,#67B3C2 0%,rgb(6, 70, 78) 100%);border:8px solid #333;border-radius:12px;padding:30px;min-height:280px;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 40px rgba(0,0,0,0.3);
}
.screen-content{
  text-align:center;color:#fff;
}
.screen-content h3{
  margin:0 0 12px;font-size:20px;color:#fff;
}
.screen-content p{
  margin:0;font-size:14px;color:#e0e7ff;
}
.computer-base{
  background:#333;height:20px;border-radius:0 0 8px 8px;margin-top:2px;position:relative;
}
.computer-base::after{
  content:'';position:absolute;width:60%;height:8px;background:#555;bottom:-8px;left:20%;border-radius:4px;
}

#signupResult{
  margin-top:12px;text-align:center;
}

@media (max-width:719px){
  .signup-container{
    padding:20px 12px;
  }
  .signup-section{
    padding:40px 12px;
  }
  .signup-form{
    gap:12px;
  }
  .form-row{
    gap:12px;
  }
  .form-row label{
    font-size:13px;
  }
  .form-row input,
  .form-row select{
    margin-top:6px;padding:7px;font-size:13px;
  }
  .form-fieldset legend{
    font-size:13px;margin-bottom:8px;
  }
  .checkbox-label{
    font-size:13px;
  }
  .benefits-block{
    flex-direction:column;gap:24px;margin:40px auto;padding:20px 16px;
  }
  .benefits-content h2{
    font-size:24px;
  }
  .benefits-image{
    flex:1;min-height:250px;width:100%;
  }
  .how-it-works{
    padding:40px 16px;margin:20px 0;
  }
  .care-process-row{
    grid-template-columns:1fr;
  }
  .care-step-num{
    margin:0 auto;
  }
  .plan-chooser{
    padding:32px 12px;
  }
  .plan-chooser h2{
    font-size:26px;
  }
  .plan-chooser__controls{
    padding:14px;
  }
  .plan-chooser__grid{
    grid-template-columns:1fr;
  }
  .plan-chooser__alternatives{
    grid-template-columns:1fr;
  }
  .how-it-works h2{
    font-size:24px;margin-bottom:24px;
  }
  .steps{
    grid-template-columns:1fr;gap:20px;
  }
  .mission-section{
    padding:40px 16px;margin:20px 0;
  }
  .mission-section h2{
    font-size:24px;margin-bottom:12px;
  }
  .mission-container{
    flex-direction:column;gap:24px;
  }
  .mission-layout{
    flex:1;width:100%;
  }
  .mission-image{
    flex:1;min-height:250px;width:100%;
  }
  .mission-cards{
    grid-template-columns:1fr;gap:20px;
  }
  .signup-section{
    padding:40px 16px;
  }
  .signup-container{
    padding:24px;
  }
  .signup-section h2{
    font-size:22px;
  }
  .form-row{
    grid-template-columns:repeat(2,1fr);
  }
  .checkbox-group{
    grid-template-columns:repeat(2,1fr);
  }
  .footer-content{
    grid-template-columns:1fr;gap:24px;
  }
  .footer{
    padding:32px 16px 16px;
  }
}

@media (min-width:720px){
  .nav-container{
    max-width:100%;
    padding:12px 40px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:24px;
  }
  .hero{padding:96px 16px}
  .actions .btn{padding:12px 20px}
  .nav-links{display:flex}
  .nav-links{justify-self:center}
  .nav-auth{justify-self:end}
  .logo{justify-self:start}
  .mobile-menu{display:none}
  .logo{gap:2px;padding-right:16px;border-right:1px solid #e5e7eb}
  .provider-dashboard .nav-container{display:grid}
}

/* Show mobile menu button and hide desktop auth on small screens */
@media (max-width:719px){
  .nav-auth{display:flex;gap:8px;align-items:center}
  .nav-auth .btn-auth{padding:6px 8px;font-size:13px;border-radius:6px}
  .mobile-menu{display:inline-flex;align-items:center}
}

/* Mobile-specific adjustments for the hero image block */
@media (max-width:719px){
  .hero-block{flex-direction:column;margin:20px 0;border-radius:10px;border-top:6px solid #000}
  .hero-image{flex:0 0 auto;padding:16px;width:100%;min-height:200px}
  .hero-image img{width:80%;max-width:360px;height:auto;object-fit:cover;object-position:left center;margin:0 auto;border-radius:8px}
  .hero-video{width:80%;max-width:360px;height:auto;object-fit:cover;margin:0 auto;border-radius:8px}
  .hero-content{padding:24px;justify-content:flex-start;text-align:center}
  .hero-content h2{font-size:22px}
  .hero-sub{font-size:15px;max-width:100%}
  .hero-cta{margin-top:16px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .btn.learn{flex:1;min-width:120px;padding:10px 12px}
  .btn.btn-primary{flex:1;min-width:120px;padding:10px 12px}
  .carousel-titles{flex-wrap:nowrap;gap:8px;overflow-x:auto;}
  .carousel-title-btn{padding:10px 12px;font-size:12px;white-space:nowrap;}
  .carousel-slides{grid-template-columns:1fr;overflow:hidden;position:relative;min-height:300px;}
  .mission-card{opacity:0;transform:translateY(30px);transition:all .4s ease;pointer-events:none;position:absolute;width:100%;}
  .mission-card.active{opacity:1;transform:translateY(0);pointer-events:auto;position:relative;}
  .landing-auth{left:16px;right:16px;top:14px;justify-content:center;}
  .landing-pill{flex:1;}
  .landing-hero{padding:120px 18px 80px;}
  .landing-copy h1{font-size:32px;}
  .landing-sub{font-size:15px;}
  .landing-cta{width:100%;}
  .landing-scroll-hint{
    flex-direction:column;
    align-items:center;
    gap:6px;
    letter-spacing:0.12em;
  }
  .scroll-hint-dots{display:none;}
  .scroll-hint-arrows{display:inline-block;}
  .landing-note{text-align:center;}
  .phone-shell{width:220px;height:460px;}
  .landing-scroll{bottom:16px;}
  .glance-section{padding:50px 18px;}
  .glance-copy h2{font-size:24px;text-align:center;}
  .glance-copy p{text-align:center;margin:0 auto;}
  .glance-panel{padding:16px;}
  .glance-input-row{flex-wrap:wrap;}
  .glance-submit{width:100%;}
  .glance-provider-btn{width:100%;}
  .app-section{padding:30px 16px;}
  .chat-embed{display:none;}
  .app-section h2{font-size:22px;}
  .app-subtitle{font-size:14px;margin-bottom:24px;}
  .app-showcase{margin-bottom:24px;}
  .iphone-mockup{width:180px;height:380px;}
  .app-features{grid-template-columns:1fr;gap:16px;}
  .feature-item h4{font-size:14px;margin-bottom:4px;}
  .feature-item p{font-size:12px;}
  .app-howto{padding:18px;}
  .app-howto h4{font-size:16px;}
  .app-howto-card ol{font-size:12px;}
  .support-section{padding:40px 16px;}
  .support-section h2{font-size:24px;}
  .support-section p{font-size:14px;}
  .home-learning-section{padding:0;margin:20px 0;border-radius:10px}
  .home-learning-container{flex-direction:column;margin:20px 0}
  .home-learning-content{padding:24px;justify-content:flex-start;text-align:center;}
  .home-learning-section h2{font-size:22px}
  .home-learning-intro{font-size:15px;max-width:100%}
  .home-learning-section .btn{width:100%}
  .learning-display{flex:0 0 auto;padding:16px;width:100%;min-height:auto;background:#000;display:flex;justify-content:center;}
  .computer-mockup{width:70%;max-width:220px;}
  .computer-screen{padding:15px;min-height:150px;}
  .screen-content h3{font-size:14px;}
}

.provider-shell{
  max-width:1200px;
  margin:32px auto 64px;
  padding:24px;
  display:grid;
  grid-template-columns:minmax(220px,260px) 1fr;
  gap:24px;
  background:linear-gradient(135deg,#0f1720 0%,#141c27 100%);
  border-radius:24px;
  box-shadow:0 24px 60px rgba(15,23,32,0.25);
  color:#e5e7eb;
}
.provider-sidebar{
  background:rgba(17,24,39,0.8);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:20px;
  min-height:640px;
}
.provider-sidebar-header{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.provider-sidebar-eyebrow{
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:10px;
  color:#9ca3af;
}
.provider-sidebar-title{
  font-weight:700;
  font-size:18px;
  color:#fff;
}
.provider-sidebar-name{
  font-size:12px;
  color:#b6c1ce;
}
.parent-dashboard .provider-sidebar-name{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.provider-account-pill.provider-card-pill{
  font-size:10px;
  padding:4px 8px;
  letter-spacing:0.04em;
  background:transparent;
  border:1px solid rgba(103,179,194,0.5);
  color:#cfe9ef;
}
.provider-nav{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.provider-nav-item{
  background:transparent;
  border:1px solid transparent;
  color:#cbd5e1;
  padding:10px 12px;
  border-radius:10px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  position:relative;
  transition:background .2s ease,color .2s ease,border .2s ease,transform .2s ease;
}
.provider-nav-item .nav-icon{
  display:none;
  width:18px;
  height:18px;
}
.provider-nav-item .nav-label{
  display:inline;
}
.provider-nav-badge{
  position:absolute;
  top:8px;
  right:12px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ef4444;
  display:none;
}
.provider-top-profile-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  padding:0;
  border-radius:999px;
  border:1px solid rgba(6,70,78,0.2);
  background:#fff;
  color:#06464E;
  box-shadow:0 6px 14px rgba(6,70,78,0.12);
}
.provider-top-profile-btn img{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  display:none;
}
.provider-top-profile-btn.has-photo img{
  display:block;
}
.provider-top-profile-btn.has-photo svg{
  display:none;
}
.provider-top-profile-btn svg{
  display:block;
}
.provider-nav-icon-btn{
  display:none;
  align-items:center;
  justify-content:center;
  padding:0;
}
.provider-nav-icon-btn svg{
  display:block;
}
.provider-nav-item:hover{
  background:rgba(6,70,78,0.25);
  color:#fff;
}
.provider-nav-item.is-active{
  background:transparent;
  border-color:transparent;
  color:#67B3C2;
  box-shadow:none;
}
.provider-nav-item:focus-visible{
  outline:2px solid #67B3C2;
  outline-offset:2px;
}
.provider-sidebar-footer{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.provider-sidebar-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.provider-upgrade-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  position:relative;
}
.provider-upgrade-close{
  position:absolute;
  top:6px;
  right:6px;
  width:24px;
  height:24px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);
  color:#e2e8f0;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.provider-upgrade-close:hover{
  background:rgba(255,255,255,0.12);
}
.provider-upgrade-title{
  font-size:13px;
  font-weight:700;
  color:#fff;
}
.provider-upgrade-copy{
  font-size:12px;
  color:#cbd5e1;
  margin:0;
  line-height:1.4;
}
.provider-upgrade-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  background:#67B3C2;
  color:#0b1f26;
  border-radius:8px;
  text-decoration:none;
  font-weight:700;
  font-size:12px;
}
.provider-upgrade-btn:hover{
  filter:brightness(1.05);
}
.provider-logout{
  background:transparent;
  border:1px solid rgba(255,255,255,0.2);
  color:#fca5a5;
  padding:10px 12px;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
}
.provider-logout:hover{
  background:rgba(248,113,113,0.12);
}
.provider-curriculum-btn{
  display:none;
  background:rgba(103,179,194,0.18);
  border:1px solid rgba(103,179,194,0.45);
  color:#cfe9ef;
  padding:10px 12px;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
}
.provider-curriculum-btn:hover{
  background:rgba(103,179,194,0.3);
}
.provider-content{
  background:rgba(17,24,39,0.7);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:20px;
  min-height:640px;
  min-width:0;
}
.provider-content-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:12px;
}
.provider-header-actions{
  display:flex;
  gap:12px;
}
.parent-upgrade-btn{
  padding:6px 12px;
  font-size:12px;
  border-radius:999px;
}
.parent-payment-btn{
  padding:6px 10px;
  font-size:11px;
  border-radius:999px;
}
@media (max-width: 719px){
  footer{
    display:none;
  }
  body::after{
    content:"© 2025 Assured Hearts. All rights reserved.";
    display:block;
    padding:8px 16px calc(16px + env(safe-area-inset-bottom));
    text-align:center;
    font-size:10px;
    color:#94a3b8;
    background:transparent;
  }
  .parent-upgrade-btn{
    padding:8px 14px;
    font-size:12px;
  }
  .parent-payment-btn{
    padding:8px 12px;
    font-size:12px;
  }
}
.provider-header-btn{
  background:rgba(255,255,255,0.1);
  color:#e2e8f0;
  border:1px solid rgba(255,255,255,0.2);
  border-radius:999px;
  padding:8px 16px;
  font-weight:700;
  cursor:pointer;
}
.provider-header-profile-btn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0;
  width:38px;
  height:38px;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  color:#06464E;
  border:1px solid rgba(6,70,78,0.2);
  box-shadow:0 6px 14px rgba(6,70,78,0.12);
}
.provider-header-profile-img{
  width:100%;
  height:100%;
  border-radius:999px;
  object-fit:cover;
  display:none;
}
.provider-header-profile-btn.has-photo .provider-header-profile-img{
  display:block;
}
.provider-header-profile-btn.has-photo svg{
  display:none;
}
.provider-header-profile-btn svg{
  display:block;
}
.provider-header-btn:hover{
  background:rgba(103,179,194,0.25);
  border-color:rgba(103,179,194,0.45);
}
.provider-header-btn-ghost{
  background:transparent;
}
.provider-header-btn--primary{
  background:#67B3C2;
  color:#0b1f26;
  border-color:transparent;
}
.provider-header-btn--primary:hover{
  filter:brightness(1.05);
}
.provider-eyebrow{
  text-transform:uppercase;
  letter-spacing:0.12em;
  font-size:10px;
  color:#9ca3af;
  margin:0 0 6px 0;
}
.provider-title{
  margin:0;
  font-size:28px;
  color:#fff;
}
.provider-subtitle{
  margin:8px 0 0 0;
  color:#cbd5e1;
  font-size:14px;
}
.provider-panels{
  display:block;
  position:relative;
}
.provider-panel{
  display:none;
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
  transform:translateY(8px);
}
.provider-panel.is-active{
  display:block;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
@media (min-width:720px){
  .provider-panel.is-active{
    animation:panelFadeIn .25s ease;
  }
}
@keyframes panelFadeIn{
  from{opacity:0; transform:translateY(8px);}
  to{opacity:1; transform:translateY(0);}
}
.provider-panel-card{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:20px;
  color:#e5e7eb;
}
.provider-panel-card h2{
  margin:0 0 8px 0;
  font-size:20px;
  color:#fff;
}
.resource-library-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.resource-library-tabs{
  display:flex;
  gap:10px;
  background:rgba(15,23,42,0.5);
  border-radius:999px;
  padding:4px;
  border:1px solid rgba(255,255,255,0.08);
}
.resource-tab{
  background:transparent;
  color:#cbd5e1;
  border:none;
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
.resource-tab.is-active{
  background:rgba(103,179,194,0.2);
  color:#e5f6f9;
}
.resource-library-body{
  margin-top:18px;
}
.resource-panel{
  display:none;
}
.resource-panel.is-active{
  display:block;
}
.resource-empty{
  color:#94a3b8;
  font-size:12px;
  padding:12px;
  border:1px dashed rgba(255,255,255,0.12);
  border-radius:12px;
  text-align:center;
}
.resource-soon{
  margin:8px 0 0 0;
  color:#cbd5e1;
  font-size:14px;
}
.resource-age-tabs{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:8px;
  background:rgba(15,23,42,0.5);
  border-radius:999px;
  padding:4px;
  border:1px solid rgba(255,255,255,0.08);
}
.resource-age-tab{
  background:transparent;
  border:1px solid transparent;
  color:#cbd5e1;
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
.resource-age-tab.is-active{
  background:rgba(103,179,194,0.2);
  color:#e5f6f9;
  border-color:rgba(103,179,194,0.45);
}
.resource-age-tab.is-active[data-target="caregiver-age-infants"]{
  background:rgba(245,158,11,0.22);
  border-color:rgba(245,158,11,0.5);
  color:#fff7ed;
}
.resource-age-tab.is-active[data-target="parent-age-infants"]{
  background:rgba(245,158,11,0.22);
  border-color:rgba(245,158,11,0.5);
  color:#fff7ed;
}
.resource-age-tab.is-active[data-target="caregiver-age-early"]{
  background:rgba(16,185,129,0.22);
  border-color:rgba(16,185,129,0.5);
  color:#ecfdf5;
}
.resource-age-tab.is-active[data-target="parent-age-early"]{
  background:rgba(16,185,129,0.22);
  border-color:rgba(16,185,129,0.5);
  color:#ecfdf5;
}
.resource-age-tab.is-active[data-target="caregiver-age-school"]{
  background:rgba(6,182,212,0.22);
  border-color:rgba(6,182,212,0.5);
  color:#ecfeff;
}
.resource-age-tab.is-active[data-target="parent-age-school"]{
  background:rgba(6,182,212,0.22);
  border-color:rgba(6,182,212,0.5);
  color:#ecfeff;
}
@media (min-width: 721px){
  .resource-age-tabs{
    display:inline-flex;
    justify-content:center;
    width:fit-content;
    margin:8px auto 0;
  }
  .resource-grid{
    grid-template-columns:repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  .resource-age-tabs{
    width:100%;
    justify-content:space-between;
    gap:4px;
    margin:8px 0 0;
  }
  .resource-age-tab{
    flex:1;
    font-size:10px;
    padding:4px 6px;
    text-align:center;
  }
  .resource-grid{
    gap:8px;
  }
  .resource-card{
    padding:8px;
    font-size:11px;
    line-height:1.2;
    text-align:center;
    word-break:break-word;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:60px;
  }
}
.resource-age-panel{
  display:none;
  margin-top:12px;
}
.resource-age-panel.is-active{
  display:block;
}
.resource-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.resource-card{
  background:rgba(15,23,32,0.8);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:12px;
  color:#e5e7eb;
  font-weight:600;
  font-size:12px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
  cursor:pointer;
}
.resource-card-thumb{
  width:100%;
  aspect-ratio:3 / 4;
  height:auto;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.06);
}
.resource-card-thumb-wrap{
  position:relative;
  display:block;
  width:100%;
}
.resource-card-play{
  position:absolute;
  top:8px;
  right:8px;
  width:12px;
  height:12px;
  display:block;
}
.resource-card-play::before{
  content:'';
  display:block;
  width:0;
  height:0;
  border-left:12px solid #ffffff;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
}
.resource-card-title{
  font-weight:700;
  font-size:12px;
}
.resource-card-meta{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
}
.resource-modal{
  z-index:1200;
}
.resource-modal-content{
  max-width:860px;
  width:min(90vw, 860px);
  background:rgba(15,23,32,0.98);
  color:#e5e7eb;
  border:1px solid rgba(255,255,255,0.08);
}
.resource-modal-header{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:16px;
}
.resource-back-btn{
  background:rgba(103,179,194,0.2);
  border:1px solid rgba(103,179,194,0.4);
  color:#e5f6f9;
  border-radius:999px;
  padding:6px 12px;
  font-weight:700;
  cursor:pointer;
}
.resource-download-btn{
  margin-left:auto;
  background:#67B3C2;
  color:#032a2f;
  border-radius:999px;
  padding:6px 12px;
  font-weight:700;
  text-decoration:none;
}
.resource-download-btn.is-hidden{
  display:none;
}
.resource-modal-meta{
  margin:4px 0 0 0;
  color:#94a3b8;
  font-size:12px;
}
.resource-modal-body{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
  background:rgba(2,6,23,0.6);
  border-radius:14px;
  padding:12px;
}
.resource-modal-body iframe{
  width:100%;
  height:60vh;
  border:0;
  border-radius:10px;
  background:#fff;
}
.resource-modal-body img{
  max-width:100%;
  height:auto;
  border-radius:10px;
}
.resource-modal-body video{
  width:100%;
  max-height:60vh;
  border-radius:10px;
}
.modal-open{
  overflow:hidden;
}
.provider-families-list{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.family-card{
  border:1px solid rgba(148,163,184,0.16);
  border-radius:14px;
  padding:14px;
  background:rgba(15,23,42,0.55);
  display:grid;
  gap:10px;
}
.family-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.family-card-title{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.family-card-name{
  font-weight:700;
  color:#f8fafc;
}
.family-card-sub{
  font-size:11px;
  color:#94a3b8;
}
.family-card-tag{
  font-size:11px;
  font-weight:700;
  color:#9ed3df;
  background:rgba(103,179,194,0.16);
  border:1px solid rgba(103,179,194,0.4);
  padding:4px 10px;
  border-radius:999px;
  white-space:nowrap;
}
.family-card-toggle{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(148,163,184,0.25);
  color:#e2e8f0;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.family-card-toggle:hover{
  border-color:rgba(103,179,194,0.6);
  color:#ffffff;
}
.family-card-details{
  display:grid;
  gap:6px;
}
.family-detail-row{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:8px;
  font-size:12px;
  color:#e2e8f0;
}
.family-detail-label{
  color:#94a3b8;
  font-weight:600;
}
.family-mini-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.16);
  background:rgba(15,23,42,0.55);
}
.family-mini-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.family-mini-avatar{
  width:38px;
  height:38px;
  border-radius:999px;
  background:rgba(148,163,184,0.16);
  color:#e2e8f0;
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
.family-mini-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.family-mini-avatar.has-photo span{
  display:none;
}
.family-mini-name{
  font-weight:700;
  color:#f8fafc;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.family-mini-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.family-mini-btn{
  padding:6px 14px;
  font-size:11px;
}
.family-mini-btn[disabled]{
  opacity:0.5;
  cursor:not-allowed;
}
.family-contact-popover{
  position:fixed;
  z-index:10050;
  background:#0f172a;
  border:1px solid rgba(148,163,184,0.25);
  border-radius:12px;
  padding:12px 14px;
  width:min(260px, 80vw);
  box-shadow:0 18px 40px rgba(2,6,23,0.45);
  display:none;
}
.family-contact-popover.is-visible{
  display:block;
}
.family-contact-title{
  font-size:13px;
  font-weight:700;
  color:#e2e8f0;
  margin-bottom:8px;
}
.family-contact-rows{
  display:grid;
  gap:6px;
}
.family-contact-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:#e2e8f0;
}
.family-contact-label{
  color:#94a3b8;
  font-weight:600;
}
.family-contact-value{
  text-align:right;
  max-width:150px;
  word-break:break-word;
}
.family-message-popover{
  position:fixed;
  z-index:10050;
  background:#0f172a;
  border:1px solid rgba(148,163,184,0.25);
  border-radius:12px;
  padding:10px;
  box-shadow:0 18px 40px rgba(2,6,23,0.45);
  display:none;
}
.family-message-popover.is-visible{
  display:block;
}
.family-message-popover .family-message-btn{
  width:100%;
  justify-content:center;
}
@media (max-width: 600px){
  .family-detail-row{
    grid-template-columns:1fr;
  }
}
.calendar-header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.calendar-controls{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.12);
}
.calendar-today{
  border:0;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(103,179,194,0.15);
  color:#cfe7ee;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.calendar-today:hover{
  background:rgba(103,179,194,0.3);
  color:#fff;
}
.calendar-title{
  font-weight:600;
  font-size:14px;
  color:#e5e7eb;
  min-width:160px;
  text-align:center;
}
.calendar-nav{
  width:28px;
  height:28px;
  border-radius:50%;
  border:0;
  background:transparent;
  color:#e5e7eb;
  cursor:pointer;
}
.calendar-nav:hover{
  background:rgba(103,179,194,0.2);
  color:#67B3C2;
}
.calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  margin:12px 0 8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:#94a3b8;
}
.calendar-weekdays span{
  text-align:left;
}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.calendar-day{
  min-height:72px;
  padding:8px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(15,23,32,0.85);
  color:#e2e8f0;
  text-align:left;
  position:relative;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.calendar-day:hover{
  transform:translateY(-2px);
  border-color:rgba(103,179,194,0.4);
  box-shadow:0 8px 16px rgba(6,70,78,0.2);
}
.calendar-day:disabled{
  cursor:default;
}
.calendar-day:disabled:hover{
  transform:none;
  box-shadow:none;
  border-color:rgba(255,255,255,0.08);
}
.calendar-day.is-muted{
  opacity:0.35;
  cursor:default;
}
.calendar-day.is-muted:hover{
  transform:none;
  box-shadow:none;
  border-color:rgba(255,255,255,0.08);
}
.calendar-day-number{
  font-size:12px;
  font-weight:600;
}
.calendar-day-dot{
  position:absolute;
  bottom:8px;
  left:8px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#67B3C2;
}
.calendar-day-count{
  position:absolute;
  bottom:6px;
  right:8px;
  font-size:11px;
  font-weight:700;
  color:#67B3C2;
}
.calendar-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.6);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:1200;
}
.calendar-modal.hidden{
  display:none;
}
.calendar-modal-card{
  width:min(520px, 100%);
  max-height:68vh;
  background:#0f1720;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:18px;
  padding:20px;
  box-shadow:0 20px 50px rgba(0,0,0,0.4);
  color:#e2e8f0;
  position:relative;
  display:flex;
  flex-direction:column;
}
.calendar-modal-title{
  margin:0 0 14px 0;
  font-size:18px;
  color:#fff;
}
.calendar-modal-close{
  position:absolute;
  top:12px;
  right:12px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.calendar-modal-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  overflow:auto;
  max-height:calc(68vh - 110px);
  padding-right:4px;
}
.calendar-event-card{
  background:rgba(15,23,32,0.85);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.calendar-event-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.calendar-event-profile{
  display:flex;
  align-items:center;
  gap:12px;
}
.calendar-event-avatar{
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(103,179,194,0.2);
  color:#67B3C2;
  font-weight:700;
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.calendar-event-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.calendar-event-title{
  font-weight:700;
  color:#fff;
}
.calendar-event-link{
  color:#ffffff;
  text-decoration:none;
  font-weight:700;
}
.calendar-event-link:hover{
  color:#e0f2fe;
  text-decoration:underline;
}
.calendar-event-time{
  font-size:13px;
  color:#cbd5e1;
}
.calendar-event-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  color:#cbd5e1;
}
.calendar-event-card.is-cancelled{
  opacity:0.55;
  background:rgba(15,23,42,0.35);
  border-color:rgba(148,163,184,0.25);
}
.calendar-event-card.is-cancelled .calendar-event-title,
.calendar-event-card.is-cancelled .calendar-event-time{
  color:#94a3b8;
}
.calendar-event-status{
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.calendar-event-status.is-cancelled{
  background:rgba(239,68,68,0.18);
  border:1px solid rgba(239,68,68,0.45);
  color:#fecaca;
}
.calendar-event-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.calendar-action-btn{
  background:var(--accent-gradient);
  color:#fff;
  border:0;
  border-radius:10px;
  padding:8px 12px;
  font-weight:600;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.calendar-action-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(6,70,78,0.2);
}
.calendar-action-btn--ghost{
  background:transparent;
  border:1px solid rgba(103,179,194,0.4);
  color:#e2e8f0;
}
.calendar-action-btn--primary{
  background:#67B3C2;
  color:#0b1f26;
  border:none;
}
.calendar-action-btn--danger{
  background:rgba(239,68,68,0.15);
  border:1px solid rgba(239,68,68,0.4);
  color:#fecaca;
}
.calendar-action-btn--danger:hover{
  background:rgba(239,68,68,0.25);
}
.provider-panel-card p{
  margin:0;
  color:#cbd5e1;
  font-size:14px;
}
.provider-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.provider-kpi-card{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.provider-kpi-label{
  margin:0;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#9ca3af;
}
.provider-kpi-value.is-accent{
  color:#67B3C2;
}
.provider-kpi-value{
  margin:0;
  font-size:28px;
  font-weight:700;
  color:#fff;
}
.provider-kpi-foot{
  margin:0;
  font-size:12px;
  color:#cbd5e1;
}
.provider-profile-card{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.provider-profile-head{
  align-items:center;
}
.provider-dashboard:not(.parent-dashboard) .provider-profile-head{
  position:relative;
  padding-right:60px;
}
.provider-dashboard:not(.parent-dashboard) #profileBackBtn{
  position:absolute;
  top:8px;
  right:8px;
  width:32px;
  height:32px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.provider-profile-form{
  display:grid;
  gap:16px;
}
.provider-profile-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:20px;
  align-items:start;
}
.provider-profile-main{
  display:grid;
  gap:16px;
}
.provider-profile-section{
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,0.18);
  background:rgba(15,23,42,0.55);
  display:grid;
  gap:12px;
}
.provider-section-title h3{
  margin:0;
  font-size:16px;
  color:#f8fafc;
}
.provider-section-title p{
  margin:6px 0 0 0;
  font-size:12px;
  color:#94a3b8;
}
.provider-profile-aside{
  position:relative;
  display:grid;
  gap:16px;
}
.provider-profile-summary{
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(148,163,184,0.18);
  background:rgba(15,23,42,0.7);
  display:grid;
  gap:14px;
}
.provider-profile-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.provider-profile-card-head h3{
  margin:0;
  font-size:15px;
  color:#f8fafc;
}
.provider-profile-card-sub{
  font-size:11px;
  color:#94a3b8;
}
.provider-profile-top{
  display:flex;
  gap:14px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.provider-profile-top .profile-photo-row{
  align-items:center;
  flex-direction:row;
  gap:10px;
}
.provider-profile-top .profile-photo-actions{
  gap:8px;
  align-items:center;
}
.provider-profile-top > .provider-form-field{
  flex:1 1 140px;
  min-width:0;
}
.provider-visibility{
  display:grid;
  gap:8px;
  font-size:12px;
  color:#cbd5e1;
}
.provider-visibility-label{
  font-weight:600;
  color:#e2e8f0;
}
.provider-visibility-toggle{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.provider-visibility-btn{
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  border:1px solid rgba(103,179,194,0.3);
  background:rgba(8,22,30,0.7);
  color:#e2e8f0;
  cursor:pointer;
}
.provider-visibility-btn.is-active{
  background:rgba(103,179,194,0.3);
  border-color:rgba(103,179,194,0.7);
  color:#fff;
}
.provider-visibility-note{
  color:#94a3b8;
  font-size:11px;
}
.provider-profile-about .language-input{
  margin-top:6px;
}
.provider-payout-notice{
  margin-top:6px;
  font-size:11px;
  color:#fbbf24;
  display:none;
}
.provider-payout-notice.is-visible{
  display:block;
}
.provider-payout-notice.is-clickable{
  cursor:pointer;
  text-decoration:underline;
}
.provider-payout-details{
  margin-top:8px;
}
.provider-payout-details.is-hidden{
  display:none;
}
.provider-payout-actions{
  display:flex;
  justify-content:flex-end;
}
.provider-payout-less{
  padding:6px 12px;
  font-size:11px;
}
.provider-payout-complete{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#cbd5e1;
}
.provider-payout-complete.is-hidden{
  display:none;
}
.provider-payout-edit{
  padding:6px 14px;
  font-size:11px;
  line-height:1.1;
}
.unsaved-changes-modal{
  position:fixed;
  inset:0;
  background:rgba(3,7,18,0.65);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10000;
}
.unsaved-changes-modal.is-hidden{
  display:none;
}
.unsaved-changes-card{
  width:min(420px, 92vw);
  background:#0f172a;
  border:1px solid rgba(148,163,184,0.24);
  border-radius:16px;
  padding:18px 20px;
  color:#e2e8f0;
  box-shadow:0 18px 40px rgba(2,6,23,0.45);
}
.unsaved-changes-card h3{
  margin:0 0 6px 0;
  font-size:16px;
  font-weight:700;
}
.unsaved-changes-card p{
  margin:0;
  font-size:13px;
  color:#cbd5f5;
}
.unsaved-changes-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.provider-payout-check{
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(34,197,94,0.18);
  border:1px solid rgba(34,197,94,0.5);
  color:#bbf7d0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
}
.provider-payout-grid .provider-input{
  background:rgba(8,16,23,0.7);
}
.provider-sin-row{
  display:flex;
  align-items:center;
  gap:8px;
}
.provider-sin-toggle{
  border:none;
  background:transparent;
  color:#cbd5e1;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  padding:0;
  text-decoration:underline;
}
.provider-sin-toggle:hover{
  color:#fff;
}
.provider-subscription-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.provider-subscription-row .provider-input{
  flex:1;
}
.provider-form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.provider-form-grid.is-single{
  grid-template-columns:1fr;
}
.parent-profile-photo{
  display:flex;
  justify-content:center;
}
.parent-profile-photo .profile-photo-row{
  justify-content:center;
}
.parent-profile-photo .provider-form-field{
  align-items:center;
}
.parent-profile-photo .profile-photo-preview{
  width:96px;
  height:96px;
}
.provider-form-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  color:#cbd5e1;
}
.subscription-hint{
  font-weight:500;
  color:#67B3C2;
}
@media (min-width: 720px){
  .provider-form-field > span{
    white-space:nowrap;
  }
  .subscription-hint{
    font-size:11px;
  }
}
.profile-photo-row{
  display:flex;
  align-items:center;
  gap:12px;
}
.profile-photo-preview{
  width:56px;
  height:56px;
  border-radius:50%;
  background:rgba(103,179,194,0.2);
  border:1px solid rgba(103,179,194,0.35);
  color:#d9f0f7;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
  position:relative;
  cursor:pointer;
  transition:box-shadow 0.2s ease, transform 0.2s ease;
}
.profile-photo-preview::after{
  content:'Edit';
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#f8fafc;
  background:rgba(15,23,42,0.55);
  opacity:0;
  transition:opacity 0.2s ease;
}
.profile-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}
.profile-photo-preview{
  cursor:pointer;
}
.profile-photo-preview.has-photo img{
  display:block;
}
.profile-photo-preview.has-photo span{
  display:none;
}
.profile-photo-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.profile-photo-actions .provider-header-btn{
  padding:0;
  font-size:11px;
  line-height:1.1;
  border:none;
  background:transparent;
  color:#cbd5e1;
}
.profile-photo-actions .provider-header-btn:hover{
  text-decoration:underline;
}
.profile-photo-input{
  display:none;
}
.profile-photo-status{
  color:#94a3b8;
  font-size:11px;
}
.profile-photo-row:hover .profile-photo-preview,
.profile-photo-row:focus-within .profile-photo-preview{
  box-shadow:0 0 0 2px rgba(103,179,194,0.45);
  transform:translateY(-1px);
}
.profile-photo-row:hover .profile-photo-preview::after,
.profile-photo-row:focus-within .profile-photo-preview::after{
  opacity:1;
}
@media (max-width: 719px){
  .provider-profile-top{
    display:grid;
    grid-template-columns:auto auto;
    align-items:center;
    justify-content:center;
    gap:12px;
  }
  .provider-profile-top > .provider-form-field{
    width:auto;
    flex:0 0 auto;
  }
  .provider-profile-top .profile-photo-row{
    flex-direction:column;
    align-items:center;
  }
  .profile-photo-actions{
    width:auto;
  }
  .profile-photo-actions .provider-header-btn{
    width:auto;
    justify-content:center;
  }
  .provider-profile-form .provider-form-field{
    min-width:0;
  }
  .provider-profile-form .provider-input{
    width:100%;
    max-width:100%;
    padding:8px 10px;
    font-size:12px;
  }
  .provider-subscription-row{
    flex-direction:column;
    align-items:stretch;
  }
  .provider-subscription-row .provider-input{
    min-width:0;
  }
}
@media (max-width: 980px){
  .provider-profile-layout{
    grid-template-columns:1fr;
  }
  .provider-profile-aside{
    grid-row:1;
  }
  .provider-profile-main{
    grid-row:2;
  }
}
.provider-docs{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  grid-column:1 / -1;
  width:100%;
}
.provider-doc-card{
  border:1px solid rgba(148,163,184,0.18);
  border-radius:14px;
  padding:12px 14px;
  background:rgba(15,23,42,0.55);
  box-shadow:none;
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.provider-doc-head{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  align-items:flex-start;
  flex:1;
  min-width:0;
}
.provider-doc-title{
  font-weight:700;
  color:#e2e8f0;
  font-size:14px;
  line-height:1.2;
  word-break:break-word;
}
.provider-doc-sub{
  font-size:12px;
  color:#94a3b8;
}
.provider-doc-status{
  font-size:11px;
  font-weight:700;
  color:#f59e0b;
  background:rgba(250,204,21,0.16);
  padding:3px 8px;
  border-radius:999px;
  align-self:flex-start;
}
.provider-doc-status.is-approved{
  color:#22c55e;
  background:rgba(34,197,94,0.16);
}
.provider-doc-status.is-rejected{
  color:#f87171;
  background:rgba(248,113,113,0.16);
}
.provider-doc-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.provider-doc-input{
  display:none;
}
.provider-doc-link{
  color:#e2e8f0;
  font-weight:700;
  text-decoration:none;
  font-size:12px;
  border:1px solid rgba(148,163,184,0.35);
  padding:6px 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all 180ms ease;
}
.provider-doc-actions .provider-header-btn{
  width:auto;
  justify-content:center;
  white-space:nowrap;
}
.provider-doc-actions .provider-doc-link{
  width:auto;
}
.provider-doc-actions .provider-doc-link.hidden{
  display:none;
}
.provider-doc-link:hover{
  border-color:rgba(103,179,194,0.6);
  color:#ffffff;
  background:rgba(103,179,194,0.16);
}
.provider-form-field-wide{
  grid-column:1 / -1;
}
.provider-form-field small{
  color:#94a3b8;
  font-size:11px;
}
.provider-inline-link{
  margin-top:6px;
  font-size:11px;
  color:#9ed3df;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.provider-inline-link:hover{
  color:#ffffff;
  text-decoration:underline;
}
.dashboard-profile-links{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,0.08);
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
}
.dashboard-profile-links a{
  color:#cfe9ef;
  font-size:11px;
  font-weight:600;
  text-decoration:none;
}
.dashboard-profile-links a:hover{
  color:#fff;
}
.provider-input{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.12);
  color:#e2e8f0;
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
}
.language-input{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.language-entry{
  display:flex;
  gap:8px;
  align-items:center;
}
.language-entry .provider-input{
  flex:1;
}
.language-add-btn{
  background:rgba(103,179,194,0.18);
  border:1px solid rgba(103,179,194,0.45);
  color:#cfe9ef;
  padding:10px 14px;
  border-radius:10px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.language-add-btn:hover{
  background:rgba(103,179,194,0.3);
}
.language-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:28px;
}
.language-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(103,179,194,0.16);
  color:#d1f1f6;
  font-size:11px;
  font-weight:700;
}
.language-chip button{
  border:0;
  background:transparent;
  color:#cbd5e1;
  font-size:14px;
  line-height:1;
  cursor:pointer;
}
.language-chip button:hover{
  color:#fff;
}
.language-empty{
  color:#64748b;
  font-size:11px;
}
.provider-textarea{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.12);
  color:#e2e8f0;
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
  resize:vertical;
  min-height:110px;
}
.provider-input:focus{
  outline:2px solid rgba(103,179,194,0.5);
  outline-offset:1px;
}
.provider-form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
.provider-primary-btn{
  background:#67B3C2;
  color:#0b1f26;
  border:0;
  border-radius:999px;
  padding:10px 18px;
  font-weight:700;
  cursor:pointer;
}
.provider-secondary-btn{
  background:transparent;
  color:#fca5a5;
  border:1px solid rgba(248,113,113,0.4);
  border-radius:999px;
  padding:10px 18px;
  font-weight:700;
  cursor:pointer;
}
.provider-form-status{
  font-size:12px;
  color:#9ca3af;
}
.provider-dashboard-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.provider-bookings-card,
.provider-chart-card{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:18px;
  min-width:0;
}
.provider-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.provider-card-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.provider-requests-tab{
  background:rgba(255,255,255,0.06);
  color:#e2e8f0;
  border:1px solid rgba(255,255,255,0.2);
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  transition:all 0.2s ease;
}
.provider-requests-tab.is-active{
  background:rgba(103,179,194,0.2);
  color:#cde9f0;
  border-color:rgba(103,179,194,0.45);
}
.provider-requests-tab.is-cancelled{
  border-color:rgba(248,113,113,0.35);
  color:#fecaca;
}
.provider-requests-tab.is-cancelled.is-active{
  background:rgba(248,113,113,0.18);
  color:#fee2e2;
  border-color:rgba(248,113,113,0.5);
}
.provider-card-head h2{
  margin:0;
  font-size:18px;
  color:#fff;
}
.provider-card-sub{
  margin:4px 0 0 0;
  font-size:12px;
  color:#9ca3af;
}
.provider-card-head .availability-status{
  display:block;
  margin-top:6px;
}
.provider-card-pill{
  background:rgba(103,179,194,0.2);
  color:#cde9f0;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.provider-bookings-table{
  display:grid;
  gap:8px;
}
.provider-bookings-row{
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(140px,1.1fr) minmax(90px,0.6fr) minmax(130px,0.8fr) minmax(170px,1.2fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:12px;
}
.provider-bookings-head{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
  padding:0 12px 6px;
}
.provider-bookings-item{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
}
.provider-booking-cell{
  font-size:12px;
  color:#e2e8f0;
}
.family-link{
  background:none;
  border:none;
  padding:0;
  color:#9ed3df;
  font-weight:700;
  cursor:pointer;
  text-align:left;
}
.family-link:hover{
  color:#ffffff;
  text-decoration:underline;
}
.booking-time-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.booking-time-row span{
  flex:1 1 160px;
  min-width:140px;
}
.provider-cancel-btn{
  background:rgba(239,68,68,0.15);
  border:1px solid rgba(239,68,68,0.4);
  color:#fecaca;
  border-radius:999px;
  padding:4px 10px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  min-width:70px;
  text-align:center;
}
.provider-cancel-btn:hover{
  background:rgba(239,68,68,0.25);
}
.provider-post-btn{
  background:rgba(16,185,129,0.18);
  border:1px solid rgba(16,185,129,0.35);
  color:#d1fae5;
  border-radius:999px;
  padding:4px 10px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  min-width:70px;
  text-align:center;
  transition:transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}
.provider-post-btn:hover{
  background:rgba(16,185,129,0.28);
}
.provider-post-btn:disabled,
.provider-post-btn.is-locked{
  opacity:0.55;
  cursor:not-allowed;
  background:rgba(148,163,184,0.15);
  border-color:rgba(148,163,184,0.35);
  color:#94a3b8;
  box-shadow:none;
  transform:none;
}
.provider-post-btn:disabled:hover{
  background:rgba(148,163,184,0.15);
}
.provider-post-btn.is-open{
  transform:scale(1.06);
  box-shadow:0 10px 20px rgba(16,185,129,0.2);
}
.provider-post-btn.is-complete{
  opacity:0.65;
  background:rgba(16,185,129,0.12);
  border-color:rgba(16,185,129,0.25);
}
.booking-post-panel{
  grid-column:1 / -1;
  background:rgba(15,23,32,0.75);
  border:1px solid rgba(148,163,184,0.14);
  border-radius:14px;
  padding:0 16px;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(-6px);
  transition:max-height 0.35s ease, opacity 0.3s ease, transform 0.3s ease;
}
.booking-post-panel.is-open{
  max-height:1200px;
  opacity:1;
  transform:translateY(0);
  padding:16px;
}
.booking-post-inner{
  display:grid;
  gap:14px;
}
.booking-post-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.booking-post-header h4{
  margin:0;
  color:#f8fafc;
  font-size:15px;
}
.booking-post-header p{
  margin:4px 0 0 0;
  font-size:12px;
  color:#9ca3af;
}
.booking-post-close{
  background:transparent;
  border:1px solid rgba(148,163,184,0.35);
  color:#e2e8f0;
  border-radius:999px;
  padding:4px 10px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.booking-post-form{
  display:grid;
  gap:12px;
}
.booking-post-qa{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:12px;
}
.booking-post-photo{
  display:grid;
  gap:10px;
}
.booking-post-preview{
  display:flex;
  align-items:center;
  gap:12px;
}
.booking-post-preview.is-hidden{
  display:none;
}
.booking-post-preview img{
  width:96px;
  height:96px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(148,163,184,0.3);
}
.booking-post-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.booking-child{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.booking-address-btn,
.booking-back-btn{
  background:rgba(103,179,194,0.2);
  border:1px solid rgba(103,179,194,0.35);
  color:#cfe9ef;
  border-radius:999px;
  padding:4px 10px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.booking-back-btn{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.15);
  color:#e2e8f0;
  display:none;
}
.provider-bookings-item.is-address .booking-back-btn{
  display:inline-flex;
}
.provider-booking-address{
  display:none;
  grid-column:1 / -1;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.booking-address-text{
  font-size:12px;
  color:#e2e8f0;
}
.provider-bookings-item.is-address .provider-booking-cell{
  display:none;
}
.provider-bookings-item.is-address .provider-booking-address{
  display:flex;
}
.provider-bookings-empty{
  padding:14px 12px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px dashed rgba(255,255,255,0.14);
  color:#94a3b8;
  font-size:12px;
}
.parent-bookings-table{
  display:grid;
  gap:8px;
  width:100%;
}
.parent-bookings-body{
  display:grid;
  gap:8px;
}
.parent-request-view.hidden{
  display:none;
}
.parent-bookings-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,0.6fr) minmax(0,1fr) minmax(0,0.8fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:12px;
}
.parent-bookings-head{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
  padding:0 12px 6px;
}
.parent-booking-contact-label::after{
  content:"Child";
}
@media (min-width: 720px){
  .parent-booking-contact-label::after{
    content:"Child";
  }
  .parent-bookings-row{
    grid-template-columns:minmax(0,1fr) minmax(0,0.9fr) minmax(0,0.6fr) minmax(0,1fr) minmax(0,1fr);
  }
}
.parent-bookings-item{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
}
.parent-booking-cell{
  font-size:12px;
  color:#e2e8f0;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.parent-booking-cell[data-label="Status"]{
  overflow:visible;
  text-overflow:clip;
}
.parent-booking-link{
  color:#ffffff;
  font-weight:700;
  text-decoration:none;
}
.parent-booking-link:hover{
  color:#e0f2fe;
  text-decoration:underline;
}
.parent-booking-contact{
  color:#cbd5f5;
}
.parent-booking-action{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.parent-booking-btn{
  background:rgba(103,179,194,0.2);
  border:1px solid rgba(103,179,194,0.35);
  color:#cfe9ef;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  min-width:72px;
  text-align:center;
}
.parent-booking-cancel{
  background:rgba(239,68,68,0.15);
  border:1px solid rgba(239,68,68,0.4);
  color:#fecaca;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  min-width:72px;
  text-align:center;
}
.parent-booking-cancel:hover{
  background:rgba(239,68,68,0.25);
}
.parent-request-toggle{
  display:inline-flex;
  gap:6px;
  padding:4px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.06);
  margin-left:auto;
}
.parent-request-head{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  text-align:right;
}
.parent-card-pill-wrap{
  margin-left:auto;
  display:flex;
  justify-content:flex-end;
  width:100%;
}
@media (min-width: 721px){
  .parent-card-pill-wrap{
    width:auto;
  }
}
@media (max-width: 720px){
  .parent-request-head{
    width:100%;
    justify-content:flex-end;
    flex-wrap:nowrap;
  }
  .parent-request-toggle{
    margin-left:0;
  }
}
.parent-request-tab{
  border:none;
  background:transparent;
  color:#cbd5f5;
  font-size:11px;
  font-weight:700;
  padding:6px 12px;
  border-radius:999px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.parent-request-tab.is-active{
  background:rgba(103,179,194,0.25);
  color:#fff;
}
.parent-request-count{
  background:rgba(255,255,255,0.16);
  color:#e2e8f0;
  border-radius:999px;
  padding:2px 6px;
  font-size:10px;
  font-weight:700;
}
.parent-request-muted{
  font-size:11px;
  color:#94a3b8;
}
.parent-pending-row{
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.8fr) minmax(0,1fr) minmax(0,0.85fr) minmax(0,0.7fr);
}
.parent-request-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:rgba(245,158,11,0.16);
  color:#fbbf24;
  border:1px solid rgba(245,158,11,0.4);
}
.parent-request-status.is-warn{
  background:rgba(251,191,36,0.18);
  color:#fde68a;
  border-color:rgba(251,191,36,0.4);
}
.parent-request-status.is-pending{
  background:rgba(103,179,194,0.18);
  color:#cfe9ef;
  border-color:rgba(103,179,194,0.45);
}
.parent-request-status.is-cancelled{
  background:rgba(248,113,113,0.16);
  color:#fecaca;
  border-color:rgba(248,113,113,0.4);
}
.parent-request-status.is-completed{
  background:rgba(34,197,94,0.18);
  color:#bbf7d0;
  border-color:rgba(34,197,94,0.4);
}
@media (min-width: 720px){
  .parent-pending-row{
    grid-template-columns:minmax(0,1.1fr) minmax(0,0.8fr) minmax(0,1fr) minmax(0,0.85fr) minmax(0,0.7fr);
  }
}
.parent-calendar-list{
  margin-top:16px;
  display:grid;
  gap:10px;
}
.parent-calendar-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
  color:#e2e8f0;
}
.parent-calendar-title{
  font-weight:700;
  color:#fff;
}
.parent-calendar-sub{
  font-size:12px;
  color:#94a3b8;
}
.parent-calendar-pill{
  background:rgba(103,179,194,0.2);
  color:#cde9f0;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.parent-messages-list{
  display:grid;
  gap:10px;
  margin-bottom:12px;
}
body.chat-embed-active .parent-messages-list,
body.chat-embed-active #parentMessagesOpenBtn,
body.chat-embed-active #providerMessagesOpenBtn,
body.chat-embed-active #providerMessagesList{
  display:none;
}
body.chat-embed-active #chatLauncher{
  display:none;
}
.chat-embed{
  margin-top:12px;
  min-height:520px;
}
.parent-message-item{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border-radius:12px;
  background:rgba(15,23,32,0.7);
  border:1px solid rgba(255,255,255,0.08);
}
.parent-message-name{
  font-weight:700;
  color:#fff;
}
.parent-message-body{
  font-size:12px;
  color:#94a3b8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.provider-message-item{
  display:flex;
  align-items:center;
  gap:12px;
}
.provider-message-avatar{
  width:40px;
  height:40px;
  border-radius:12px;
  background:rgba(103,179,194,0.2);
  border:1px solid rgba(103,179,194,0.35);
  color:#d9f0f7;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.provider-message-content{
  min-width:0;
  flex:1;
  display:grid;
  gap:4px;
}
.provider-message-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.provider-message-time{
  font-size:11px;
  color:#94a3b8;
}
.provider-message-unread{
  background:rgba(14,165,233,0.15);
  color:#bae6fd;
  border:1px solid rgba(14,165,233,0.4);
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.parent-children-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:14px;
}
@media (max-width: 719px){
  .parent-children-focus .provider-subtitle{
    display:none;
  }
  .parent-dashboard #panel-children .provider-card-head{
    position:relative;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .parent-dashboard #panel-children .provider-card-head h2{
    display:none;
  }
  .parent-dashboard #panel-children .parent-action-row{
    align-self:center;
    margin-left:auto;
  }
  .parent-dashboard #panel-children #parentAddChildBtn{
    padding:4px 10px;
    font-size:10px;
    min-width:auto;
    border-radius:999px;
  }
  .parent-children-grid{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    position:relative;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .parent-children-grid::-webkit-scrollbar{
    display:none;
  }
  .parent-children-grid.has-scroll-hint::after{
    content:'›';
    position:absolute;
    right:6px;
    top:50%;
    transform:translateY(-50%);
    width:22px;
    height:22px;
    border-radius:999px;
    background:rgba(15,23,32,0.7);
    border:1px solid rgba(255,255,255,0.12);
    color:#e2e8f0;
    font-size:16px;
    line-height:20px;
    text-align:center;
    pointer-events:none;
  }
  .parent-child-card{
    text-align:center;
    padding:0;
    min-height:auto;
    flex:0 0 calc((100% - 16px) / 3);
    scroll-snap-align:start;
  }
  .parent-child-edit-icon{
    top:-4px;
    right:-4px;
    width:22px;
    height:22px;
  }
  .parent-child-avatar{
    margin:0 auto;
    width:40px;
    height:40px;
    font-size:12px;
  }
  .parent-child-name{
    font-size:12px;
  }
  .parent-child-add-btn{
    width:40px;
    height:40px;
    font-size:18px;
  }
  .parent-child-actions{
    display:none;
  }
}
.parent-family-board{
  margin-top:24px;
}
.parent-family-feed{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.family-post{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 24px rgba(15,23,42,0.08);
}
.family-post-header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.family-post-link{
  color:inherit;
  text-decoration:none;
  font-weight:600;
}
.family-post-link:hover{
  text-decoration:underline;
}
.family-post-provider{
  display:flex;
  align-items:center;
  gap:10px;
}
.family-post-collab{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.family-post-avatars{
  display:flex;
  align-items:center;
}
.family-post-avatar--child{
  margin-left:-8px;
  border:2px solid #fff;
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  font-size:11px;
}
.family-post-with{
  font-weight:500;
  color:#94a3b8;
}
.family-post-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:#e2e8f0;
  color:#475569;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.family-post-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.family-post-title{
  font-weight:700;
  color:#0f172a;
}
.family-post-meta{
  font-size:12px;
  color:#64748b;
}
.family-post-body{
  color:#0f172a;
  line-height:1.6;
  margin-bottom:12px;
}
.family-post-photo{
  width:100%;
  border-radius:12px;
  border:1px solid #e5e7eb;
  margin-bottom:12px;
  object-fit:cover;
  max-height:360px;
  display:block;
}
.family-post-answers{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  max-width:360px;
  margin:0 auto 12px;
  gap:6px 12px;
  font-size:12px;
  color:#475569;
}
.family-answer{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:600;
  color:#334155;
}
.family-answer span{
  width:18px;
  height:18px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:800;
}
.family-answer--yes span{
  background:#dcfce7;
  color:#166534;
}
.family-answer--no span{
  background:#fee2e2;
  color:#991b1b;
}
.family-answer--na span{
  background:#e5e7eb;
  color:#6b7280;
}
.family-post-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.family-action-btn{
  border:none;
  background:#eef2ff;
  color:#4338ca;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.family-action-btn svg{
  width:14px;
  height:14px;
}
.family-action-btn.is-active{
  background:#c7d2fe;
}
.family-action-icon{
  border:none;
  background:transparent;
  color:#64748b;
  padding:4px 6px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  cursor:pointer;
}
.family-action-icon svg{
  width:16px;
  height:16px;
}
.family-action-icon span{
  font-weight:600;
}
.family-action-icon.is-active{
  color:#4338ca;
}
.family-comments{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
.family-comment{
  background:#f8fafc;
  border-radius:12px;
  padding:8px 12px;
  font-size:12px;
  color:#334155;
  display:flex;
  align-items:center;
  gap:8px;
}
.family-comment-avatar{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  border:1px solid #e5e7eb;
  color:#06464E;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:11px;
  overflow:hidden;
  flex-shrink:0;
}
.family-comment-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.family-comment-body{
  flex:1;
  min-width:0;
}
.family-comment strong{
  color:#0f172a;
}
.family-comment-delete{
  margin-left:auto;
  border:none;
  background:transparent;
  color:#94a3b8;
  font-size:11px;
  cursor:pointer;
}
.family-comment-delete:hover{
  color:#ef4444;
}
.family-comment-form{
  display:flex;
  gap:8px;
  align-items:center;
  position:relative;
  width:100%;
}
.family-comment-input{
  flex:1;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:10px 14px;
  font-size:12px;
  width:100%;
}
.family-comment-send{
  border:none;
  border-radius:999px;
  background:#67B3C2;
  color:#0b1f26;
  padding:8px 14px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.family-comment-send:disabled{
  opacity:0.6;
  cursor:not-allowed;
}
.session-post-page{
  background:radial-gradient(circle at top left, rgba(103,179,194,0.18), rgba(15,23,32,0.9) 45%);
}
.session-post-content{
  padding:32px 24px 48px;
}
.session-post-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:26px 28px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(6,70,78,0.9), rgba(15,23,42,0.9));
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 20px 40px rgba(15,23,42,0.25);
  margin-bottom:24px;
}
.session-post-eyebrow{
  text-transform:uppercase;
  letter-spacing:0.2em;
  font-size:10px;
  font-weight:700;
  color:#9ed3df;
}
.session-post-hero-text .provider-title{
  margin:8px 0 6px 0;
  font-size:28px;
  color:#f8fafc;
}
.session-post-hero-text .provider-subtitle{
  color:#cbd5f5;
}
.session-post-meta{
  margin-top:14px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  background:rgba(15,23,42,0.65);
  border:1px solid rgba(148,163,184,0.2);
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
}
.session-post-meta-label{
  color:#9ca3af;
  font-weight:600;
}
.session-post-meta-value{
  color:#e2e8f0;
  font-weight:600;
}
.session-post-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.session-post-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap:18px;
}
.session-post-main,
.session-post-aside{
  display:grid;
  gap:18px;
}
.session-post-card{
  background:rgba(15,23,32,0.92);
  border:1px solid rgba(148,163,184,0.14);
  border-radius:16px;
  padding:18px;
  display:grid;
  gap:14px;
  box-shadow:0 18px 32px rgba(15,23,42,0.18);
}
.session-post-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.session-post-textarea{
  min-height:140px;
}
.session-post-qa{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:12px;
}
.session-post-tips ul{
  margin:0;
  padding-left:18px;
  color:#cbd5e1;
  font-size:13px;
  line-height:1.6;
}
.session-post-photo{
  display:grid;
  gap:14px;
}
.session-post-preview{
  display:flex;
  align-items:center;
  gap:12px;
}
.session-post-preview.is-hidden{
  display:none;
}
.session-post-preview img{
  width:120px;
  height:120px;
  border-radius:12px;
  object-fit:cover;
  border:1px solid rgba(148,163,184,0.3);
  background:#0f172a;
}
.session-post-actions{
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:flex-end;
}
@media (max-width: 980px){
  .session-post-layout{
    grid-template-columns:1fr;
  }
  .session-post-hero{
    flex-direction:column;
    align-items:flex-start;
  }
  .session-post-actions{
    justify-content:flex-start;
  }
}
.parent-child-info{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.parent-action-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.parent-find-card{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:18px;
}
.parent-find-title{
  font-size:20px;
  font-weight:700;
  background:linear-gradient(135deg,#67B3C2 0%,#06464E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.provider-card-head .parent-find-title{
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.parent-time-card{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  grid-template-areas:
    "header form"
    "results results";
  align-items:stretch;
  gap:12px 16px;
  margin-bottom:18px;
  position:relative;
}
.parent-time-header{
  display:grid;
  gap:6px;
  grid-area:header;
  align-content:center;
  justify-items:center;
  position:relative;
  z-index:1;
}
.parent-time-child{
  display:grid;
  justify-items:center;
  gap:8px;
  color:#cbd5f5;
  font-size:12px;
  padding:6px 0;
}
.parent-child-picker-title{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
}
.parent-child-hint{
  display:flex;
  align-items:center;
  gap:4px;
  color:#67B3C2;
  font-size:12px;
  line-height:1;
}
.parent-child-hint-arrow{
  display:inline-block;
  animation:parentChildHint 1.2s ease-in-out infinite;
  opacity:0.6;
}
.parent-child-hint-arrow:nth-child(2){
  animation-delay:0.15s;
}
.parent-child-hint-arrow:nth-child(3){
  animation-delay:0.3s;
}
.parent-child-picker{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  max-width:100%;
}
.parent-child-avatar-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.parent-child-avatar-name{
  font-size:11px;
  color:#cbd5e1;
  text-align:center;
  max-width:72px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.parent-child-picker.is-hidden,
.parent-child-empty.is-hidden{
  display:none;
}
.parent-child-avatar-btn{
  width:52px;
  height:52px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.06);
  color:#e2e8f0;
  font-weight:700;
  font-size:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  cursor:pointer;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
  transform-origin:center;
}
.parent-child-avatar-btn img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.parent-child-avatar-btn.is-selected{
  border-color:#67B3C2;
  box-shadow:0 0 0 3px rgba(103,179,194,0.25);
  animation:parentChildWiggle 1s ease-in-out infinite;
}
.parent-child-avatar-btn--add{
  border-style:dashed;
  border-color:rgba(103,179,194,0.55);
  color:#67B3C2;
  background:rgba(103,179,194,0.08);
  font-size:22px;
}
.parent-child-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:#67B3C2;
  text-align:center;
  cursor:pointer;
}
@keyframes parentChildWiggle{
  0%{ transform:rotate(0deg); }
  20%{ transform:rotate(-6deg); }
  40%{ transform:rotate(6deg); }
  60%{ transform:rotate(-4deg); }
  80%{ transform:rotate(4deg); }
  100%{ transform:rotate(0deg); }
}
@keyframes parentChildHint{
  0%{ opacity:0; transform:translateY(-4px); }
  50%{ opacity:1; transform:translateY(0); }
  100%{ opacity:0; transform:translateY(4px); }
}
.parent-child-form-card{
  margin-top:16px;
  padding:16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(15,23,32,0.6);
}
.parent-child-form-card.is-hidden{
  display:none;
}
.parent-child-form-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.parent-child-form-sub{
  color:#9ca3af;
  font-size:12px;
  margin:4px 0 0 0;
}
.parent-child-form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.parent-child-form-wide{
  grid-column:1 / -1;
}
.parent-child-age-live{
  margin-top:6px;
  font-size:12px;
  color:#94a3b8;
}
.parent-child-form-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
}
.parent-time-title{
  color:#fff;
  font-weight:700;
  font-size:15px;
}
.parent-time-sub{
  color:#9ca3af;
  font-size:12px;
}
.parent-time-sub.is-accent{
  color:#67B3C2;
}
.parent-time-sub--inline{
  grid-column:1 / -1;
  text-align:center;
  margin-top:8px;
  justify-self:center;
}
.parent-time-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  gap:10px 12px;
  grid-area:form;
  padding:12px;
  border-radius:16px;
  background:rgba(8,16,23,0.6);
  border:1px solid rgba(103,179,194,0.16);
  box-shadow:0 16px 30px rgba(6,16,24,0.35);
  position:relative;
  z-index:1;
}
.parent-time-field{
  display:grid;
  gap:6px;
  font-size:11px;
  color:#94a3b8;
}
.parent-time-field--full{
  grid-column:1 / -1;
}
.parent-time-date-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:0;
  border-radius:0;
  background:transparent;
  border:none;
}
@media (min-width: 901px){
  .parent-time-date-row{
    justify-content:center;
  }
}
.parent-date-btn{
  background:rgba(8,22,30,0.75);
  border:1px solid rgba(103,179,194,0.35);
  color:#e2e8f0;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 6px 12px rgba(4,10,15,0.25);
}
.parent-date-btn.is-active{
  background:rgba(103,179,194,0.3);
  border-color:rgba(103,179,194,0.7);
  color:#fff;
}
.parent-date-or{
  font-size:11px;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.parent-time-date-row input{
  min-width:140px;
}
.parent-time-date-row input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:0;
  pointer-events:none;
}
.parent-time-field input{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(103,179,194,0.35);
  color:#e2e8f0;
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
}
.parent-time-field select{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.18);
  color:#e2e8f0;
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  min-width:140px;
}
.parent-time-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  background:linear-gradient(135deg,#67B3C2 0%, #4ba0b1 55%, #2f6f7a 100%);
  color:#0b1f26;
  border-radius:8px;
  text-decoration:none;
  font-weight:700;
  font-size:12px;
  border:none;
  cursor:pointer;
  grid-column:1 / -1;
  justify-self:center;
  box-shadow:0 12px 20px rgba(12,30,36,0.4);
}
.parent-time-summary{
  font-size:12px;
  color:#9ca3af;
  margin-top:-2px;
  text-align:center;
  justify-self:center;
}
.parent-time-summary:empty{
  display:none;
}
.parent-payment-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(234,179,8,0.35);
  background:rgba(234,179,8,0.12);
  color:#fef3c7;
  font-size:12px;
}
.parent-payment-notice strong{
  color:#fde68a;
}
.parent-payment-notice.is-hidden{
  display:none;
}
.parent-saved-results{
  display:grid;
  gap:10px;
  grid-area:results;
}
.parent-saved-results-list{
  display:grid;
  gap:10px;
}
.parent-saved-results .parent-provider-empty{
  text-align:center;
}
.parent-empty-actions{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.parent-find-form-wrap{
  display:grid;
  gap:10px;
}
.parent-find-form{
  margin:0;
}
.parent-find-inputs{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
}
.parent-find-location-btn{
  background:none;
  border:none;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0.9;
}
.parent-find-location-btn img{
  width:22px;
  height:22px;
  filter:brightness(0) invert(1);
}
.parent-find-select{
  flex:1;
  border:none;
  outline:none;
  background:transparent;
  color:#e2e8f0;
  font-size:13px;
  appearance:none;
}
.parent-find-select option{
  color:#0f172a;
}
.parent-find-submit{
  background:#67B3C2;
  border:none;
  border-radius:50%;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.parent-find-submit svg path{
  stroke:#0b1f26;
}
.parent-find-meta{
  margin:0;
  font-size:12px;
  color:#94a3b8;
}
.parent-find-link{
  color:#cfe9ef;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
.parent-find-link:hover{
  color:#fff;
}
.parent-dashboard #heroSearchResults p{
  color:#e2e8f0 !important;
}
.parent-dashboard #heroSearchResults strong{
  color:#fff !important;
}
.parent-dashboard #heroSearchResults input{
  background:rgba(15,23,32,0.9) !important;
  border:1px solid rgba(255,255,255,0.2) !important;
  color:#e2e8f0 !important;
}
.parent-dashboard #heroSearchResults .hero-card{
  background:rgba(15,23,32,0.95) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  box-shadow:none !important;
}
.parent-dashboard #heroSearchResults .hero-card [style*="color:#06464E"],
.parent-dashboard #heroSearchResults .hero-card [style*="color:#475569"],
.parent-dashboard #heroSearchResults .hero-card [style*="color:#6b7280"]{
  color:#e2e8f0 !important;
}
.parent-dashboard #heroSearchResults .hero-card a,
.parent-dashboard #heroSearchResults .hero-card button{
  background:rgba(255,255,255,0.08) !important;
  border:1px solid rgba(255,255,255,0.2) !important;
  color:#e2e8f0 !important;
}
.parent-dashboard #heroSearchResults .parent-provider-btn.primary{
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%) !important;
  border:none !important;
  color:#fff !important;
}
.parent-dashboard #heroSearchResults .hero-carousel-prev,
.parent-dashboard #heroSearchResults .hero-carousel-next{
  background:rgba(15,23,32,0.9) !important;
  border:1px solid rgba(255,255,255,0.12) !important;
  color:#e2e8f0 !important;
}
.parent-dashboard #heroSearchResults{
  text-align:left !important;
}
.parent-results-wrap{
  display:grid;
  gap:14px;
}
.parent-results-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.parent-results-tab{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  color:#e2e8f0;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.parent-results-tab.is-active{
  background:rgba(103,179,194,0.2);
  border-color:rgba(103,179,194,0.55);
  color:#fff;
}
.parent-results-count{
  background:rgba(255,255,255,0.12);
  color:#fff;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.parent-results-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.parent-results-title{
  font-size:16px;
  font-weight:700;
  color:#fff;
}
.parent-results-sub{
  font-size:12px;
  color:#94a3b8;
}
.parent-results-close{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.16);
  color:#e2e8f0;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  cursor:pointer;
}
.parent-results-list{
  display:grid;
  gap:12px;
}
.parent-provider-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.04);
  cursor:pointer;
  transition:box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.parent-provider-row:hover,
.parent-provider-row.is-pressed{
  border-color:rgba(103,179,194,0.45);
  box-shadow:0 16px 36px rgba(6,70,78,0.35);
  transform:translateY(-1px);
}
.parent-provider-main{
  display:flex;
  align-items:center;
  gap:14px;
  flex:1;
  min-width:0;
}
.parent-provider-avatar{
  width:46px;
  height:46px;
  border-radius:14px;
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:14px;
  flex-shrink:0;
  overflow:hidden;
}
.parent-provider-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}
.parent-provider-avatar.has-photo img{
  display:block;
}
.parent-provider-avatar.has-photo span{
  display:none;
}
.parent-provider-body{
  display:grid;
  gap:8px;
  min-width:0;
}
.parent-provider-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.parent-provider-name{
  font-weight:700;
  color:#fff;
  font-size:14px;
}
.parent-provider-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.parent-provider-name-row .verify-chip-row{
  margin-top:0;
}
.parent-provider-meta{
  font-size:12px;
  color:#94a3b8;
}
.parent-provider-save{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.18);
  color:#e2e8f0;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.parent-provider-save-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  margin-left:auto;
}
.parent-provider-session-count{
  font-size:10px;
  color:#94a3b8;
  font-weight:600;
}
.parent-provider-save .save-icon{
  width:14px;
  height:14px;
  display:block;
}
.parent-provider-save.is-saved{
  background:rgba(103,179,194,0.28);
  border-color:rgba(103,179,194,0.6);
  color:#fff;
}
.parent-provider-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:11px;
  color:#cbd5f5;
}
.parent-provider-tags > span{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  padding:4px 8px;
  border-radius:999px;
}
.parent-provider-days{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.parent-provider-day{
  font-size:11px;
  font-weight:700;
  color:#94a3b8;
  letter-spacing:0.04em;
}
.parent-provider-day.is-available{
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.parent-provider-tag.highlight{
  background:rgba(103,179,194,0.22);
  border-color:rgba(103,179,194,0.55);
  color:#e6f9fb;
}
.parent-provider-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}
.parent-provider-btn{
  border-radius:10px;
  padding:8px 14px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.08);
  color:#e2e8f0;
  cursor:pointer;
  text-decoration:none;
}
.parent-provider-btn.primary{
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  border:none;
  color:#fff;
}
.verify-chip-row{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin-top:6px;
}
.verify-chip-count{
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.08);
  color:#e2e8f0;
  font-size:12px;
  font-weight:600;
}
.verify-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.08);
  color:#cbd5f5;
  font-size:14px;
  position:relative;
}
.verify-chip[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%);
  background:#0f172a;
  color:#f8fafc;
  padding:6px 8px;
  border-radius:8px;
  font-size:11px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.15s ease, transform 0.15s ease;
  box-shadow:0 10px 24px rgba(15,23,42,0.25);
  z-index:2;
}
.verify-chip[data-tooltip]::before{
  content:'';
  position:absolute;
  left:50%;
  bottom:calc(100% + 2px);
  transform:translateX(-50%);
  width:8px;
  height:8px;
  background:#0f172a;
  border-radius:2px;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.15s ease, transform 0.15s ease;
  z-index:1;
}
.verify-chip:hover::after,
.verify-chip:hover::before,
.verify-chip:focus-visible::after,
.verify-chip:focus-visible::before{
  opacity:1;
}
.verify-chip:hover::after,
.verify-chip:focus-visible::after{
  transform:translate(-50%, -2px);
}
.verify-chip-dark{
  border:1px solid rgba(255,255,255,0.12);
}
.verify-chip.is-active{
  background:rgba(103,179,194,0.25);
  border-color:rgba(103,179,194,0.6);
  color:#fff;
}
.parent-provider-btn.ghost{
  background:transparent;
}
.parent-provider-empty{
  padding:14px;
  border-radius:12px;
  border:1px dashed rgba(255,255,255,0.16);
  color:#94a3b8;
  font-size:12px;
}
@media (max-width: 900px){
  .parent-time-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "header"
      "form"
      "results";
  }
  .parent-time-child{
    text-align:center;
    width:100%;
  }
  .parent-time-sub--inline{
    width:100%;
    text-align:center;
    margin-top:6px;
  }
  .parent-time-form{
    grid-template-columns:1fr 1fr;
    padding:12px 10px;
  }
  .parent-time-date-row{
    justify-content:center;
  }
  .parent-time-date-row input{
    width:min(180px, 100%);
    min-width:160px;
  }
  .parent-time-submit{
    width:100%;
    grid-column:1 / -1;
  }
  .parent-provider-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .parent-provider-actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .parent-provider-top{
    flex-direction:column;
    align-items:flex-start;
  }
  .provider-docs{
    grid-template-columns:1fr;
  }
  .provider-doc-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .provider-doc-actions .provider-header-btn,
  .provider-doc-link{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}
@media (min-width: 720px){
  .parent-saved-results .parent-empty-actions{
    justify-content:center;
    width:100%;
  }
  .parent-saved-results .parent-empty-actions .parent-provider-btn{
    background:linear-gradient(135deg,#67B3C2 0%, #4ba0b1 55%, #2f6f7a 100%);
    color:#0b1f26;
    border:none;
    box-shadow:0 12px 20px rgba(12,30,36,0.4);
  }
  .parent-saved-results .parent-empty-actions .parent-provider-btn.ghost{
    background:linear-gradient(135deg,#67B3C2 0%, #4ba0b1 55%, #2f6f7a 100%);
    color:#0b1f26;
    border:none;
  }
}
.parent-child-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  background:transparent;
  border:none;
  padding:0;
  color:#e2e8f0;
  position:relative;
}
.parent-child-avatar-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.parent-child-edit-icon{
  position:absolute;
  top:-6px;
  right:-6px;
  width:26px;
  height:26px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.06);
  color:#e2e8f0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.parent-child-edit-icon:hover{
  background:rgba(255,255,255,0.12);
}
.parent-child-avatar{
  width:52px;
  height:52px;
  border-radius:50%;
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:700;
  overflow:hidden;
}
.parent-child-avatar-wrap:hover .parent-child-avatar{
  box-shadow:0 0 0 3px rgba(103,179,194,0.25), 0 12px 26px rgba(6,70,78,0.35);
  transform:translateY(-1px);
}
.parent-child-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}
.parent-child-avatar.has-photo img{
  display:block;
}
.parent-child-avatar.has-photo span{
  display:none;
}
.parent-child-name{
  font-weight:700;
  color:#fff;
  font-size:12px;
  text-align:center;
}
.parent-child-actions{
  display:none;
}
.parent-child-card--add{
  gap:6px;
}
.parent-child-add-btn{
  width:52px;
  height:52px;
  border-radius:50%;
  border:2px dashed rgba(103,179,194,0.5);
  background:rgba(103,179,194,0.08);
  color:#67B3C2;
  font-size:22px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.parent-child-add-btn:hover{
  box-shadow:0 0 0 3px rgba(103,179,194,0.25), 0 12px 26px rgba(6,70,78,0.35);
  transform:translateY(-1px);
}
.parent-child-btn{
  background:rgba(103,179,194,0.2);
  border:1px solid rgba(103,179,194,0.35);
  color:#cfe9ef;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.parent-child-edit{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.15);
  color:#e2e8f0;
}
.parent-caregivers-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:14px;
}
.parent-caregiver-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,0.16);
  background:rgba(15,23,42,0.55);
  color:#e2e8f0;
}
.parent-caregiver-info{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.parent-caregiver-avatar{
  width:38px;
  height:38px;
  border-radius:999px;
  background:rgba(148,163,184,0.16);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e2e8f0;
  font-size:12px;
  font-weight:700;
  overflow:hidden;
}
.parent-caregiver-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.parent-caregiver-avatar.has-photo img{
  display:block;
}
.parent-caregiver-avatar.has-photo span{
  display:none;
}
.parent-caregiver-name{
  font-weight:700;
  color:#f8fafc;
  font-size:13px;
}
.parent-caregiver-link{
  color:#fff;
  text-decoration:none;
  font-weight:700;
}
.parent-caregiver-link:hover{
  color:#e0f2fe;
  text-decoration:underline;
}
.parent-caregiver-meta{
  font-size:12px;
  color:#94a3b8;
}
.parent-caregiver-contact{
  font-size:12px;
  color:#cbd5f5;
}
.parent-caregiver-btn{
  padding:6px 14px;
  font-size:11px;
  background:#67B3C2;
  color:#0b1f26;
  border-color:transparent;
}
.care-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
}
.care-pill-curriculum{
  background:rgba(103,179,194,0.2);
  color:#cde9f0;
  border:1px solid rgba(103,179,194,0.35);
}
.care-pill-standard{
  background:rgba(15,23,42,0.4);
  color:#cbd5f5;
  border:1px solid rgba(148,163,184,0.3);
}
.care-pill-mixed{
  background:rgba(129,140,248,0.2);
  color:#e0e7ff;
  border:1px solid rgba(129,140,248,0.4);
}
.provider-chart-card{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.provider-pie-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
}
.provider-mini-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:14px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.provider-mini-card h3{
  margin:0;
  font-size:14px;
  color:#fff;
}
.provider-mini-sub{
  margin:0;
  font-size:11px;
  color:#9ca3af;
}
.provider-chart-wrap{
  display:flex;
  justify-content:center;
}
.provider-pie{
  width:180px;
  height:180px;
  border-radius:50%;
  --seg-1: 34;
  --seg-2: 33;
  --seg-3: 33;
  --pie-color-1: #67B3C2;
  --pie-color-2: #0f2f36;
  --pie-color-3: #1f2937;
  background:conic-gradient(
    var(--pie-color-1) 0 calc(var(--seg-1) * 1%),
    var(--pie-color-2) calc(var(--seg-1) * 1%) calc((var(--seg-1) + var(--seg-2)) * 1%),
    var(--pie-color-3) calc((var(--seg-1) + var(--seg-2)) * 1%) 100%
  );
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.provider-pie-ages{
  --pie-color-1:#f59e0b;
  --pie-color-2:#10b981;
  --pie-color-3:#06b6d4;
}
.provider-pie-success{
  --pie-color-1:#22c55e;
  --pie-color-2:#ef4444;
  --pie-color-3:#0f172a;
}
.provider-pie-repeat{
  --pie-color-1:#a855f7;
  --pie-color-2:#67B3C2;
  --pie-color-3:#0f172a;
}
.provider-pie::after{
  content:'';
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(17,24,39,0.95);
}
.provider-pie-center{
  position:relative;
  z-index:1;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.provider-pie-value{
  font-size:22px;
  font-weight:700;
  color:#fff;
}
.provider-legend{
  display:grid;
  gap:8px;
}
.provider-legend-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#e2e8f0;
}
.provider-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}
.provider-dot-new{
  background:#67B3C2;
}
.provider-dot-returning{
  background:#0f2f36;
}
.provider-dot-ages-1{
  background:#f59e0b;
}
.provider-dot-ages-2{
  background:#10b981;
}
.provider-dot-ages-3{
  background:#06b6d4;
}
.provider-dot-success{
  background:#22c55e;
}
.provider-dot-cancelled{
  background:#ef4444;
}
.provider-dot-repeat{
  background:#a855f7;
}
.provider-dot-sessions{
  background:#06b6d4;
}
.provider-dot-curriculum{
  background:#06b6d4;
}
.provider-dot-standard{
  background:#94a3b8;
}
.provider-requests-card{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:18px;
}
.provider-requests-table{
  display:grid;
  gap:8px;
}
.provider-requests-row{
  display:grid;
  grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(110px,0.8fr) minmax(140px,0.9fr) minmax(190px,0.9fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:12px;
}
.provider-requests-head{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#94a3b8;
  padding:0 12px 6px;
}
.provider-requests-item{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.06);
}
.provider-requests-cell{
  font-size:12px;
  color:#e2e8f0;
}
.provider-requests-empty{
  padding:14px 12px;
  border-radius:12px;
  background:rgba(255,255,255,0.04);
  border:1px dashed rgba(255,255,255,0.14);
  color:#94a3b8;
  font-size:12px;
}
.provider-requests-action{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
}
.provider-requests-action.is-disabled{
  opacity:0.6;
}
.provider-requests-status{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-start;
  flex-wrap:wrap;
}
.provider-requests-time-row{
  flex:1 1 100%;
  width:100%;
}
.provider-requests-status-label{
  font-size:11px;
  color:#94a3b8;
}
.provider-requests-cancelledby{
  width:100%;
  font-size:11px;
  color:#94a3b8;
}
.provider-request-btn{
  border-radius:999px;
  padding:4px 10px;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  border:1px solid transparent;
}
.provider-request-btn.accept{
  background:rgba(34,197,94,0.18);
  border-color:rgba(34,197,94,0.4);
  color:#bbf7d0;
}
.provider-request-btn.accept:hover{
  background:rgba(34,197,94,0.3);
}
.provider-request-btn.decline{
  background:rgba(239,68,68,0.18);
  border-color:rgba(239,68,68,0.4);
  color:#fecaca;
}
.provider-request-btn.decline:hover{
  background:rgba(239,68,68,0.3);
}
.provider-request-btn:disabled{
  cursor:not-allowed;
  opacity:0.6;
}
.cg-avatar{
  width:80px;
  height:80px;
  border-radius:16px;
  background:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  font-weight:800;
  position:relative;
  overflow:hidden;
}
.cg-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}
.cg-avatar.has-photo img{
  display:block;
}
.cg-avatar.has-photo span{
  display:none;
}
.provider-reach-btn{
  background:#67B3C2;
  color:#0b1f26;
  border:0;
  border-radius:999px;
  padding:6px 14px;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
.provider-details-link{
  color:#cbd5e1;
  font-size:11px;
  text-decoration:none;
}
.provider-details-link:hover{
  color:#fff;
}
.provider-careplus-pill{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#67B3C2;
  border:1px solid rgba(103,179,194,0.4);
  padding:3px 6px;
  border-radius:999px;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}
.provider-availability-card{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.availability-editor{
  display:grid;
  gap:16px;
}
.availability-day{
  display:grid;
  grid-template-columns:150px 1fr auto;
  gap:14px;
  align-items:start;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.availability-day:last-child{
  border-bottom:0;
}
.availability-day.is-disabled{
  opacity:0.55;
}
.availability-day-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  color:#e2e8f0;
}
.availability-checkbox{
  width:18px;
  height:18px;
  accent-color:#67B3C2;
}
.availability-slots{
  display:grid;
  gap:10px;
}
.availability-slot{
  display:grid;
  grid-template-columns:minmax(120px,1fr) 18px minmax(120px,1fr) auto;
  gap:10px;
  align-items:center;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
}
.availability-slot input[type=\"time\"]{
  background:rgba(15,23,32,0.9);
  border:1px solid rgba(255,255,255,0.12);
  color:#e2e8f0;
  padding:8px 12px;
  padding-right:36px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  width:100%;
  height:38px;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
  appearance:none;
  -webkit-appearance:none;
}
.availability-slot input[type=\"time\"]::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(0.9);
  opacity:0.75;
}
.availability-slot input[type=\"time\"]:focus{
  outline:none;
  border-color:rgba(103,179,194,0.6);
  box-shadow:0 0 0 3px rgba(103,179,194,0.18);
}
.availability-slot input[type=\"time\"]:disabled{
  opacity:0.65;
}
.availability-slot-sep{
  color:#94a3b8;
  font-weight:700;
  text-align:center;
}
.availability-icon-btn{
  width:34px;
  height:34px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(15,23,32,0.85);
  color:#e2e8f0;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}
.availability-icon-btn:hover{
  background:rgba(103,179,194,0.2);
  border-color:rgba(103,179,194,0.4);
}
.availability-icon-btn:disabled{
  opacity:0.5;
  cursor:not-allowed;
}
.availability-day-actions{
  padding-top:4px;
}
.availability-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,0.08);
  padding-top:16px;
}
.availability-status{
  font-size:12px;
  color:#9ca3af;
}
.availability-buttons{
  display:flex;
  gap:10px;
}
.availability-buttons-top{
  margin-left:auto;
}
.availability-btn{
  background:#67B3C2;
  color:#0b1f26;
  border:0;
  border-radius:999px;
  padding:8px 18px;
  font-weight:700;
  cursor:pointer;
}
.availability-btn-ghost{
  background:transparent;
  color:#e2e8f0;
  border:1px solid rgba(255,255,255,0.2);
}
@media (max-width:900px){
  .provider-shell{
    grid-template-columns:1fr;
    padding:16px;
  }
  .provider-sidebar{
    min-height:auto;
  }
  .provider-nav{
    flex-direction:row;
    overflow-x:auto;
    padding-bottom:6px;
    gap:6px;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .provider-nav::-webkit-scrollbar{
    display:none;
  }
  .provider-nav-item{
    white-space:nowrap;
    flex:0 0 auto;
    scroll-snap-align:start;
  }
  .provider-content{
    min-height:auto;
  }
  .availability-day{
    grid-template-columns:1fr;
  }
  .availability-day-actions{
    justify-content:flex-start;
  }
}
@media (max-width:719px){
  .provider-dashboard{
    --provider-bottom-nav-height:86px;
    --provider-top-nav-height:64px;
    --provider-bottom-nav-offset:calc(var(--provider-bottom-nav-height) + env(safe-area-inset-bottom) + 24px);
    padding-bottom:var(--provider-bottom-nav-offset);
    background:#0f1720;
  }
  .provider-dashboard .mobile-menu-panel{
    display:none;
  }
  .provider-dashboard #chatLauncher{
    display:none !important;
  }
  .provider-dashboard #chatLauncher{
    bottom:calc(var(--provider-bottom-nav-height) + env(safe-area-inset-bottom) + 24px) !important;
    right:16px !important;
  }
  .provider-dashboard #chatModal{
    bottom:calc(var(--provider-bottom-nav-height) + env(safe-area-inset-bottom) + 80px) !important;
    right:16px !important;
    width:min(360px, calc(100vw - 32px)) !important;
  }
  .provider-dashboard .nav-container{
    padding:12px 16px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
  }
  .provider-dashboard .nav-center-title{
    display:block;
  }
  .provider-dashboard .logo span{
    display:none;
  }
  .provider-dashboard .logo a{
    gap:0;
  }
  .provider-dashboard .logo img{
    height:40px;
  }
  .provider-dashboard .mobile-menu{
    color:#06464E;
  }
  .provider-shell{
    margin:0;
    padding:14px;
    border-radius:0;
    box-shadow:none;
  }
  .provider-panels{
    position:relative;
    overflow:hidden;
  }
  .provider-panel{
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    pointer-events:none;
    transition:transform .28s ease;
    will-change:transform;
  }
  .provider-panel.is-active{
    pointer-events:auto;
  }
  .provider-panel.is-off-left{
    transform:translateX(-100%);
  }
  .provider-panel.is-off-right{
    transform:translateX(100%);
  }
  .provider-panel.is-dragging{
    transition:none;
  }
  .provider-dashboard #panel-profile.provider-panel{
    transition:none;
    will-change:auto;
  }
  .provider-dashboard #panel-profile.provider-panel.is-off-left,
  .provider-dashboard #panel-profile.provider-panel.is-off-right{
    transform:translateX(0);
  }
  .provider-dashboard #panel-profile.provider-panel[aria-hidden="true"]{
    display:none;
  }
  .provider-dashboard.skip-family-transition #panel-families.provider-panel{
    transition:none;
    will-change:auto;
  }
  .provider-dashboard.skip-family-transition #panel-families.provider-panel.is-off-left,
  .provider-dashboard.skip-family-transition #panel-families.provider-panel.is-off-right{
    transform:translateX(0);
  }
  .provider-dashboard.skip-family-transition #panel-families.provider-panel[aria-hidden="true"]{
    display:none;
  }
  .provider-sidebar{
    padding:16px;
    gap:16px;
    position:relative;
  }
  .provider-sidebar-header{
    padding-right:150px;
  }
  .provider-sidebar-actions{
    position:absolute;
    top:14px;
    right:14px;
    display:flex;
    flex-direction:column;
    gap:6px;
    align-items:flex-end;
  }
  .provider-dashboard .provider-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:1fr;
    align-items:center;
    gap:6px;
    height:calc(var(--provider-bottom-nav-height) + env(safe-area-inset-bottom));
    padding:16px 12px calc(16px + env(safe-area-inset-bottom));
    overflow:hidden;
    background:#000;
    border:0;
    border-radius:0;
    box-shadow:none;
    z-index:1100;
  }
  .provider-dashboard.chat-keyboard-open .provider-nav{
    transform:translateY(120%);
    pointer-events:none;
  }
  .provider-dashboard .provider-nav-item{
    text-align:center;
    justify-content:center;
    padding:8px 4px;
    font-size:11px;
    line-height:1.1;
    white-space:normal;
    min-width:0;
  }
  .provider-dashboard .provider-nav-item[data-panel="dashboard"] .nav-label{
    display:none;
  }
  .provider-dashboard .provider-nav-item[data-panel="dashboard"] .nav-icon{
    display:block;
    margin:0 auto;
  }
  .provider-dashboard .provider-nav-item[data-panel="calendar"] .nav-label{
    display:none;
  }
  .provider-dashboard .provider-nav-item[data-panel="calendar"] .nav-icon{
    display:block;
    margin:0 auto;
  }
  .provider-dashboard .provider-nav-item[data-panel="inbox"] .nav-label{
    display:none;
  }
  .provider-dashboard .provider-nav-item[data-panel="inbox"] .nav-icon{
    display:block;
    margin:0 auto;
  }
  .provider-dashboard .provider-nav-icon-btn{
    display:inline-flex;
    position:static;
    transform:none;
    width:100%;
    height:auto;
    padding:6px 0;
    background:transparent;
    border:0;
    border-radius:0;
    color:#e2e8f0;
  }
  .provider-dashboard .provider-nav-icon-btn.is-active{
    background:transparent;
    border-color:transparent;
    color:#67B3C2;
    box-shadow:none;
  }
  .provider-dashboard .provider-nav-icon-btn:hover{
    background:transparent;
    border-color:transparent;
  }
  .provider-dashboard .provider-top-profile-btn{
    display:inline-flex;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid rgba(6,70,78,0.2);
    border-radius:999px;
    background:#fff;
    color:#06464E;
    box-shadow:0 4px 10px rgba(6,70,78,0.12);
  }
  .provider-dashboard .provider-top-profile-btn.is-active{
    border-color:#67B3C2;
    color:#67B3C2;
  }
  .provider-dashboard .provider-nav-profile{
    display:none;
  }
  .provider-dashboard .provider-nav-badge{
    top:6px;
    right:14px;
  }
  .parent-dashboard .parent-profile-btn{
    display:none;
  }
  .provider-dashboard:not(.parent-dashboard) .provider-profile-btn{
    display:none;
  }
  .provider-dashboard .provider-nav-item[data-panel="curriculum"]{
    display:none;
  }
  .parent-dashboard #panel-children .provider-panel-card{
    padding-top:10px;
  }
  .parent-dashboard #panel-children .provider-card-head{
    margin-top:0;
  }
  .parent-dashboard .provider-eyebrow{
    display:none;
  }
  .provider-dashboard .provider-curriculum-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .provider-sidebar-eyebrow{
    font-size:9px;
  }
  .provider-sidebar-title{
    font-size:16px;
  }
  .provider-sidebar-name{
    font-size:11px;
  }
  .provider-nav-item{
    padding:8px 10px;
    font-size:12px;
  }
  .provider-logout,
  .provider-curriculum-btn{
    width:auto;
    padding:6px 10px;
    font-size:11px;
    border-radius:999px;
  }
  .provider-content{
    padding:20px;
    padding-bottom:calc(var(--provider-bottom-nav-height) + 24px);
  }
  .provider-content-header{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .provider-header-actions{
    width:100%;
    flex-wrap:wrap;
  }
  .provider-header-btn{
    flex:1;
    min-width:140px;
    justify-content:center;
  }
  .provider-card-head{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
  .provider-card-actions{
    width:100%;
    justify-content:flex-start;
  }
  .provider-card-pill{
    align-self:flex-start;
  }
  .provider-dashboard-grid{
    gap:14px;
  }
  .calendar-controls{
    width:100%;
    justify-content:space-between;
  }
  .calendar-title{
    min-width:auto;
    flex:1;
  }
  .calendar-grid{
    gap:6px;
  }
  .calendar-day{
    min-height:58px;
    padding:6px;
  }
  .calendar-modal-card{
    padding:14px;
    max-height:72vh;
  }
  .calendar-event-head{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media (max-width:600px){
  .provider-content{
    padding:18px;
  }
  .provider-title{
    font-size:22px;
  }
  .provider-shell{
    padding:12px;
    border-radius:0;
    box-shadow:none;
  }
  .provider-sidebar{
    padding:14px;
    gap:14px;
  }
  .provider-kpi-card{
    padding:14px;
  }
  .provider-kpi-value{
    font-size:20px;
  }
  .provider-kpi-label{
    font-size:10px;
  }
  .provider-kpi-foot{
    font-size:10px;
  }
  .provider-kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
  }
  .provider-panel-card{
    padding:16px;
  }
  .provider-bookings-card,
  .provider-requests-card,
  .provider-chart-card{
    padding:16px;
  }
  .provider-pie{
    width:150px;
    height:150px;
  }
  .provider-pie::after{
    width:96px;
    height:96px;
  }
  .provider-bookings-row{
    grid-template-columns:1fr;
    padding:12px;
  }
  .provider-bookings-head{
    display:none;
  }
  .provider-booking-cell{
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .provider-booking-address{
    display:none;
  }
  .provider-booking-cell::before{
    content:attr(data-label);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#94a3b8;
  }
  .parent-bookings-row{
    grid-template-columns:1fr;
    padding:12px;
  }
  .parent-bookings-head{
    display:none;
  }
  .parent-booking-cell{
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .calendar-modal-card{
    max-height:60vh;
  }
  .calendar-modal-list{
    max-height:calc(60vh - 100px);
  }
  .parent-booking-cell::before{
    content:attr(data-label);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#94a3b8;
  }
  .parent-booking-action{
    justify-content:flex-start;
  }
  .parent-caregiver-card{
    grid-template-columns:auto 1fr;
  }
  .parent-caregiver-btn{
    grid-column:1 / -1;
    justify-self:flex-start;
  }
  .parent-results-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .parent-results-tab{
    flex:0 0 auto;
  }
  .parent-results-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .parent-results-close{
    align-self:flex-start;
  }
  .parent-provider-row{
    padding:12px;
    gap:12px;
    border-radius:12px;
    align-items:stretch;
  }
  .parent-provider-main{
    align-items:flex-start;
    gap:12px;
  }
  .parent-provider-avatar{
    width:40px;
    height:40px;
    border-radius:12px;
    font-size:13px;
  }
  .parent-provider-main{
    position:relative;
    padding-right:72px;
  }
  .parent-provider-top{
    gap:8px;
    padding-right:0;
  }
  .parent-provider-name{
    font-size:13px;
  }
  .parent-provider-meta{
    font-size:11px;
  }
  .parent-provider-save-wrap{
    position:absolute;
    top:0;
    right:0;
    margin-left:0;
    align-items:flex-end;
  }
  .parent-provider-save{
    padding:0;
    width:28px;
    height:28px;
    justify-content:center;
    font-size:10px;
  }
  .parent-provider-save .save-label{
    display:none;
  }
  .parent-provider-save .save-icon{
    width:12px;
    height:12px;
  }
  .parent-provider-session-count{
    font-size:9px;
  }
  .parent-provider-tags{
    gap:6px;
  }
  .parent-provider-tags > span{
    max-width:100%;
    white-space:normal;
    line-height:1.2;
  }
  .parent-provider-days{
    gap:4px;
  }
  .parent-provider-row .verify-chip{
    width:20px;
    height:20px;
    font-size:10px;
  }
  .parent-provider-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }
  .parent-provider-btn{
    width:100%;
    text-align:center;
    padding:8px 0;
  }
  .provider-requests-row{
    grid-template-columns:1fr;
  }
  .provider-requests-head{
    display:none;
  }
  .provider-requests-cell{
    display:flex;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .provider-requests-cell::before{
    content:attr(data-label);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:#94a3b8;
  }
  .provider-requests-action{
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .availability-slot{
    grid-template-columns:1fr;
  }
  .availability-slot-sep{
    display:none;
  }
  .availability-icon-btn{
    width:100%;
  }
}
@media (max-width:420px){
  .parent-provider-actions{
    grid-template-columns:1fr;
  }
}

/* Care+ pricing page */
.careplus-main{
  padding:32px 16px 72px;
  max-width:1100px;
}
.careplus-intro{
  margin-top:12px;
  margin-bottom:26px;
  text-align:center;
  display:grid;
  gap:12px;
  position:relative;
  padding:18px 12px 8px;
}
.careplus-intro::before{
  content:'';
  position:absolute;
  inset:-16px 0 0;
  background-image:radial-gradient(rgba(6,70,78,0.08) 1px, transparent 0);
  background-size:28px 28px;
  opacity:0.35;
  pointer-events:none;
}
.careplus-intro::after{
  content:'';
  position:absolute;
  inset:-12px -20px auto auto;
  width:220px;
  height:220px;
  background:radial-gradient(circle at 40% 40%, rgba(103,179,194,0.18), rgba(103,179,194,0));
  pointer-events:none;
}
.careplus-intro__inner{
  display:grid;
  gap:8px;
  position:relative;
  z-index:1;
}
.careplus-intro__inner h1{
  margin:0;
  font-size:36px;
  color:var(--accent);
  letter-spacing:-0.02em;
}
.careplus-title-text{
  display:inline-block;
}
.careplus-support{
  margin:0 auto;
  color:#374151;
  line-height:1.7;
  max-width:640px;
  font-size:16px;
  font-weight:500;
  min-height:calc(1.7em * 2);
}
.careplus-support .careplus-emphasis{
  background:linear-gradient(90deg, rgba(103,179,194,0.15), rgba(103,179,194,0));
  border-radius:6px;
  padding:0 4px;
}
.careplus-tag{
  align-self:center;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(11,92,98,0.12);
  color:var(--accent);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.careplus-bottom-nav{
  display:none;
}
body.careplus-page .provider-nav-item{
  text-decoration:none;
}

@media (max-width:719px){
  .careplus-intro{
    margin-top:6px;
    padding:14px 6px 4px;
  }
  .careplus-intro__inner h1{
    font-size:26px;
  }
  .careplus-support{
    font-size:14px;
    min-height:calc(1.7em * 3);
  }
  .careplus-page{
    --provider-bottom-nav-height:86px;
    padding-bottom:calc(var(--provider-bottom-nav-height) + env(safe-area-inset-bottom) + 24px);
  }
  .careplus-page.provider-dashboard{
    background:#ffffff;
  }
  .careplus-bottom-nav{
    display:block;
  }
}

@media (prefers-reduced-motion: reduce){
  .careplus-title-text{
    transition:none;
  }
}

/* Pull-to-refresh */
.pull-refresh{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  pointer-events:none;
  z-index:9998;
}
.pull-refresh-indicator{
  margin-bottom:8px;
  background:#fff;
  color:#0f172a;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(15,23,42,0.08);
  box-shadow:0 6px 16px rgba(0,0,0,0.12);
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
}
.pull-refresh.is-visible .pull-refresh-indicator{
  opacity:1;
  transform:translateY(0);
}
.pull-refresh.is-ready .pull-refresh-indicator{
  background:#06464E;
  color:#fff;
  border-color:transparent;
}
.pull-refresh.is-refreshing .pull-refresh-indicator{
  background:#111827;
  color:#fff;
  border-color:transparent;
}

/* Chat widget */
.chat-modal{
  font-family:inherit;
}
.chat-modal.chat-modal--embedded{
  border:none;
  box-shadow:none;
  background:transparent;
}
.chat-modal.chat-modal--embedded .chat-shell{
  height:100%;
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.08);
  overflow:hidden;
}
.chat-modal.chat-modal--embedded .chat-close-btn{
  display:none;
}
.chat-modal .chat-shell{
  display:flex;
  height:420px;
}
.chat-modal .chat-list-view{
  width:40%;
  min-width:200px;
  border-right:1px solid #e5e7eb;
  display:flex;
  flex-direction:column;
  background:#fff;
}
.chat-modal .chat-list-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid #e5e7eb;
  background:#fff;
}
.chat-modal .chat-list-title{
  font-weight:700;
  color:#111827;
  font-size:15px;
}
.chat-modal .chat-threads{
  overflow-y:auto;
}
.chat-modal .chat-empty{
  padding:16px;
  color:#6b7280;
  font-size:13px;
}
.chat-modal .chat-thread{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  cursor:pointer;
  border-bottom:1px solid #f3f4f6;
  background:#fff;
}
.chat-modal .chat-thread:hover{
  background:#f9fafb;
}
.chat-modal .chat-thread.is-active{
  background:#f1f5f9;
}
.chat-modal .chat-thread.is-unread .chat-thread-avatar{
  box-shadow:0 0 0 2px #f97316, 0 0 0 4px #ec4899;
}
.chat-modal .chat-thread-avatar{
  width:44px;
  height:44px;
  border-radius:50%;
  background:#e2e8f0;
  color:#475569;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
.chat-modal .chat-thread-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.chat-modal .chat-thread-body{
  min-width:0;
  flex:1;
  display:grid;
  gap:4px;
}
.chat-modal .chat-thread-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.chat-modal .chat-thread-name{
  font-weight:700;
  color:#111827;
  font-size:14px;
}
.chat-modal .chat-thread-time{
  font-size:12px;
  color:#6b7280;
}
.chat-modal .chat-thread-preview{
  font-size:12px;
  color:#6b7280;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.chat-modal .chat-thread-unread{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ef4444;
  flex-shrink:0;
}
.chat-modal .chat-convo-view{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  background:#fff;
}
.chat-modal .chat-convo-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid #e5e7eb;
  background:#fff;
}
.chat-modal .chat-user{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1;
}
.chat-modal .chat-profile-link{
  background:transparent;
  border:0;
  padding:0;
  text-align:left;
  cursor:pointer;
}
.chat-modal .chat-profile-link.is-disabled{
  cursor:default;
  opacity:0.7;
}
.chat-modal .chat-avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  background:#e2e8f0;
  color:#475569;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
.chat-modal .chat-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.chat-modal .chat-user-name{
  font-weight:700;
  color:#111827;
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.chat-modal .chat-user-sub{
  font-size:12px;
  color:#6b7280;
}
.chat-modal .chat-icon-btn{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:#111827;
}
.chat-modal .chat-icon-btn svg{
  width:18px;
  height:18px;
  display:block;
}
.chat-modal .chat-call-btn{
  text-decoration:none;
}
.chat-modal .chat-call-btn.is-disabled{
  opacity:0.4;
  pointer-events:none;
}
.chat-modal .chat-back-btn{
  display:none;
}
.chat-modal .chat-history{
  flex:1;
  padding:14px;
  overflow-y:auto;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.chat-modal .chat-photo-preview{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px 0;
}
.chat-modal .chat-photo-preview.is-hidden{
  display:none;
}
.chat-modal .chat-photo-preview img{
  width:56px;
  height:56px;
  border-radius:10px;
  border:1px solid #e5e7eb;
  object-fit:cover;
  background:#fff;
}
.chat-modal .chat-photo-remove{
  border:none;
  background:#f3f4f6;
  color:#111827;
  font-size:11px;
  font-weight:700;
  border-radius:999px;
  padding:6px 10px;
  cursor:pointer;
}
.chat-modal .chat-photo-remove:hover{
  background:#e5e7eb;
}
.chat-modal .chat-message{
  display:flex;
  align-items:flex-end;
  gap:8px;
}
.chat-modal .chat-message.is-mine{
  justify-content:flex-end;
}
.chat-modal .chat-message-avatar{
  width:24px;
  height:24px;
  border-radius:50%;
  background:#e2e8f0;
  color:#475569;
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex-shrink:0;
}
.chat-modal .chat-message-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.parent-child-avatar,
.parent-caregiver-avatar,
.parent-provider-avatar,
.cg-avatar,
.provider-message-avatar,
.family-post-avatar,
.calendar-event-avatar,
.profile-photo-preview,
.chat-modal .chat-thread-avatar,
.chat-modal .chat-avatar,
.chat-modal .chat-message-avatar{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:50%;
  color:#06464E;
  background-image:linear-gradient(135deg,#67B3C2 0%, #06464E 100%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.chat-modal .chat-bubble{
  max-width:78%;
  padding:10px 12px;
  border-radius:18px;
  background:#f3f4f6;
  color:#111827;
  font-size:13px;
  line-height:1.4;
}
.chat-modal .chat-message.is-mine .chat-bubble{
  background:#e8f2ff;
  color:#0f172a;
  border-bottom-right-radius:8px;
}
.chat-modal .chat-message.is-theirs .chat-bubble{
  border-bottom-left-radius:8px;
}
.chat-modal .chat-message-image{
  max-width:220px;
  border-radius:14px;
  display:block;
  margin-bottom:6px;
}
.chat-modal .chat-message-text{
  word-break:break-word;
}
.chat-modal .chat-bubble.chat-bubble--request{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:12px;
  box-shadow:0 6px 14px rgba(15,23,42,0.08);
}
.chat-modal .chat-message.is-mine .chat-bubble.chat-bubble--request{
  background:#fff;
}
.chat-modal .chat-request-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.chat-modal .chat-request-title{
  font-size:12px;
  font-weight:700;
  color:#0f172a;
}
.chat-modal .chat-request-status{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  padding:2px 6px;
  border-radius:999px;
  background:#f3f4f6;
  color:#475569;
}
.chat-modal .chat-request-status.is-pending{
  background:#fef3c7;
  color:#92400e;
}
.chat-modal .chat-request-status.is-accepted{
  background:#dcfce7;
  color:#166534;
}
.chat-modal .chat-request-status.is-declined{
  background:#fee2e2;
  color:#991b1b;
}
.chat-modal .chat-request-status.is-needs-info{
  background:#e0f2fe;
  color:#0369a1;
}
.chat-modal .chat-request-text{
  font-size:12px;
  color:#111827;
  margin-bottom:8px;
}
.chat-modal .chat-request-meta{
  display:grid;
  gap:6px;
  font-size:11px;
  color:#475569;
}
.chat-modal .chat-request-meta--loading{
  color:#94a3b8;
  font-style:italic;
}
.chat-modal .chat-request-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.chat-modal .chat-request-row strong{
  color:#0f172a;
  font-weight:700;
}
.chat-modal .chat-request-notes{
  padding:6px 8px;
  border-radius:10px;
  background:#f8fafc;
  color:#475569;
  font-size:11px;
  line-height:1.4;
}
.chat-modal .chat-request-actions{
  margin-top:10px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
}
.chat-modal .chat-request-btn{
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  font-weight:700;
  border:1px solid #e5e7eb;
  background:#fff;
  cursor:pointer;
}
.chat-modal .chat-request-btn.accept{
  background:#06464E;
  color:#fff;
  border:none;
}
.chat-modal .chat-request-btn.decline{
  background:#fff;
  color:#b91c1c;
  border:1px solid #fecaca;
}
.chat-modal .chat-request-btn:disabled{
  opacity:0.6;
  cursor:not-allowed;
}
.chat-modal .chat-composer{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-top:1px solid #e5e7eb;
  background:#fff;
}
.chat-modal .chat-photo-input{
  display:none;
}
.chat-modal .chat-input{
  flex:1;
  min-height:36px;
  max-height:120px;
  resize:none;
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
}
.chat-modal .chat-send-btn{
  background:#06464E;
  color:#fff;
  border:none;
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
  font-size:12px;
  cursor:pointer;
}
.chat-modal .chat-send-btn:disabled{
  opacity:0.6;
  cursor:not-allowed;
}
.chat-modal .chat-status-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 12px 10px;
}
.chat-modal .chat-status{
  font-size:11px;
  color:#6b7280;
}
.chat-modal .chat-book-btn{
  background:#eef2ff;
  color:#4338ca;
  border:1px solid #e0e7ff;
  border-radius:999px;
  padding:6px 10px;
  font-weight:700;
  font-size:11px;
  display:none;
}
.chat-booking-panel{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,0.55);
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:5;
}
.chat-booking-panel.is-active{
  display:flex;
}
.chat-booking-card{
  width:100%;
  max-width:320px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 16px 40px rgba(15,23,42,0.25);
  display:flex;
  flex-direction:column;
  max-height:100%;
}
.chat-booking-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #e5e7eb;
}
.chat-booking-title{
  font-weight:700;
  color:#111827;
  font-size:14px;
}
.chat-booking-sub{
  font-size:12px;
  color:#6b7280;
}
.chat-booking-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 16px;
  overflow:auto;
}
.chat-booking-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:12px;
  color:#374151;
}
.chat-booking-field input,
.chat-booking-field select,
.chat-booking-field textarea{
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
}
.chat-booking-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.chat-booking-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.chat-booking-btn{
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:700;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#111827;
  cursor:pointer;
}
.chat-booking-btn.primary{
  background:#06464E;
  color:#fff;
  border:none;
}
.chat-booking-btn.ghost{
  background:transparent;
}
.chat-booking-status{
  font-size:12px;
  color:#6b7280;
  min-height:16px;
}
.chat-booking-status.is-error{
  color:#b91c1c;
}
.chat-booking-payment{
  font-size:12px;
  color:#b91c1c;
  background:#fef2f2;
  border:1px solid #fecaca;
  padding:8px 10px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.chat-booking-payment.is-hidden{
  display:none;
}
.chat-booking-link{
  background:none;
  border:none;
  color:#1d4ed8;
  font-weight:700;
  cursor:pointer;
  padding:0;
}

@media (max-width:719px){
  #chatModal.chat-modal{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    border-radius:0 !important;
  }
  .provider-dashboard #chatModal.chat-modal{
    top:var(--provider-top-nav-height, 64px) !important;
    bottom:calc(var(--provider-bottom-nav-height) + env(safe-area-inset-bottom)) !important;
    height:auto !important;
    max-height:none !important;
  }
  .provider-dashboard.chat-keyboard-open #chatModal.chat-modal{
    bottom:env(safe-area-inset-bottom) !important;
  }
  .chat-modal .chat-shell{
    height:100%;
  }
  .chat-modal .chat-list-view,
  .chat-modal .chat-convo-view{
    width:100%;
    height:100%;
  }
  .chat-modal .chat-list-view{
    border-right:none;
  }
  .chat-modal .chat-convo-view{
    display:none;
  }
  .chat-modal.chat-modal--thread .chat-list-view{
    display:none;
  }
  .chat-modal.chat-modal--thread .chat-convo-view{
    display:flex;
  }
  .chat-modal .chat-back-btn{
    display:inline-flex;
  }
  .chat-modal .chat-convo-header,
  .chat-modal .chat-list-header{
    position:sticky;
    top:0;
    z-index:2;
  }
  .chat-modal .chat-profile-btn{
    display:none;
  }
  .chat-modal .chat-history{
    padding-bottom:96px;
  }
  .chat-modal .chat-bubble.chat-bubble--request{
    max-width:100%;
    width:100%;
  }
}
