
.dr-family-account{max-width:1000px;margin:36px auto;padding:0 18px;font-family:"Nunito",system-ui,sans-serif;color:#34324a}
.dr-family-account *{box-sizing:border-box}.dr-family-account h2,.dr-family-account h3,.dr-button{font-family:"Baloo 2","Nunito",system-ui,sans-serif}
.dr-welcome{margin-bottom:22px}.dr-welcome h2,.dr-dashboard-head h2{margin:5px 0}.dr-welcome p,.dr-dashboard-head p,.dr-muted{color:#716c80}
.dr-eyebrow{display:inline-block;color:#7557e8;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.dr-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dr-card{background:#fff;border:1px solid #ebe7f5;border-radius:24px;padding:22px;margin:18px 0;box-shadow:0 10px 24px rgba(76,59,113,.05)}
.dr-card--soft{background:linear-gradient(180deg,#fff,#faf7ff)}
.dr-form{display:grid;gap:12px}.dr-form label{display:grid;gap:5px;font-weight:800}.dr-form input{width:100%;min-height:44px;border:2px solid #e4deef;border-radius:12px;padding:8px 10px;font:inherit}
.dr-form small{color:#756f82;font-weight:600}.dr-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.dr-check input{width:auto!important;min-height:0!important}
.dr-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:0;border-radius:14px;background:#7557e8;color:#fff!important;text-decoration:none!important;font-weight:800;cursor:pointer}
.dr-button--secondary{background:#fff;color:#7557e8!important;border:2px solid #ddd4ff}.dr-button--small{min-height:38px;padding:8px 12px}
.dr-small-link,.dr-text-button{color:#7557e8;text-decoration:none;border:0;background:transparent;padding:0;font:inherit;font-weight:800;cursor:pointer}
.dr-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dr-notice{padding:12px 14px;border-radius:14px;margin-bottom:15px;font-weight:800}.dr-notice--success{background:#eafff7;color:#176653}.dr-notice--error{background:#fff0f3;color:#9a2944}
.dr-reward-card-link{display:flex;align-items:center;justify-content:space-between;gap:20px}.dr-reward-card-link h3,.dr-reward-card-link p{margin-top:0}.dr-action-links{display:flex;gap:9px;flex-wrap:wrap}
.dr-children-list{display:grid;gap:10px}.dr-child-row{display:flex;align-items:center;gap:12px;border:1px solid #ebe7f5;border-radius:16px;padding:11px}.dr-child-avatar{width:40px;height:40px;border-radius:13px;background:#f2eeff;display:grid;place-items:center;color:#7557e8;font-weight:900}.dr-adult-avatar{background:#fff0f7;color:#c84d86}
.dr-child-info{flex:1}.dr-child-info strong,.dr-child-info span{display:block}.dr-child-info span{font-size:.9rem;color:#756f82}
.dr-row-actions{display:flex;gap:9px;align-items:center}.dr-row-actions form{margin:0}.dr-family-person{display:grid;gap:8px}
.dr-collapse{display:none;padding:12px;background:#faf8ff;border-radius:14px}.dr-collapse.is-open{display:block}.dr-form--separated{border-top:1px dashed #ddd4ed;margin-top:12px;padding-top:12px}
.dr-collapsible-section{margin-top:15px;border-top:1px solid #eee9f5;padding-top:13px}.dr-collapse-heading{width:100%;border:0;border-radius:13px;background:#f6f2ff;color:#644ac8;text-align:left;padding:11px 13px;font-weight:900;cursor:pointer}
@media(max-width:760px){.dr-account-grid{grid-template-columns:1fr}.dr-dashboard-head,.dr-reward-card-link{flex-direction:column}.dr-action-links{width:100%;flex-direction:column}.dr-action-links .dr-button{width:100%}.dr-child-row{align-items:flex-start}.dr-row-actions{flex-direction:column;align-items:flex-end}}

.dr-family-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:#f4f0ff;border:1px solid #e7e0fb;padding:6px;border-radius:18px;margin:0 0 20px}
.dr-family-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:13px;padding:9px 12px;text-decoration:none;font-weight:900;color:#625a77}
.dr-family-nav a:hover,.dr-family-nav a.is-active{background:#fff;color:#7557e8;box-shadow:0 5px 15px rgba(80,61,120,.08)}
.dr-child-profile-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:10px 0 18px}
.dr-profile-avatar-wrap{width:96px;height:96px;border-radius:28px;background:linear-gradient(135deg,#eee8ff,#fff0f7);padding:5px;box-shadow:0 10px 24px rgba(76,59,113,.10)}
.dr-profile-avatar{width:100%;height:100%;object-fit:cover;border-radius:23px;background:#fff}
.dr-child-profile-copy h2{margin:3px 0}.dr-child-profile-copy p{margin:0 0 5px;color:#716c80}
.dr-child-logout{align-self:start}
.dr-avatar-editor{margin-bottom:20px;border:1px solid #e8e1f6}
.dr-avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.dr-avatar-option{display:block!important;cursor:pointer;position:relative}
.dr-avatar-option input{position:absolute;opacity:0;pointer-events:none}
.dr-avatar-option img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;border:3px solid transparent;background:#fff}
.dr-avatar-option input:checked+img{border-color:#7557e8;box-shadow:0 0 0 3px #ebe5ff}
.dr-avatar-upload{display:grid;gap:8px;border-top:1px dashed #ddd4ed;padding-top:14px;margin-top:4px}
@media(max-width:760px){.dr-family-nav{grid-template-columns:1fr}.dr-child-profile-head{grid-template-columns:auto 1fr}.dr-child-logout{grid-column:1/-1}.dr-avatar-grid{grid-template-columns:repeat(4,1fr)}}

.dr-child-account-shell{display:none}

/* v0.5.3 tighter account layout */
.dr-family-account{margin:12px auto 26px;padding:0 12px}
.dr-family-nav{display:none!important}
.dr-card{margin:10px 0;padding:16px;border-radius:19px}
.dr-dashboard-head{margin-bottom:8px}
@media(max-width:700px){.dr-family-account{padding:0 8px}.dr-card{padding:13px}.dr-dashboard-head h2{font-size:1.65rem}}


/* v0.5.4 diabetes checkbox alignment */
.dr-diabetes-check,
.dr-form label:has(input[name="has_diabetes"]),
.dr-form label:has(input[name="child_has_diabetes"]),
.dr-child-edit label:has(input[name="has_diabetes"]),
.dr-child-edit label:has(input[name="child_has_diabetes"]){
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  white-space:normal!important;
  line-height:1.3!important;
  font-weight:800!important;
}

.dr-diabetes-check input[type="checkbox"],
.dr-form label:has(input[name="has_diabetes"]) input[type="checkbox"],
.dr-form label:has(input[name="child_has_diabetes"]) input[type="checkbox"],
.dr-child-edit label:has(input[name="has_diabetes"]) input[type="checkbox"],
.dr-child-edit label:has(input[name="child_has_diabetes"]) input[type="checkbox"]{
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  margin:0!important;
  padding:0!important;
}

.dr-diabetes-check span,
.dr-diabetes-check{
  word-break:normal!important;
  overflow-wrap:normal!important;
}

@media(max-width:700px){
  .dr-diabetes-check,
  .dr-form label:has(input[name="has_diabetes"]),
  .dr-form label:has(input[name="child_has_diabetes"]),
  .dr-child-edit label:has(input[name="has_diabetes"]),
  .dr-child-edit label:has(input[name="child_has_diabetes"]){
    font-size:1rem!important;
    gap:9px!important;
  }
}
