:root {
  --ink: #2e312d;
  --muted: #74786f;
  --paper: #fbfaf7;
  --cream: #f3eee5;
  --card: #ffffff;
  --line: #e5e0d8;
  --sage: #6f806d;
  --sage-soft: #e7ede5;
  --terracotta: #b56f55;
  --terracotta-soft: #f5e8e2;
  --gold: #ad8a48;
  --gold-soft: #f5eedb;
  --blue: #6b7f95;
  --blue-soft: #e9eef3;
  --radius-lg: 24px;
  --radius-md: 16px;
  --shadow: 0 14px 40px rgba(50, 47, 42, 0.08);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
}
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { min-height: 100vh; }
.topbar {
  height: 76px;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(251,250,247,.96);
  position: sticky;
  top: 0;
  z-index: 10;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  text-align: left;
}
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: white;
  font-weight: 700;
  background: var(--sage);
}
.brand strong { display: block; font-family: "Fraunces", serif; font-size: 20px; }
.brand small { color: var(--muted); font-size: 12px; }
.top-actions { display: flex; align-items: center; gap: 10px; }
.region-pill { padding: 8px 12px; border-radius: 999px; background: var(--sage-soft); font-size: 13px; font-weight: 600; }
.ghost-btn, .secondary-btn {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 600;
}
.primary-btn {
  border: 0;
  background: var(--ink);
  color: white;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 700;
}
.main { max-width: 1120px; margin: 0 auto; padding: 42px 28px 72px; }
.hero-panel {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  padding: 42px;
  border-radius: var(--radius-lg);
  background: var(--cream);
}
.eyebrow { margin: 0 0 9px; color: var(--sage); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
h1, h2, h3 { font-family: "Fraunces", serif; margin-top: 0; }
h1 { max-width: 720px; margin-bottom: 14px; font-size: clamp(34px, 5vw, 56px); line-height: 1.02; }
h2 { font-size: 30px; }
h3 { font-size: 21px; }
p { line-height: 1.55; }
.hero-copy { max-width: 650px; margin: 0; color: var(--muted); font-size: 17px; }
.family-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.child-card {
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: var(--radius-lg);
  padding: 24px;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease;
}
.child-card:hover { transform: translateY(-2px); }
.child-avatar { width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; background: var(--blue-soft); font-weight: 700; font-size: 18px; margin-bottom: 18px; }
.child-meta { color: var(--muted); margin-top: -10px; }
.card-highlight { margin: 18px 0; padding: 14px; background: var(--cream); border-radius: 14px; }
.card-highlight strong { display:block; margin-bottom: 4px; }
.card-highlight span { color: var(--muted); font-size: 14px; }
.card-actions { display:flex; gap: 10px; }
.card-actions button { flex:1; }
.info-strip { margin-top: 24px; display:grid; grid-template-columns:1fr 1fr; gap: 18px; }
.info-strip > div { padding: 20px 22px; border:1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.info-strip p { color: var(--muted); margin-bottom: 0; }
.empty-card { grid-column: 1/-1; padding: 36px; border:1px dashed #cbc4b9; border-radius: var(--radius-lg); text-align:center; color: var(--muted); }

.child-header { display:flex; justify-content:space-between; gap: 24px; align-items:end; padding-bottom: 24px; }
.child-title-row { display:flex; align-items:center; gap: 16px; }
.child-title-row .child-avatar { margin:0; width:62px; height:62px; border-radius:20px; }
.child-header h1 { font-size: 44px; margin:0 0 6px; }
.child-header p { margin:0; color: var(--muted); }
.tabs { display:flex; gap: 8px; border-bottom:1px solid var(--line); margin-bottom: 28px; overflow-x:auto; }
.tab { border:0; background:transparent; padding: 13px 16px; color:var(--muted); font-weight:700; white-space:nowrap; border-bottom:3px solid transparent; }
.tab.active { color:var(--ink); border-bottom-color: var(--ink); }
.week-grid { display:grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }
.focus-card { border-radius: var(--radius-lg); padding: 30px; border:1px solid var(--line); background:#fff; }
.focus-card.primary { background: var(--sage-soft); border-color: transparent; }
.focus-label { font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--sage); }
.focus-card h2 { margin:10px 0 8px; font-size: 34px; }
.focus-card .lead { font-size:17px; }
.activity-box { margin-top:20px; padding:18px; background:rgba(255,255,255,.65); border-radius:16px; }
.activity-box strong { display:block; margin-bottom:7px; }
.activity-actions { display:flex; gap:10px; margin-top: 16px; flex-wrap:wrap; }
.mini-list { display:grid; gap: 12px; margin-top:14px; }
.mini-item { padding:15px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.mini-item span { color:var(--muted); font-size:14px; }
.tip-card { padding:22px; border-radius: var(--radius-md); background: var(--terracotta-soft); margin-top:22px; }
.tip-card strong { display:block; margin-bottom:6px; }
.checkin-intro { max-width:720px; }
.checkin-grid { display:grid; gap:16px; margin-top:22px; }
.checkin-card { border:1px solid var(--line); border-radius: var(--radius-lg); background:#fff; padding:24px; }
.checkin-card .category { color:var(--sage); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.answer-row { display:flex; gap:9px; flex-wrap:wrap; margin-top:16px; }
.answer-btn { border:1px solid var(--line); border-radius:999px; padding:10px 14px; background:#fff; font-weight:700; }
.answer-btn.selected { background:var(--ink); color:#fff; border-color:var(--ink); }
.progress-summary { margin-top:24px; padding:20px 22px; border-radius:16px; background:var(--gold-soft); }
.journey-grid { display:grid; gap:14px; }
.journey-row { display:grid; grid-template-columns:160px 1fr 190px; gap:18px; align-items:center; padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.stage-badge { display:inline-flex; align-items:center; gap:8px; width:max-content; padding:7px 10px; border-radius:999px; font-size:12px; font-weight:800; }
.stage-building { background:var(--terracotta-soft); color:#82503e; }
.stage-developing { background:var(--gold-soft); color:#80682f; }
.stage-secure { background:var(--sage-soft); color:#50624d; }
.stage-stretch { background:var(--blue-soft); color:#4e657e; }
.progress-track { height:8px; background:#ece8e2; border-radius:99px; overflow:hidden; }
.progress-track > span { display:block; height:100%; border-radius:99px; background:var(--sage); }
.curriculum-note { color:var(--muted); font-size:13px; }

.modal { width:min(560px, calc(100vw - 32px)); border:0; border-radius:22px; padding:0; box-shadow:0 30px 80px rgba(0,0,0,.22); }
.modal::backdrop { background:rgba(35,34,31,.45); }
.modal-inner { padding:28px; }
.modal-head { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.modal-head button { border:0; background:transparent; font-size:24px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-field { display:grid; gap:7px; }
.form-field.full { grid-column:1/-1; }
label { font-weight:700; font-size:13px; }
input, select { width:100%; border:1px solid var(--line); border-radius:12px; padding:12px 13px; background:#fff; color:var(--ink); min-height:46px; }
.form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }
.helper { color:var(--muted); font-size:13px; }
.settings-list { display:grid; gap:15px; }

@media (max-width: 860px) {
  .family-grid { grid-template-columns:1fr 1fr; }
  .week-grid { grid-template-columns:1fr; }
  .journey-row { grid-template-columns:1fr; gap:10px; }
}
@media (max-width: 620px) {
  .topbar { padding:0 16px; }
  .brand small { display:none; }
  .region-pill { display:none; }
  .main { padding:24px 16px 56px; }
  .hero-panel { padding:26px; align-items:start; flex-direction:column; }
  .family-grid, .info-strip { grid-template-columns:1fr; }
  .child-header { align-items:start; flex-direction:column; }
  .child-header h1 { font-size:38px; }
  .form-grid { grid-template-columns:1fr; }
  .form-field.full { grid-column:auto; }
}

/* Starting diagnostic */
.start-highlight { background: var(--blue-soft); }
.starting-banner {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin-bottom:20px; padding:16px 18px; border:1px solid var(--line); border-radius:16px; background:var(--blue-soft);
}
.starting-banner strong, .starting-banner span { display:block; }
.starting-banner span { margin-top:3px; color:var(--muted); font-size:14px; }
.diagnostic-shell, .diagnostic-complete { max-width:860px; margin:0 auto; }
.diagnostic-intro { max-width:720px; }
.diagnostic-lead { max-width:720px; color:var(--muted); font-size:17px; }
.diagnostic-progress { margin:24px 0 16px; }
.diagnostic-progress > div:first-child { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:13px; }
.diagnostic-progress strong { color:var(--ink); }
.diagnostic-track { margin-top:8px; height:8px; background:#ebe6df; border-radius:99px; overflow:hidden; }
.diagnostic-track span { display:block; height:100%; border-radius:99px; background:var(--sage); transition:width .2s ease; }
.diagnostic-card { padding:30px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow); }
.diagnostic-card .category { color:var(--sage); font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.diagnostic-card h3 { margin:14px 0 8px; font-size:26px; line-height:1.25; }
.diagnostic-note { color:var(--muted); margin-bottom:22px; }
.diagnostic-answer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.diagnostic-answer { min-height:118px; padding:16px; text-align:left; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); }
.diagnostic-answer strong, .diagnostic-answer span { display:block; }
.diagnostic-answer strong { margin-bottom:7px; }
.diagnostic-answer span { color:var(--muted); font-size:13px; line-height:1.45; }
.diagnostic-answer.selected { border-color:var(--ink); background:var(--cream); }
.diagnostic-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.diagnostic-nav button:disabled { opacity:.45; cursor:not-allowed; }
.text-btn { border:0; background:transparent; color:var(--muted); padding:10px 4px; font-weight:700; }
.text-btn:hover { color:var(--ink); }
.baseline-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0; }
.baseline-card { padding:20px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.baseline-card span, .baseline-card small { display:block; }
.baseline-card span { color:var(--muted); font-size:13px; margin-bottom:7px; }
.baseline-card strong { display:block; font-family:"Fraunces",serif; font-size:24px; margin-bottom:5px; }
.baseline-card small { color:var(--muted); line-height:1.4; }
.next-step-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:20px 0 8px; padding:22px; border-radius:18px; background:var(--sage-soft); }
.next-step-card p { margin:4px 0 0; color:var(--muted); }

@media (max-width: 700px) {
  .diagnostic-answer-grid { grid-template-columns:1fr; }
  .diagnostic-answer { min-height:auto; }
  .baseline-grid { grid-template-columns:1fr; }
  .starting-banner, .next-step-card { align-items:flex-start; flex-direction:column; }
}

/* Membership + portfolio */
.plan-pill {
  border: 1px solid #d9d1c5;
  background: linear-gradient(180deg, #fffdf8, #f5efe3);
  color: var(--ink);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
}
.plan-pill::before { content: '✦'; margin-right: 6px; color: var(--gold); }
.membership-strip {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.membership-strip > div, .usage-copy { display: grid; gap: 3px; }
.membership-strip strong { font-family: "Fraunces", serif; font-size: 18px; }
.membership-strip small, .usage-copy small { color: var(--muted); }
.membership-kicker {
  color: var(--sage);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}
.child-header-actions { display: flex; align-items: center; gap: 10px; }
.mini-plan-badge { padding: 8px 10px; border-radius: 999px; background: var(--cream); color: var(--muted); font-size: 12px; font-weight: 800; }
.settings-membership { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--cream); }
.settings-membership > div { display:grid; gap:3px; }
.settings-membership small { color:var(--muted); }

.plan-modal { width:min(1040px, calc(100vw - 28px)); }
.plan-modal-inner { padding: 30px; }
.plan-intro { color: var(--muted); max-width: 720px; margin-bottom: 0; }
.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.plan-card {
  position: relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.plan-card.current { background: var(--cream); border-color: #d8cec1; }
.plan-card.focused { outline: 2px solid var(--sage); outline-offset: 2px; }
.plan-card-head h3 { margin:0 0 8px; font-size:24px; }
.plan-price { font-family:"Fraunces",serif; font-size:30px; line-height:1; margin-bottom:9px; }
.plan-card-head p { color:var(--muted); min-height:48px; }
.plan-card ul { list-style:none; padding:0; margin:14px 0 22px; display:grid; gap:10px; color:#555950; font-size:14px; }
.plan-card li { line-height:1.4; }
.plan-card .plan-select { width:100%; margin-top:auto; }
.popular-label, .ai-label { width:max-content; margin-bottom:14px; padding:6px 9px; border-radius:999px; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.popular-label { background:var(--sage-soft); color:#52634f; }
.ai-label { background:linear-gradient(135deg,var(--blue-soft),var(--gold-soft)); color:#566273; }
.plan-footnote { color:var(--muted); font-size:12px; margin:16px 2px 0; }

.portfolio-head { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.portfolio-head > div:first-child { max-width:700px; }
.portfolio-head h2 { margin-bottom:8px; }
.portfolio-head p { color:var(--muted); margin-bottom:0; }
.portfolio-actions { flex:0 0 auto; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.portfolio-usage {
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(170px, .8fr) auto;
  align-items:center;
  gap:18px;
  margin:22px 0;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--cream);
}
.usage-track { height:8px; background:#e2ddd4; border-radius:99px; overflow:hidden; }
.usage-track span { display:block; height:100%; background:var(--sage); border-radius:99px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.portfolio-card { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 28px rgba(50,47,42,.06); }
.photo-frame { position:relative; aspect-ratio:4/3; background:linear-gradient(145deg,#ece7de,#f8f4ed); overflow:hidden; }
.photo-frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .2s ease; }
.photo-frame img.loaded { opacity:1; }
.photo-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#9f9a91; font-family:"Fraunces",serif; font-size:44px; }
.portfolio-card-body { padding:20px; }
.portfolio-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; }
.portfolio-meta span { color:var(--sage); font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.portfolio-card h3 { margin:10px 0 6px; }
.portfolio-card p { color:var(--muted); margin:0; font-size:14px; }
.portfolio-card-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.danger-text { color:#8b5a4b; }
.ai-insight { margin-top:16px; padding:16px; border-radius:16px; background:linear-gradient(135deg,var(--blue-soft),#f5f1e8); border:1px solid rgba(83,103,123,.08); }
.ai-insight-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid rgba(83,103,123,.12); }
.ai-insight-head span { display:block; margin:0; color:#53677b; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.ai-insight-head small { padding:5px 8px; border-radius:999px; background:rgba(255,255,255,.72); color:#69747c; font-size:10px; font-weight:800; }
.ai-insight-section { padding:11px 0 0; }
.ai-insight-section + .ai-insight-section { margin-top:10px; border-top:1px solid rgba(83,103,123,.10); }
.ai-insight-section strong { display:block; margin-bottom:4px; color:#2f3940; font-size:12px; }
.ai-insight-section p { margin:0; color:#4e555a; font-size:13px; line-height:1.55; }
.ai-insight-section.next-step { margin:12px -6px 0; padding:12px 10px 0; border-radius:12px; background:rgba(255,255,255,.46); border-top:0; }
.ai-caveat { margin:12px 0 0 !important; padding-top:9px; border-top:1px solid rgba(83,103,123,.10); color:#7d8387 !important; font-size:10px !important; font-style:italic; }
.portfolio-empty { padding:48px 28px; border:1px dashed #cfc7bb; border-radius:22px; text-align:center; background:#fff; }
.portfolio-empty-art { width:150px; height:116px; margin:0 auto 22px; display:grid; place-items:center; position:relative; border-radius:18px; background:var(--blue-soft); transform:rotate(-2deg); }
.portfolio-empty-art::after { content:''; position:absolute; width:88px; height:72px; right:-28px; bottom:-8px; border-radius:15px; background:var(--gold-soft); transform:rotate(7deg); border:5px solid #fff; }
.portfolio-empty-art span { font-family:"Fraunces",serif; font-size:28px; }
.portfolio-empty-art i { position:absolute; right:-10px; bottom:18px; z-index:1; font-style:normal; font-weight:800; color:#786536; }
.portfolio-empty p { max-width:560px; margin:0 auto 18px; color:var(--muted); }
.ai-portfolio-banner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; margin-top:24px; padding:22px; border:1px solid var(--line); border-radius:20px; background:linear-gradient(135deg,#f2f0eb,#edf0f3); }
.ai-portfolio-banner.unlocked { background:linear-gradient(135deg,var(--blue-soft),var(--gold-soft)); }
.ai-portfolio-banner h3 { margin:4px 0; }
.ai-portfolio-banner p { margin:0; color:var(--muted); }
.ai-spark { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; background:#fff; font-size:20px; box-shadow:0 7px 20px rgba(60,60,60,.07); }

button:disabled { cursor:default; opacity:.58; }

@media (max-width: 860px) {
  .plan-grid { grid-template-columns:1fr; }
  .plan-card-head p { min-height:0; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-usage { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .plan-pill { padding:8px 10px; }
  .top-actions { gap:6px; }
  .top-actions .ghost-btn { padding:9px 10px; }
  .membership-strip, .portfolio-head, .settings-membership { align-items:flex-start; flex-direction:column; }
  .child-header-actions { width:100%; justify-content:space-between; }
  .portfolio-card-actions { align-items:flex-start; flex-direction:column; }
  .ai-portfolio-banner { grid-template-columns:1fr; }
  .ai-spark { display:none; }
  .plan-modal-inner { padding:22px; }
}

/* Authentication + owner portal */
[hidden] { display:none !important; }
.auth-root { min-height: 100vh; padding: 42px 24px; background:linear-gradient(135deg,#f4eee5 0%,#f8f5ef 48%,#e8eee6 100%); }
.auth-page { width:min(1080px,100%); margin:0 auto; display:grid; grid-template-columns:1.05fr .8fr; gap:54px; align-items:center; min-height:calc(100vh - 84px); }
.auth-brand-block { padding:34px 12px; max-width:590px; }
.auth-mark { width:62px; height:62px; border-radius:20px; display:grid; place-items:center; background:var(--ink); color:#fff; font-family:'Fraunces',serif; font-size:22px; margin-bottom:28px; }
.auth-brand-block h1 { font-size:clamp(42px,6vw,68px); line-height:.98; letter-spacing:-.045em; margin:12px 0 20px; }
.auth-brand-block > p:not(.eyebrow) { color:var(--muted); font-size:18px; line-height:1.65; max-width:520px; }
.auth-points { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.auth-points span { background:rgba(255,255,255,.68); border:1px solid rgba(90,87,80,.12); border-radius:999px; padding:9px 12px; font-size:13px; font-weight:700; }
.auth-card { background:rgba(255,255,255,.88); border:1px solid rgba(84,80,73,.12); border-radius:28px; padding:34px; box-shadow:0 24px 70px rgba(54,49,42,.10); backdrop-filter:blur(12px); }
.auth-card h2 { font-size:34px; margin:7px 0 8px; }
.auth-copy { color:var(--muted); margin:0 0 24px; }
.auth-form { display:grid; gap:15px; }
.auth-submit { width:100%; margin-top:3px; }
.auth-switch { margin:16px auto 0; display:block; }
.auth-message { border-radius:12px; padding:11px 13px; background:var(--blue-soft); margin-bottom:16px; font-size:14px; }
.prototype-login { border-top:1px solid var(--line); margin-top:26px; padding-top:22px; }
.prototype-login > strong { font-size:13px; }
.prototype-login p { color:var(--muted); font-size:13px; line-height:1.45; margin:6px 0 12px; }
.prototype-login > div { display:flex; flex-wrap:wrap; gap:8px; }
.settings-account { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid var(--line); border-radius:14px; }
.settings-account strong,.settings-account small { display:block; }
.settings-account small { color:var(--muted); margin-top:3px; }

.owner-shell { display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:start; }
.owner-side { position:sticky; top:92px; min-height:620px; background:#242824; color:#f9f6ef; border-radius:24px; padding:24px 18px; display:flex; flex-direction:column; }
.owner-overline { text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; opacity:.58; margin:0 0 4px; }
.owner-side h2 { font-family:'Fraunces',serif; font-size:27px; margin:0; }
.owner-side-copy { color:rgba(255,255,255,.57); font-size:13px; line-height:1.45; }
.owner-nav { display:grid; gap:5px; margin-top:27px; }
.owner-nav button { text-align:left; border:0; background:transparent; color:rgba(255,255,255,.64); padding:11px 12px; border-radius:11px; font-weight:700; }
.owner-nav button.active { background:rgba(255,255,255,.10); color:#fff; }
.owner-side-foot { margin-top:auto; border-top:1px solid rgba(255,255,255,.1); padding-top:16px; display:flex; gap:10px; align-items:center; }
.owner-side-foot strong,.owner-side-foot small { display:block; }
.owner-side-foot strong { font-size:12px; }
.owner-side-foot small { color:rgba(255,255,255,.48); font-size:11px; margin-top:2px; }
.status-dot { width:9px; height:9px; border-radius:99px; background:#9fb29a; box-shadow:0 0 0 4px rgba(159,178,154,.12); }
.owner-main { min-width:0; }
.owner-head { display:flex; align-items:end; justify-content:space-between; gap:22px; margin-bottom:24px; }
.owner-head h1 { font-size:40px; margin:5px 0 0; }
.owner-head-actions { display:flex; align-items:center; gap:12px; }
.owner-identity { color:var(--muted); font-size:13px; max-width:220px; overflow:hidden; text-overflow:ellipsis; }
.owner-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.owner-kpi { background:#fff; border:1px solid var(--line); border-radius:17px; padding:16px; min-width:0; display:flex; gap:11px; align-items:flex-start; }
.owner-kpi small,.owner-kpi strong,.owner-kpi span { display:block; }
.owner-kpi small { color:var(--muted); font-size:11px; font-weight:700; }
.owner-kpi strong { font-family:'Fraunces',serif; font-size:28px; margin:3px 0 1px; }
.owner-kpi div > span { color:var(--muted); font-size:10px; line-height:1.3; }
.kpi-icon { flex:0 0 auto; width:30px; height:30px; border-radius:9px; display:grid!important; place-items:center; font-size:12px; font-weight:900; background:var(--sage-soft); color:var(--sage); }
.kpi-photo { background:var(--blue-soft); color:#587087; }.kpi-ai { background:var(--gold-soft); color:#866f33; }.kpi-plan { background:var(--terracotta-soft); color:#835b49; }
.owner-grid-two { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px; }
.owner-grid-three { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:18px; }
.owner-panel { background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px; margin-bottom:18px; }
.owner-panel h3 { font-size:24px; margin:5px 0 3px; }
.owner-panel-head { display:flex; align-items:start; justify-content:space-between; gap:20px; margin-bottom:18px; }
.owner-panel-head p:not(.eyebrow) { color:var(--muted); margin:5px 0 0; font-size:13px; }
.membership-bars { display:grid; gap:15px; }
.membership-bar > div:first-child { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:12px; }
.membership-bar > div:first-child span { color:var(--muted); }
.owner-bar-track { height:8px; border-radius:999px; background:#efebe5; overflow:hidden; margin-top:7px; }
.owner-bar-track span { display:block; height:100%; background:#7d9279; border-radius:999px; }
.owner-insight { background:var(--sage-soft); border-radius:14px; padding:14px; margin-top:18px; }
.owner-insight strong,.owner-insight span { display:block; }
.owner-insight span { color:var(--muted); font-size:12px; margin-top:3px; }
.owner-activity-list { display:grid; gap:0; }
.owner-activity-list > div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); }
.owner-activity-list > div:last-child { border-bottom:0; }
.owner-activity-list span { color:var(--muted); font-size:13px; }
.owner-activity-list strong { font-size:15px; }
.owner-table-wrap { overflow-x:auto; }
.owner-table { width:100%; border-collapse:collapse; min-width:760px; }
.owner-table th { text-align:left; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); padding:10px 9px; border-bottom:1px solid var(--line); }
.owner-table td { padding:13px 9px; border-bottom:1px solid var(--line); font-size:12px; vertical-align:middle; }
.owner-table td:first-child strong,.owner-table td:first-child small { display:block; }
.owner-table td:first-child small { color:var(--muted); margin-top:2px; }
.table-plan { display:inline-flex; padding:6px 8px; border-radius:999px; background:#efede9; font-size:10px; font-weight:800; }

.owner-empty-row { color:var(--muted); text-align:center; padding:28px!important; }
.owner-panel-search { align-items:end; }
.owner-search { display:grid; gap:5px; width:min(280px,100%); }
.owner-search span { font-size:11px; color:var(--muted); }
.owner-account-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0; }
.owner-account-grid > div { padding:13px; background:var(--cream); border-radius:12px; }
.owner-account-grid span,.owner-account-grid strong { display:block; }
.owner-account-grid span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.owner-account-grid strong { margin-top:4px; font-size:13px; }
.privacy-callout { background:var(--blue-soft); border-radius:14px; padding:16px; margin-top:17px; }
.privacy-callout strong { display:block; margin-bottom:4px; }.privacy-callout p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.owner-plan-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:22px; }
.owner-plan-card.featured { background:var(--sage-soft); }
.owner-plan-card > span { color:var(--muted); font-size:12px; font-weight:700; }.owner-plan-card > strong { display:block; font-family:'Fraunces',serif; font-size:40px; margin-top:14px; }.owner-plan-card p { margin:0; font-weight:700; }.owner-plan-card small { color:var(--muted); }
.owner-big-number { font-family:'Fraunces',serif; font-size:42px; margin:18px 0 10px; }.owner-big-number span { color:var(--muted); font-size:17px; }
.content-health-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:20px; }.content-health-grid > div { border:1px solid var(--line); border-radius:14px; padding:15px; }.content-health-grid strong,.content-health-grid span,.content-health-grid em { display:block; }.content-health-grid span { color:var(--muted); font-size:12px; margin:4px 0 10px; }.content-health-grid em { font-style:normal; font-size:10px; font-weight:800; color:#596f56; }
.system-list { display:grid; margin-top:16px; }.system-list > div { display:flex; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); padding:10px 0; }.system-list span { color:var(--muted); font-size:12px; }.system-list strong { font-size:12px; }
.owner-security-badge { display:inline-flex; margin-top:14px; border-radius:999px; padding:8px 10px; background:var(--sage-soft); font-size:11px; font-weight:800; color:#53664f; }
.owner-checklist { margin:18px 0 0; padding-left:20px; display:grid; gap:10px; color:var(--muted); font-size:13px; }
code { font-size:.9em; background:#f0ede8; padding:2px 5px; border-radius:5px; }

@media (max-width:1100px) { .owner-kpis{grid-template-columns:repeat(3,1fr)} }
@media (max-width:860px) { .auth-page{grid-template-columns:1fr;gap:0}.auth-brand-block{padding-bottom:18px}.auth-brand-block h1{font-size:48px}.owner-shell{grid-template-columns:1fr}.owner-side{position:static;min-height:0}.owner-nav{display:flex;overflow-x:auto}.owner-nav button{white-space:nowrap}.owner-side-foot{margin-top:18px}.owner-grid-two,.owner-grid-three{grid-template-columns:1fr}.owner-kpis{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px) { .auth-root{padding:20px 14px}.auth-page{min-height:auto}.auth-brand-block{padding:12px 2px}.auth-brand-block h1{font-size:39px}.auth-card{padding:23px}.owner-head{align-items:start;flex-direction:column}.owner-head h1{font-size:33px}.owner-head-actions{width:100%;justify-content:space-between}.owner-kpis{grid-template-columns:1fr}.owner-account-grid,.content-health-grid{grid-template-columns:1fr}.owner-panel-search{align-items:start;flex-direction:column}.owner-search{width:100%} }

/* ==============================================================
   Little Steps v7 — parent-first visual system
   Layered as overrides so existing interactions remain untouched.
   ============================================================== */
:root {
  --ink:#27302b;
  --ink-2:#3f4742;
  --muted:#747a73;
  --paper:#f8f7f3;
  --cream:#f0ede5;
  --card:#fffefa;
  --line:#e3e0d8;
  --sage:#75836f;
  --sage-deep:#596653;
  --sage-soft:#e8eee4;
  --terracotta:#b9785f;
  --terracotta-soft:#f4e8e1;
  --gold:#a78a56;
  --gold-soft:#f4eedf;
  --blue:#718597;
  --blue-soft:#e9eef1;
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:15px;
  --shadow:0 18px 55px rgba(54,57,52,.075);
  --shadow-soft:0 8px 28px rgba(54,57,52,.055);
}
html { background:var(--paper); }
body {
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 0%, rgba(117,131,111,.09), transparent 26rem),
    radial-gradient(circle at 100% 18%, rgba(185,120,95,.055), transparent 24rem),
    var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::selection { background:#dce5d8; }
button { transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease; }
button:not(:disabled):active { transform:translateY(1px); }

.topbar {
  height:78px;
  padding:0 max(22px, calc((100vw - 1240px)/2));
  border-bottom:1px solid rgba(68,75,69,.09);
  background:rgba(248,247,243,.88);
  backdrop-filter:blur(18px) saturate(1.1);
}
.brand { gap:11px; }
.brand-mark {
  width:44px;height:44px;padding:6px;border-radius:15px;
  background:#f1eee7;border:1px solid rgba(89,102,83,.12);box-shadow:0 6px 18px rgba(60,67,60,.055);
}
.brand-mark img { width:100%;height:100%;object-fit:contain;display:block; }
.brand strong { font-size:21px;letter-spacing:-.02em; }
.brand small { margin-top:2px;font-size:11px;letter-spacing:.01em; }
.top-actions { gap:8px; }
.region-pill,.plan-pill,.mini-plan-badge {
  border:1px solid rgba(89,102,83,.12);
  background:rgba(232,238,228,.72);
  color:var(--sage-deep);
  box-shadow:none;
}
.ghost-btn,.secondary-btn {
  border-color:rgba(63,71,66,.13);
  background:rgba(255,254,250,.82);
  border-radius:13px;
  box-shadow:0 3px 12px rgba(48,52,48,.025);
}
.ghost-btn:hover,.secondary-btn:hover { border-color:rgba(89,102,83,.28);box-shadow:0 7px 20px rgba(48,52,48,.05); }
.primary-btn {
  background:var(--ink);border-radius:13px;padding:12px 18px;
  box-shadow:0 8px 18px rgba(39,48,43,.12);
}
.primary-btn:hover { background:#1f2723;box-shadow:0 11px 25px rgba(39,48,43,.16);transform:translateY(-1px); }
.text-btn { color:var(--sage-deep);font-weight:700; }

.main { max-width:1180px;padding:48px 28px 84px; }
.eyebrow { color:var(--sage-deep);font-size:11px;font-weight:800;letter-spacing:.14em; }
h1,h2,h3 { color:#28302c;letter-spacing:-.025em; }
h1 { letter-spacing:-.04em; }

.hero-panel {
  position:relative;overflow:hidden;
  align-items:center;
  padding:48px 50px;
  border:1px solid rgba(85,96,84,.10);
  border-radius:32px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.44), transparent 56%),
    linear-gradient(135deg,#e9eee5 0%,#f1ede4 70%,#f2e9e1 100%);
  box-shadow:var(--shadow-soft);
}
.hero-panel::after {
  content:'';position:absolute;right:-85px;top:-120px;width:300px;height:300px;border-radius:50%;
  border:1px solid rgba(117,131,111,.13);box-shadow:0 0 0 46px rgba(255,255,255,.09),0 0 0 92px rgba(255,255,255,.06);pointer-events:none;
}
.hero-copy-block { position:relative;z-index:1; }
.hero-panel h1 { max-width:700px;font-size:clamp(40px,5.4vw,64px);line-height:.99;margin-bottom:17px; }
.hero-copy { max-width:670px;color:#626a63;font-size:17px; }
.hero-chips { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }
.hero-chips span { padding:8px 11px;border:1px solid rgba(70,80,72,.10);border-radius:999px;background:rgba(255,255,255,.48);font-size:12px;font-weight:700;color:#5b645d; }
.hero-action-stack { position:relative;z-index:1;display:grid;justify-items:end;gap:10px;min-width:190px; }
.hero-action-stack > span { max-width:180px;text-align:right;color:#71776f;font-size:12px;line-height:1.45; }

.membership-strip {
  margin:22px 0 0!important;
  padding:15px 18px!important;
  border:1px solid rgba(62,70,64,.09)!important;
  border-radius:17px!important;
  background:rgba(255,254,250,.72)!important;
  box-shadow:none!important;
}
.membership-kicker { color:var(--sage-deep)!important; }

.family-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px; }
.child-card {
  position:relative;overflow:hidden;
  padding:23px;
  border-color:rgba(59,68,61,.10);
  border-radius:23px;
  background:rgba(255,254,250,.93);
  box-shadow:var(--shadow-soft);
}
.child-card::after { content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--sage),#aab6a5);opacity:.55; }
.child-card:nth-child(3n+2)::after { background:linear-gradient(90deg,var(--terracotta),#d3a08d); }
.child-card:nth-child(3n)::after { background:linear-gradient(90deg,var(--blue),#a9bac5); }
.child-card:hover { transform:translateY(-3px);box-shadow:0 19px 48px rgba(51,56,51,.09); }
.child-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px; }
.child-avatar {
  width:52px;height:52px;margin:0;border-radius:17px;
  background:linear-gradient(145deg,#e6ece2,#eef1ea);color:var(--sage-deep);
  border:1px solid rgba(89,102,83,.09);font-family:'Fraunces',serif;font-size:17px;
}
.child-card-status { display:inline-flex;max-width:138px;padding:6px 9px;border-radius:999px;background:#f2eee9;color:#827a71;font-size:10px;font-weight:800;text-align:center;line-height:1.25; }
.child-card-status.is-ready { background:var(--sage-soft);color:var(--sage-deep); }
.card-kicker { margin:0 0 4px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em; }
.child-card h3 { margin:0 0 7px;font-size:28px; }
.child-meta { margin:0;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.card-highlight { margin:20px 0 17px;padding:15px 16px;border-radius:14px;background:#f4f1ea;border:1px solid rgba(68,74,69,.055); }
.card-highlight.start-highlight { background:#edf1f3; }
.card-highlight strong { font-size:12px; }
.card-highlight span { display:block;margin-top:3px;line-height:1.45; }
.card-actions { gap:8px; }
.card-actions .primary-btn { flex:1.25; }

.info-strip { grid-template-columns:1fr 1fr;gap:14px;margin-top:18px; }
.info-strip > div { display:grid;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:18px 20px;border-color:rgba(61,69,63,.09);background:rgba(255,254,250,.66);border-radius:17px; }
.info-strip p { margin-top:4px;font-size:13px; }
.info-icon { width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--cream);color:var(--sage-deep);font-size:10px;font-weight:900; }

.child-header {
  align-items:center;padding:6px 4px 27px;
}
.child-title-row { gap:18px; }
.child-title-row .child-avatar { width:66px;height:66px;border-radius:21px;font-size:20px; }
.child-header h1 { font-size:46px;line-height:1;margin-bottom:9px; }
.child-context-line { display:flex;flex-wrap:wrap;gap:7px; }
.child-context-line span { padding:5px 8px;border:1px solid rgba(63,71,66,.09);border-radius:999px;background:rgba(255,254,250,.65);color:var(--muted);font-size:11px;font-weight:600; }
.child-header-actions { display:flex;align-items:center;gap:8px; }

.tabs {
  gap:4px;margin-bottom:30px;padding:5px;
  border:1px solid rgba(59,67,61,.10);border-radius:16px;background:rgba(255,254,250,.66);overflow-x:auto;
}
.tab { flex:0 0 auto;padding:10px 14px;border:0!important;border-radius:11px;color:#7b817a;font-size:12px; }
.tab.active { color:var(--ink);background:#fff;box-shadow:0 5px 15px rgba(49,54,50,.055); }

.starting-banner { border-color:rgba(94,111,126,.10);border-radius:18px;background:linear-gradient(135deg,#edf1f2,#f3f1eb); }
.week-grid { grid-template-columns:minmax(0,1.32fr) minmax(300px,.68fr);gap:18px;align-items:start; }
.focus-card { border-color:rgba(59,67,61,.10);border-radius:24px;padding:28px;background:rgba(255,254,250,.92);box-shadow:var(--shadow-soft); }
.focus-card.primary { position:relative;overflow:hidden;background:linear-gradient(145deg,#e8eee4 0%,#edf0e8 63%,#f2ede5 100%); }
.focus-card.primary::before { content:'';position:absolute;right:-90px;bottom:-125px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(89,102,83,.11);box-shadow:0 0 0 42px rgba(255,255,255,.08); }
.focus-card.primary > * { position:relative;z-index:1; }
.focus-label { font-size:10px;letter-spacing:.13em;color:var(--sage-deep); }
.focus-card h2 { font-size:39px;line-height:1.04;margin:13px 0 12px; }
.focus-card .lead { font-size:17px;color:#4e5851; }
.activity-box { padding:17px 18px;border:1px solid rgba(81,94,80,.08);background:rgba(255,255,255,.55); }
.mini-item { border-color:rgba(59,67,61,.09);background:rgba(255,254,250,.78); }
.tip-card { border:1px solid rgba(178,112,87,.08);border-radius:17px;background:#f3eae5;box-shadow:none; }

.checkin-intro { max-width:760px; }
.checkin-intro h2 { font-size:36px;margin-bottom:10px; }
.checkin-intro p:not(.eyebrow) { color:var(--muted); }
.checkin-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.checkin-card { padding:22px;border-color:rgba(59,67,61,.09);border-radius:19px;background:rgba(255,254,250,.9);box-shadow:var(--shadow-soft); }
.checkin-card h3 { font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.5;letter-spacing:-.01em;margin-top:8px; }
.answer-row { display:grid;grid-template-columns:repeat(3,1fr);gap:7px; }
.answer-btn { padding:10px 8px;border-color:rgba(61,69,63,.11);border-radius:11px;font-size:11px;line-height:1.25; }
.answer-btn.selected { background:var(--sage-deep);border-color:var(--sage-deep); }
.progress-summary { border:1px solid rgba(162,134,79,.08);background:#f3eee0; }

.journey-grid { gap:10px; }
.journey-row { padding:18px;border-color:rgba(59,67,61,.09);border-radius:17px;background:rgba(255,254,250,.9); }
.progress-track { height:6px; }

.diagnostic-card,.baseline-card,.next-step-card,.portfolio-card,.portfolio-usage,.settings-account,.owner-panel,.owner-plan-card {
  border-color:rgba(59,67,61,.09)!important;
}
.diagnostic-card { box-shadow:var(--shadow-soft);background:rgba(255,254,250,.92)!important; }
.diagnostic-answer { border-color:rgba(59,67,61,.10)!important;background:#fffefa!important; }
.diagnostic-answer.selected { border-color:var(--sage)!important;background:var(--sage-soft)!important;box-shadow:0 0 0 2px rgba(117,131,111,.08); }
.portfolio-card { border-radius:22px;box-shadow:var(--shadow-soft); }
.photo-frame { background:linear-gradient(145deg,#eeebe5,#f6f2eb); }
.ai-insight { background:linear-gradient(135deg,#e9eef1,#f3eee2); }

.modal { border:1px solid rgba(65,73,67,.10);border-radius:25px;background:#fffefa;box-shadow:0 35px 100px rgba(28,32,29,.22); }
.modal::backdrop { background:rgba(33,38,34,.32);backdrop-filter:blur(4px); }
input,select { border-color:rgba(61,69,63,.13);border-radius:12px;background:#fffefa; }
input:focus,select:focus { outline:3px solid rgba(117,131,111,.10);border-color:rgba(89,102,83,.45); }

.auth-root { padding:28px;background:radial-gradient(circle at 20% 8%,rgba(117,131,111,.14),transparent 34rem),linear-gradient(135deg,#f4f0e8 0%,#f8f6f0 58%,#e9eee5 100%); }
.auth-page { width:min(1120px,100%);grid-template-columns:1.08fr .76fr;gap:68px; }
.auth-brand-block { max-width:640px; }
.auth-mark { width:72px;height:72px;padding:12px;border-radius:22px;background:rgba(255,254,250,.62);border:1px solid rgba(89,102,83,.12);box-shadow:var(--shadow-soft); }
.auth-mark img { display:block;width:100%;height:100%;object-fit:contain; }
.auth-brand-block h1 { max-width:650px;font-size:clamp(48px,6.5vw,76px);line-height:.94;letter-spacing:-.055em; }
.auth-brand-block > p:not(.eyebrow) { color:#626a63;font-size:18px; }
.auth-points span { background:rgba(255,254,250,.62);border-color:rgba(65,73,67,.09);font-size:12px; }
.auth-card { padding:36px;border:1px solid rgba(65,73,67,.10);border-radius:27px;background:rgba(255,254,250,.86);box-shadow:0 28px 80px rgba(53,60,54,.11); }
.auth-card h2 { font-size:36px;line-height:1.04; }

.owner-side { background:#2b332e; }
.owner-kpi,.owner-panel,.owner-plan-card { background:rgba(255,254,250,.92);box-shadow:var(--shadow-soft); }

@media (max-width:900px) {
  .hero-panel { padding:38px; }
  .family-grid { grid-template-columns:1fr 1fr; }
  .week-grid { grid-template-columns:1fr; }
  .checkin-grid { grid-template-columns:1fr; }
  .auth-page { grid-template-columns:1fr;gap:8px; }
  .auth-brand-block { padding-bottom:10px; }
}
@media (max-width:620px) {
  .topbar { height:70px;padding:0 13px; }
  .brand { gap:8px; }
  .brand-mark { width:38px;height:38px;border-radius:13px; }
  .brand strong { font-size:18px; }
  .brand small,.region-pill { display:none; }
  .top-actions { gap:4px; }
  .top-actions .ghost-btn { padding:8px 9px;border-radius:10px;font-size:11px; }
  .plan-pill { padding:7px 9px!important;font-size:11px!important; }
  .main { padding:22px 14px 64px; }
  .hero-panel { padding:29px 24px;border-radius:25px;align-items:flex-start; }
  .hero-panel h1 { font-size:43px; }
  .hero-action-stack { width:100%;justify-items:start; }
  .hero-action-stack > span { display:none; }
  .hero-chips { gap:6px;margin-top:19px; }
  .hero-chips span { font-size:10px;padding:6px 8px; }
  .family-grid,.info-strip { grid-template-columns:1fr; }
  .child-card { padding:21px; }
  .info-strip > div { padding:16px; }
  .child-header { align-items:flex-start; }
  .child-header h1 { font-size:39px; }
  .child-title-row { align-items:flex-start; }
  .child-title-row .child-avatar { width:55px;height:55px;border-radius:18px; }
  .tabs { margin-left:-2px;margin-right:-2px;border-radius:14px; }
  .tab { padding:9px 11px;font-size:11px; }
  .focus-card { padding:22px; }
  .focus-card h2 { font-size:33px; }
  .answer-row { grid-template-columns:1fr; }
  .answer-btn { text-align:left;padding:11px 12px; }
  .auth-root { padding:18px 13px; }
  .auth-brand-block { padding:10px 2px 17px; }
  .auth-mark { width:58px;height:58px;border-radius:18px; }
  .auth-brand-block h1 { font-size:45px; }
  .auth-brand-block > p:not(.eyebrow) { font-size:16px; }
  .auth-card { padding:24px;border-radius:22px; }
}

/* v8.1 age-specific milestone experience */
.milestone-intro{max-width:860px;margin-bottom:24px}.milestone-intro h2{margin:4px 0 10px}.milestone-intro>p{max-width:720px;color:var(--muted)}
.milestone-summary{display:inline-flex;gap:9px;align-items:baseline;margin-top:10px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.58)}
.milestone-summary span{font-size:.85rem;color:var(--muted)}
.milestone-group{margin:24px 0 30px}.milestone-group-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:12px}.milestone-group-head p{margin:0;color:var(--muted)}
.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.milestone-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(42,48,43,.035)}
.milestone-copy h3{margin:6px 0 7px;font-size:1.02rem}.milestone-copy p{margin:0;color:var(--muted);line-height:1.52}.milestone-copy .category{text-transform:capitalize}
.milestone-status{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.milestone-status-btn{min-height:38px;border:1px solid var(--line);border-radius:12px;background:var(--cream);font:inherit;font-size:.82rem;color:var(--muted);cursor:pointer}.milestone-status-btn.selected{background:var(--sage-soft);border-color:rgba(102,116,94,.35);color:var(--ink);font-weight:700}
@media(max-width:760px){.milestone-grid{grid-template-columns:1fr}.milestone-card{padding:16px}.milestone-status-btn{font-size:.78rem}}

/* Learn Along navigation refresh */
.primary-tabs { position:sticky; top:76px; z-index:7; padding-top:4px; background:rgba(251,250,247,.97); backdrop-filter:blur(12px); }
.today-hero { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(230px,.45fr); gap:22px; align-items:stretch; }
.today-hero-copy { padding:34px; border-radius:28px; background:var(--sage-soft); border:1px solid rgba(111,128,109,.12); }
.today-hero-copy h2 { max-width:720px; margin:8px 0 10px; font-size:clamp(31px,4vw,44px); line-height:1.04; }
.today-hero-copy > p:not(.eyebrow) { max-width:760px; color:#4f574d; font-size:17px; }
.today-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.today-meta span { padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.72); color:var(--muted); font-size:12px; font-weight:700; }
.rhythm-card { display:flex; flex-direction:column; justify-content:center; padding:28px; border:1px solid var(--line); border-radius:28px; background:#fff; }
.rhythm-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:20px; border-radius:14px; background:var(--gold-soft); color:var(--gold); font-weight:900; }
.rhythm-card strong { font-family:"Fraunces",serif; font-size:27px; }
.rhythm-card p { margin:5px 0 18px; color:var(--muted); }
.rhythm-card small { color:var(--sage); font-weight:800; }
.today-section { margin-top:38px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.section-heading h2 { margin-bottom:0; }
.text-link, .back-link { border:0; background:transparent; color:var(--sage); padding:6px 0; font-weight:800; }
.back-link { margin-bottom:14px; color:var(--muted); }
.learning-now-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.learning-now-card { position:relative; padding:22px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.learning-now-card h3 { margin:20px 0 6px; }
.learning-now-card p { min-height:64px; color:var(--muted); font-size:14px; }
.learning-dot { position:absolute; top:20px; left:22px; width:9px; height:9px; border-radius:99px; background:var(--sage); }
.readiness-callout { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:26px; padding:30px; border-radius:24px; background:linear-gradient(135deg,var(--blue-soft),#f4f6f3); border:1px solid rgba(107,127,149,.12); }
.readiness-callout > div { max-width:760px; }
.readiness-callout h2 { margin-bottom:8px; }
.readiness-callout p:last-child { color:var(--muted); margin-bottom:0; }
.coming-card { margin-top:24px; padding:25px 28px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.coming-card h3 { margin-bottom:6px; }
.coming-card > p:not(.eyebrow) { color:var(--muted); }
.progress-page-head, .profile-page-head { max-width:800px; margin-bottom:24px; }
.progress-page-head > p:last-child, .profile-page-head > p:last-child { color:var(--muted); font-size:16px; }
.progress-overview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.progress-area-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.progress-area-card div { display:grid; gap:3px; }
.progress-area-card div span { color:var(--muted); font-size:12px; }
.progress-area-card div strong { font-size:16px; }
.readiness-progress-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:20px; padding:24px; border-radius:20px; background:var(--blue-soft); }
.readiness-progress-card h3 { margin-bottom:6px; }
.readiness-progress-card p:last-child { color:var(--muted); margin-bottom:0; }
.tool-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }
.tool-card { min-height:150px; padding:21px; text-align:left; border:1px solid var(--line); border-radius:20px; background:#fff; color:var(--ink); }
.tool-card span, .tool-card strong, .tool-card small { display:block; }
.tool-card span { color:var(--sage); font-size:11px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.tool-card strong { margin:11px 0 7px; font-family:"Fraunces",serif; font-size:21px; }
.tool-card small { color:var(--muted); line-height:1.45; }
.tool-card:hover, .profile-action-card:hover { transform:translateY(-1px); box-shadow:var(--shadow); }
.trust-card { margin-top:22px; padding:22px 24px; border-radius:18px; background:var(--cream); }
.trust-card p { margin-bottom:0; color:var(--muted); }
.profile-summary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.profile-summary-grid article { display:grid; gap:6px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.profile-summary-grid span { color:var(--muted); font-size:12px; }
.profile-actions-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:20px; }
.profile-action-card { padding:24px; text-align:left; border:1px solid var(--line); border-radius:22px; background:#fff; color:var(--ink); transition:.18s ease; }
.profile-action-card span { color:var(--sage); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.profile-action-card strong { display:block; margin:10px 0 6px; font-family:"Fraunces",serif; font-size:23px; }
.profile-action-card p { margin:0; color:var(--muted); }
.readiness-head { max-width:850px; }
.readiness-head h2 { font-size:clamp(32px,4.4vw,46px); margin-bottom:12px; }
.readiness-head > p:last-of-type { color:var(--muted); font-size:16px; }
.readiness-observation-summary { display:inline-flex; align-items:baseline; gap:8px; margin-top:12px; padding:12px 15px; border-radius:14px; background:var(--gold-soft); }
.readiness-observation-summary strong { font-size:20px; }
.readiness-observation-summary span { color:var(--muted); font-size:13px; }
.readiness-groups { display:grid; gap:28px; margin-top:30px; }
.readiness-group-head { max-width:720px; margin-bottom:12px; }
.readiness-group-head p:last-child { margin-top:0; color:var(--muted); }
.readiness-list { display:grid; gap:10px; }
.readiness-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.75fr); gap:20px; align-items:center; padding:20px 22px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.readiness-item h3 { margin-bottom:6px; font-size:19px; }
.readiness-item p { margin:0; color:var(--muted); font-size:14px; }
.readiness-status { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.readiness-status-btn { min-height:44px; padding:8px; border:1px solid var(--line); border-radius:12px; background:var(--cream); color:var(--muted); font:inherit; font-size:12px; font-weight:700; }
.readiness-status-btn.selected { border-color:rgba(111,128,109,.35); background:var(--sage-soft); color:var(--ink); }
.readiness-note { margin-top:24px; padding:22px 24px; border-radius:18px; background:var(--terracotta-soft); }
.readiness-note p { margin-bottom:0; color:#665a55; }

@media (max-width:800px) {
  .today-hero, .learning-now-grid, .progress-overview-grid, .tool-grid, .profile-summary-grid, .profile-actions-grid { grid-template-columns:1fr; }
  .readiness-callout, .readiness-progress-card { align-items:flex-start; flex-direction:column; }
  .readiness-item { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .primary-tabs { top:70px; }
  .today-hero-copy, .rhythm-card { padding:23px; border-radius:22px; }
  .today-hero-copy h2 { font-size:34px; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .readiness-status { grid-template-columns:1fr; }
  .readiness-status-btn { min-height:42px; text-align:left; padding:10px 12px; }
}


.focus-selector{margin:0 0 22px;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--panel);display:grid;gap:16px}.focus-selector h2{margin:.2rem 0 .4rem}.focus-chip-row{display:flex;gap:10px;flex-wrap:wrap}.focus-chip{border:1px solid var(--line);background:var(--bg);padding:10px 14px;border-radius:999px;font:inherit;cursor:pointer}.focus-chip.selected{background:var(--ink);color:white;border-color:var(--ink)}.focus-selector small{color:var(--muted)}


.readiness-submit-card { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:26px; padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 10px 30px rgba(52,62,53,.04); }
.readiness-submit-card h3 { margin:3px 0 7px; }
.readiness-submit-card p:last-child { margin:0; color:var(--muted); }
.readiness-submit-card .primary-btn[disabled] { opacity:.42; cursor:not-allowed; }
.readiness-snapshot-head { max-width:850px; }
.readiness-snapshot-head h2 { font-size:clamp(34px,4.6vw,50px); margin-bottom:12px; }
.readiness-snapshot-head > p:last-child { color:var(--muted); font-size:17px; line-height:1.65; }
.readiness-snapshot-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; margin-top:30px; }
.readiness-strength-card, .readiness-focus-card { padding:26px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.readiness-focus-card { background:var(--sage-soft); }
.readiness-strength-card ul { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:12px; }
.readiness-strength-card li { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:13px 0; border-top:1px solid var(--line); }
.readiness-strength-card li strong { max-width:70%; }
.readiness-strength-card li span { color:var(--muted); font-size:12px; text-align:right; }
.readiness-focus-card p { color:#596559; }
.readiness-recommendations { margin-top:34px; }
.readiness-recommendation-list { display:grid; gap:12px; }
.readiness-recommendation { display:grid; grid-template-columns:44px 1fr; gap:16px; padding:22px; border:1px solid var(--line); border-radius:19px; background:#fff; }
.recommendation-number { display:grid; place-items:center; width:38px; height:38px; border-radius:13px; background:var(--gold-soft); color:var(--ink); font-weight:900; }
.readiness-recommendation h3 { margin:4px 0 8px; }
.readiness-recommendation p:not(.eyebrow) { margin-bottom:8px; color:var(--muted); }
.readiness-recommendation small { color:var(--sage); font-weight:700; }
.readiness-next-check { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; padding:24px; border-radius:20px; background:var(--blue-soft); }
.readiness-next-check h3 { margin:4px 0 7px; }
.readiness-next-check p:last-child { margin:0; color:var(--muted); }
@media (max-width: 760px) {
  .readiness-submit-card, .readiness-next-check { align-items:stretch; flex-direction:column; }
  .readiness-snapshot-grid { grid-template-columns:1fr; }
  .readiness-strength-card li { flex-direction:column; gap:4px; }
  .readiness-strength-card li strong { max-width:none; }
  .readiness-strength-card li span { text-align:left; }
}

.readiness-domain-overview { margin-top:34px; }
.readiness-domain-list { display:grid; gap:9px; }
.readiness-domain-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 18px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.readiness-domain-row > div { display:grid; gap:3px; }
.readiness-domain-row span { color:var(--muted); font-size:13px; }
.readiness-domain-row em { flex:0 0 auto; padding:7px 10px; border-radius:999px; background:var(--cream); color:var(--sage); font-size:12px; font-style:normal; font-weight:800; }
@media (max-width: 620px) { .readiness-domain-row { align-items:flex-start; flex-direction:column; } }

/* Learn Along beta retention pass */
textarea { width:100%; box-sizing:border-box; resize:vertical; border:1px solid rgba(61,69,63,.13); border-radius:12px; background:#fffefa; padding:12px 13px; font:inherit; color:var(--ink); line-height:1.5; }
textarea:focus { outline:3px solid rgba(117,131,111,.10); border-color:rgba(89,102,83,.45); }
.membership-strip { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:0 0 24px; padding:17px 20px; border:1px solid var(--line); border-radius:18px; background:rgba(255,254,250,.88); }
.membership-strip > div { display:grid; gap:3px; }
.membership-strip small { color:var(--muted); }
.onboarding-card { display:grid; grid-template-columns:minmax(240px,.8fr) 1.2fr; gap:28px; align-items:center; margin-bottom:22px; padding:26px; border:1px solid rgba(194,151,92,.18); border-radius:24px; background:linear-gradient(135deg,var(--gold-soft),#fffdfa); }
.onboarding-card h2 { margin:4px 0 8px; }
.onboarding-card p:last-child { margin:0; color:var(--muted); }
.onboarding-steps { display:grid; gap:8px; }
.onboarding-step { display:flex; align-items:center; gap:12px; padding:11px 13px; border:1px solid rgba(61,69,63,.09); border-radius:14px; background:rgba(255,255,255,.72); color:var(--ink); text-align:left; font:inherit; cursor:pointer; }
.onboarding-step span { display:grid; place-items:center; width:29px; height:29px; border-radius:10px; background:#fff; color:var(--sage); font-weight:900; }
.onboarding-step.done { opacity:.68; }
.onboarding-step.done span { background:var(--sage-soft); }
.why-seeing { margin:16px 0 0; padding:11px 13px; border-left:3px solid var(--sage); border-radius:8px; background:rgba(255,255,255,.55); color:#596159!important; font-size:13px!important; }
.review-callout { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:22px 0; padding:21px 23px; border:1px solid var(--line); border-radius:20px; background:var(--cream); }
.review-callout h3 { margin:3px 0 5px; }
.review-callout p:last-child { margin:0; color:var(--muted); }
.weekly-plan-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:20px; }
.weekly-plan-head > div:first-child { max-width:760px; }
.weekly-plan-head h2 { margin:4px 0 8px; font-size:clamp(32px,4.4vw,48px); }
.weekly-plan-head p:last-child { color:var(--muted); }
.week-rhythm-badge { flex:0 0 auto; display:grid; justify-items:center; min-width:130px; padding:16px 18px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.week-rhythm-badge strong { font-family:'Fraunces',serif; font-size:34px; }
.week-rhythm-badge span { color:var(--muted); font-size:12px; font-weight:700; }
.weekly-plan-list { display:grid; gap:14px; margin-bottom:26px; }
.weekly-plan-card { display:grid; grid-template-columns:46px 1fr; gap:17px; padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.weekly-plan-card.featured { background:linear-gradient(135deg,var(--sage-soft),#fff); border-color:rgba(111,128,109,.2); }
.plan-number { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:var(--gold-soft); font-weight:900; }
.weekly-plan-copy h3 { margin:5px 0 8px; font-family:'Fraunces',serif; font-size:27px; }
.weekly-plan-copy .lead { font-size:16px; }
.weekly-plan-copy details { margin-top:13px; }
.weekly-plan-copy summary { color:var(--sage); font-weight:800; cursor:pointer; }
.teacher-goal-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:22px 0; padding:24px; border:1px solid rgba(101,121,145,.13); border-radius:21px; background:var(--blue-soft); }
.teacher-goal-card > div { max-width:780px; }
.teacher-goal-card h3 { margin:4px 0 7px; }
.teacher-goal-card p { margin:0 0 7px; color:#59636c; }
.teacher-goal-card small { color:#566a75; font-weight:700; }
.teacher-translation { margin:14px 0; padding:15px; border-radius:14px; background:var(--blue-soft); }
.teacher-translation strong,.teacher-translation span,.teacher-translation small { display:block; }
.teacher-translation p { margin:5px 0 7px; }
.ask-card { display:flex; align-items:center; justify-content:space-between; gap:26px; margin:22px 0; padding:25px; border:1px solid rgba(80,92,84,.12); border-radius:22px; background:linear-gradient(135deg,#eef1f0,#f7f1e7); }
.ask-card > div { display:flex; align-items:flex-start; gap:15px; max-width:820px; }
.ask-card h3 { margin:4px 0 6px; }
.ask-card p { margin:0 0 7px; color:var(--muted); }
.ask-card small { color:var(--sage); font-weight:800; }
.ask-answer { display:grid; gap:14px; }
.ask-answer > p { font-size:17px; line-height:1.65; }
.ask-answer > div { display:grid; gap:4px; padding:14px 15px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.ask-answer > div span { color:var(--muted); line-height:1.55; }
.ask-answer > small { color:var(--muted); }
.activity-library { margin-top:34px; }
.library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.library-card { display:grid; gap:7px; padding:18px; border:1px solid var(--line); border-radius:17px; background:#fff; }
.library-card > span { color:var(--sage); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.library-card p { margin:0; color:var(--muted); font-size:14px; }
.story-head { max-width:900px; }
.story-head h2 { margin:4px 0 10px; font-size:clamp(34px,4.6vw,50px); }
.story-head > p:last-of-type { color:var(--muted); font-size:17px; line-height:1.6; }
.story-stats { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }
.story-stats span { padding:8px 11px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--muted); font-size:12px; }
.story-stats strong { color:var(--ink); }
.story-summary-card { display:flex; align-items:center; justify-content:space-between; gap:25px; margin:26px 0; padding:24px; border-radius:21px; background:var(--sage-soft); }
.story-summary-card h3 { margin:4px 0 6px; }
.story-summary-card p:last-child { margin:0; color:var(--muted); }
.story-timeline { margin-top:30px; }
.story-event { display:grid; grid-template-columns:80px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--line); }
.story-event time { color:var(--muted); font-size:12px; font-weight:800; }
.story-event div { display:grid; gap:3px; }
.story-event span { color:var(--sage); font-size:11px; font-weight:800; text-transform:uppercase; }
.story-event p { margin:2px 0 0; color:var(--muted); }
.single-plan-card { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; margin:20px 0; padding:25px; border:1px solid rgba(111,128,109,.18); border-radius:22px; background:var(--sage-soft); }
.single-plan-card ul { margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; list-style:none; }
.single-plan-card .plan-price { margin:8px 0; font-family:'Fraunces',serif; font-size:34px; }
.single-plan-card .plan-price small { font:inherit; font-family:'DM Sans',sans-serif; font-size:13px; color:var(--muted); }
.allowance-card { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.allowance-card.focused { outline:3px solid rgba(194,151,92,.15); }
.allowance-card h3 { margin:3px 0 5px; }
.allowance-card p:last-child { margin:0; color:var(--muted); }
.setting-toggle { display:flex; align-items:flex-start; gap:12px; padding:15px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.setting-toggle input { width:auto; margin-top:4px; }
.setting-toggle span { display:grid; gap:3px; }
.setting-toggle small { color:var(--muted); }

@media(max-width:800px){
  .onboarding-card,.single-plan-card { grid-template-columns:1fr; }
  .weekly-plan-head,.teacher-goal-card,.ask-card,.story-summary-card,.allowance-card,.review-callout,.membership-strip { align-items:stretch; flex-direction:column; }
  .library-grid { grid-template-columns:1fr; }
  .single-plan-card ul { grid-template-columns:1fr; }
}
@media(max-width:620px){
  .weekly-plan-card { grid-template-columns:1fr; padding:19px; }
  .plan-number { width:34px; height:34px; }
  .story-event { grid-template-columns:64px 1fr; }
}

/* Parent observations + observation-shaped activities */
.observation-panel { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.observation-panel .section-heading { align-items:flex-start; }
.observation-panel .section-heading p:last-child { margin:5px 0 0; color:var(--muted); max-width:720px; }
.observation-list { display:grid; gap:10px; margin-top:16px; }
.observation-card { padding:18px; border:1px solid var(--line); border-radius:17px; background:var(--cream); }
.observation-card > div:first-child { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.observation-card > div:first-child span { color:var(--sage); font-size:11px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.observation-card time { color:var(--muted); font-size:12px; }
.observation-card > p { margin:10px 0 14px; font-size:15px; line-height:1.6; }
.observation-card footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:12px; border-top:1px solid rgba(61,69,63,.08); }
.observation-card footer small { color:var(--muted); }
.observation-card footer > div { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.danger-text { color:#985e55; }
.observation-empty { margin-top:14px; padding:18px; border-radius:16px; background:var(--cream); }
.observation-empty p { margin:5px 0 0; color:var(--muted); }
.observation-privacy { margin:16px 0 0; color:var(--muted); font-size:12px; }
.observation-influence { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:22px 0; padding:24px; border:1px solid rgba(194,151,92,.18); border-radius:21px; background:linear-gradient(135deg,var(--gold-soft),#fffdf8); }
.observation-influence > div:first-child { max-width:760px; }
.observation-influence h3 { margin:4px 0 7px; }
.observation-influence p { margin:0 0 6px; color:var(--muted); }
.observation-influence small { color:#6f675b; font-weight:700; }
.observation-influence-actions { display:flex; gap:9px; flex-wrap:wrap; flex:0 0 auto; }
.generating-card { display:grid; gap:8px; padding:20px; border-radius:18px; background:var(--sage-soft); }
.generating-card p { margin:0; color:var(--muted); }
@media(max-width:800px){
  .observation-card footer,.observation-influence { align-items:stretch; flex-direction:column; }
  .observation-influence-actions { width:100%; }
  .observation-influence-actions button { flex:1; }
}

/* v10.2 Today simplification + quick parent capture */
.today-capture{display:grid;grid-template-columns:minmax(0,.78fr) minmax(320px,1.22fr);gap:26px;align-items:center;margin-bottom:26px;padding:28px 30px;border:1px solid rgba(111,128,109,.16);border-radius:26px;background:linear-gradient(135deg,var(--sage-soft),rgba(255,255,255,.94));}
.today-capture-copy h2{margin:4px 0 8px;font-size:clamp(30px,4vw,42px);line-height:1.06}.today-capture-copy p:last-child{margin:0;color:var(--muted);max-width:520px;font-size:16px;line-height:1.55}
.today-capture-box{display:grid;gap:11px;padding:16px;border:1px solid rgba(111,128,109,.16);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 12px 35px rgba(52,62,53,.045)}
.today-capture-box textarea{width:100%;min-height:88px;resize:vertical;border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 15px;color:var(--ink);font:inherit;line-height:1.45;outline:none}.today-capture-box textarea:focus{border-color:rgba(111,128,109,.48);box-shadow:0 0 0 3px rgba(111,128,109,.09)}
.today-capture-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.today-capture-box>small{color:var(--muted);font-size:11px;line-height:1.4}
.today-overview{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:18px;align-items:stretch}.today-start-card{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:30px;border:1px solid rgba(111,128,109,.15);border-radius:26px;background:#fff}.today-start-card h2{margin:5px 0 9px;font-size:clamp(30px,3.7vw,42px);line-height:1.08}.today-start-card>div>p:not(.eyebrow):not(.why-seeing){color:var(--muted);font-size:16px;max-width:720px}.today-start-card .why-seeing{margin-top:15px}.today-start-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.today-start-footer .today-meta{margin-top:0}
.today-side-stack{display:grid;gap:10px}.today-rhythm-mini,.today-shortcut{padding:18px 19px;border:1px solid var(--line);border-radius:18px;background:#fff}.today-rhythm-mini{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 12px;background:var(--gold-soft);border-color:rgba(184,148,72,.12)}.today-rhythm-mini span{color:var(--muted);font-size:12px;font-weight:800}.today-rhythm-mini strong{grid-row:1 / span 2;grid-column:2;font-family:"Fraunces",serif;font-size:38px;line-height:.95;color:var(--ink)}.today-rhythm-mini small{color:var(--muted)}
.today-shortcut{text-align:left;color:var(--ink);cursor:pointer;transition:.16s ease}.today-shortcut:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(52,62,53,.055)}.today-shortcut span,.today-shortcut strong,.today-shortcut small{display:block}.today-shortcut span{color:var(--sage);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.today-shortcut strong{margin:6px 0 3px;font-family:"Fraunces",serif;font-size:18px}.today-shortcut small{color:var(--muted);line-height:1.35}
.today-week-preview{margin-top:30px}.today-week-preview .learning-now-card p{min-height:0}
@media(max-width:800px){.today-capture,.today-overview{grid-template-columns:1fr}.today-capture{padding:23px}.today-start-footer{align-items:flex-start;flex-direction:column}.today-capture-actions{justify-content:stretch}.today-capture-actions button{flex:1}}
@media(max-width:520px){.today-capture{padding:19px;border-radius:22px;gap:18px}.today-capture-copy h2{font-size:32px}.today-capture-actions{display:grid;grid-template-columns:1fr}.today-capture-actions button{width:100%}.today-start-card{padding:22px;border-radius:22px}.today-start-card h2{font-size:31px}.today-rhythm-mini,.today-shortcut{padding:16px}}


/* v10.3 editorial home + illustration motion + phone navigation */
.today-journal-shell{position:relative;display:grid;grid-template-columns:minmax(250px,.62fr) minmax(420px,1.38fr);gap:30px;align-items:stretch;margin-bottom:24px;padding:30px;border:1px solid rgba(111,128,109,.16);border-radius:30px;background:linear-gradient(125deg,#f3f6ef 0%,#fffdf9 58%,#f7f0e8 100%);overflow:hidden}
.today-journal-shell:after{content:'';position:absolute;left:-70px;bottom:-140px;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle at 60% 35%,rgba(188,121,91,.24),rgba(188,121,91,.07) 45%,transparent 46%);pointer-events:none}
.today-journal-intro{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:20px 12px 24px 4px}.today-journal-intro h2{max-width:430px;margin:7px 0 12px;font-size:clamp(38px,5vw,58px);line-height:.98}.today-journal-intro>p:last-of-type{max-width:430px;margin:0;color:var(--muted);font-size:16px;line-height:1.62}.journal-spark{color:#c58a52;font-size:18px}.journal-botanical{position:absolute;left:20px;bottom:-28px;width:150px;height:92px;opacity:.75}.journal-botanical b{position:absolute;left:48px;bottom:0;width:4px;height:72px;border-radius:99px;background:#7f9077;transform:rotate(-16deg)}.journal-botanical i{position:absolute;width:38px;height:19px;border-radius:100% 0 100% 0;background:#97a78e;transform-origin:100% 50%;animation:leafSway 4.5s ease-in-out infinite}.journal-botanical i:nth-child(1){left:18px;bottom:44px;transform:rotate(24deg)}.journal-botanical i:nth-child(2){left:53px;bottom:59px;transform:scaleX(-1) rotate(24deg);animation-delay:-1.2s}.journal-botanical i:nth-child(3){left:64px;bottom:27px;transform:scaleX(-1) rotate(8deg);animation-delay:-2.1s}
.today-journal-card{position:relative;z-index:2;display:grid;gap:13px;padding:20px;border:1px solid rgba(80,94,81,.12);border-radius:25px;background:rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(52,62,53,.07)}.journal-category-row{display:flex;gap:8px;flex-wrap:wrap}.journal-category-chip{padding:9px 14px;border:1px solid rgba(72,83,73,.12);border-radius:999px;background:#fffdf9;color:var(--muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease}.journal-category-chip:hover{transform:translateY(-1px)}.journal-category-chip.selected{background:#344c3c;border-color:#344c3c;color:#fff;box-shadow:0 8px 20px rgba(52,76,60,.14)}
.journal-paper{position:relative;display:grid;gap:8px;min-height:155px;padding:17px 18px 13px 31px;border:1px solid rgba(85,93,86,.14);border-radius:17px;background:repeating-linear-gradient(to bottom,#fffdfa 0,#fffdfa 31px,rgba(117,131,111,.09) 32px)}.journal-paper:before{content:'••••';position:absolute;left:8px;top:19px;color:#d8d2c8;letter-spacing:0;writing-mode:vertical-rl;line-height:1.9}.journal-paper>span{position:relative;z-index:1;color:#747b74;font-size:12px;font-weight:800}.journal-paper textarea{position:relative;z-index:1;width:100%;min-height:92px;padding:0;border:0!important;background:transparent!important;resize:none;color:var(--ink);font:inherit;line-height:2;outline:0!important;box-shadow:none!important}.journal-paper textarea::placeholder{color:#9a9d98}.today-capture-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.journal-save,.journal-ask{min-height:44px}.journal-ask{background:#344c3c!important}.journal-privacy{color:var(--muted);font-size:11px;line-height:1.45}
.today-shortcut-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0 30px}.home-shortcut{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:92px;padding:16px 17px;text-align:left;border:1px solid rgba(68,77,69,.10);border-radius:19px;background:#fff;color:var(--ink);cursor:pointer;box-shadow:0 8px 25px rgba(46,53,47,.035);transition:.18s ease}.home-shortcut:hover{transform:translateY(-2px);box-shadow:0 13px 32px rgba(46,53,47,.07)}.home-shortcut-week{background:#f0f5ec}.shortcut-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f3e8dc;color:#bd795d;font-size:18px}.home-shortcut-week .shortcut-icon{background:#dfe9da;color:#647b5d}.home-shortcut div{min-width:0}.home-shortcut strong,.home-shortcut small{display:block}.home-shortcut strong{font-family:'Fraunces',serif;font-size:16px}.home-shortcut small{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.home-shortcut>b{color:#7a837b;font-size:17px}
.animated-week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.animated-activity-card{overflow:hidden;border:1px solid rgba(68,77,69,.10);border-radius:23px;background:#fff;box-shadow:0 10px 30px rgba(46,53,47,.04)}.animated-activity-card.is-first{border-color:rgba(91,117,85,.20)}.activity-motion{position:relative;height:150px;overflow:hidden;background:linear-gradient(145deg,#edf3e8,#f7efe5);isolation:isolate}.activity-motion:before{content:'';position:absolute;inset:auto -28px -58px auto;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.42)}.motion-sun{position:absolute;right:22px;top:18px;width:30px;height:30px;border-radius:50%;background:#e8bf72;box-shadow:0 0 0 10px rgba(232,191,114,.12);animation:softPulse 4s ease-in-out infinite}.motion-orbit{position:absolute;left:20px;top:21px;width:76px;height:76px;border:1px dashed rgba(93,110,91,.2);border-radius:50%;animation:slowSpin 13s linear infinite}.motion-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#83977e;animation:floatDot 4s ease-in-out infinite}.motion-dot-a{left:40px;top:30px}.motion-dot-b{right:54px;bottom:26px;animation-delay:-1.5s}.motion-book{position:absolute;left:50%;bottom:28px;width:76px;height:50px;transform:translateX(-50%) rotate(-2deg);border-radius:9px;background:#fff8ed;box-shadow:0 9px 18px rgba(53,61,54,.10);animation:bookBob 5s ease-in-out infinite}.motion-book:before{content:'';position:absolute;left:50%;top:6px;bottom:6px;width:1px;background:#d8cabb}.motion-book i{position:absolute;left:10px;top:12px;width:20px;height:2px;background:#a9b5a3;box-shadow:0 8px 0 #a9b5a3,0 16px 0 #a9b5a3}.motion-book b{position:absolute;right:17px;top:11px;color:#b8785f;font-family:'Fraunces',serif;font-size:25px}.motion-pencil{position:absolute;left:calc(50% + 32px);bottom:37px;width:44px;height:6px;border-radius:6px;background:#d9986f;transform:rotate(-35deg);animation:pencilTap 3.8s ease-in-out infinite}.motion-pencil:after{content:'';position:absolute;right:-8px;border-left:9px solid #d7c5a7;border-top:3px solid transparent;border-bottom:3px solid transparent}.activity-motion-maths{background:linear-gradient(145deg,#f8f0df,#f3eadc)}.motion-block{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;font-family:'Fraunces',serif;font-weight:700;box-shadow:0 9px 18px rgba(70,60,43,.08);animation:blockBounce 4s ease-in-out infinite}.motion-block-a{left:24%;bottom:24px;background:#dce8d6;color:#52684d}.motion-block-b{left:44%;bottom:45px;background:#f0cbbd;color:#8a5e4d;animation-delay:-.8s}.motion-block-c{left:63%;bottom:22px;background:#f1d990;color:#735f2c;animation-delay:-1.5s}.activity-motion-growth{background:linear-gradient(145deg,#edf4ea,#f7eee8)}.motion-pot{position:absolute;left:50%;bottom:20px;width:64px;height:38px;transform:translateX(-50%);border-radius:5px 5px 22px 22px;background:#cf866a;box-shadow:0 10px 18px rgba(85,57,48,.08)}.motion-stem{position:absolute;left:50%;bottom:54px;width:4px;height:58px;border-radius:99px;background:#657a60;transform-origin:bottom;animation:stemSway 5s ease-in-out infinite}.motion-leaf{position:absolute;left:50%;bottom:80px;width:38px;height:20px;border-radius:100% 0 100% 0;background:#8ea187;transform-origin:0 50%;animation:leafSway 4s ease-in-out infinite}.motion-leaf-a{margin-left:2px;transform:rotate(-25deg)}.motion-leaf-b{margin-left:-36px;bottom:95px;transform:scaleX(-1) rotate(-20deg);animation-delay:-1.2s}.animated-activity-copy{padding:18px}.activity-area-pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf3e9;color:#587053;font-size:10px;font-weight:900}.animated-activity-copy h3{margin:12px 0 7px;font-size:21px}.animated-activity-copy p{min-height:60px;margin:0;color:var(--muted);font-size:13px;line-height:1.5}.animated-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.animated-card-footer small{color:#7e837d;font-size:10px;font-weight:700}.mini-open-btn{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(69,78,70,.11);border-radius:50%;background:#fff;color:#59665a;cursor:pointer}
.rhythm-strip{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(180px,.8fr) auto;align-items:center;gap:18px;margin:28px 0 4px;padding:20px 22px;border:1px solid rgba(68,77,69,.10);border-radius:22px;background:linear-gradient(120deg,#f2f6ee,#fffdf8)}.rhythm-strip h3{margin:3px 0 4px;font-size:20px}.rhythm-strip p:last-child{margin:0;color:var(--muted);font-size:12px}.rhythm-plant{position:relative;width:52px;height:58px}.rhythm-plant span{position:absolute;left:14px;bottom:0;width:28px;height:19px;border-radius:4px 4px 12px 12px;background:#cf866a}.rhythm-plant:before{content:'';position:absolute;left:27px;bottom:17px;width:3px;height:35px;background:#6b8065}.rhythm-plant i{position:absolute;bottom:35px;width:19px;height:11px;border-radius:100% 0 100% 0;background:#8ca184}.rhythm-plant i:nth-child(2){left:9px;transform:rotate(22deg)}.rhythm-plant i:nth-child(3){left:27px;bottom:45px;transform:scaleX(-1) rotate(20deg)}.rhythm-dots{display:flex;align-items:center;justify-content:center;gap:16px}.rhythm-dots span{position:relative;width:18px;height:18px;border:2px solid #d9ded6;border-radius:50%;background:#fff}.rhythm-dots span:not(:last-child):after{content:'';position:absolute;left:18px;top:6px;width:18px;border-top:2px dotted #d9ded6}.rhythm-dots span.done{background:#9cb194;border-color:#9cb194;box-shadow:inset 0 0 0 4px #eff4ed}.rhythm-dots span.current{background:#34503e;border-color:#34503e}
.profile-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:22px 24px;border:1px solid rgba(164,77,64,.20);border-radius:20px;background:#fff8f5}.profile-danger-zone span,.profile-danger-zone strong,.profile-danger-zone p{display:block}.profile-danger-zone span{color:#9a5a50;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.profile-danger-zone strong{margin:6px 0 4px;font-size:16px}.profile-danger-zone p{margin:0;color:#836d68;font-size:13px}.danger-btn{min-height:42px;padding:10px 15px;border:1px solid #b65f50;border-radius:12px;background:#fff;color:#a24f43;font:inherit;font-weight:800;cursor:pointer}.danger-btn:hover{background:#a24f43;color:#fff}.danger-btn:disabled{opacity:.6;cursor:wait}.delete-child-warning{margin:6px 0 18px;padding:18px;border-radius:16px;background:#fff1ec;color:#745952}.delete-child-warning p{margin:6px 0 0}
.mobile-bottom-nav{display:none}
@keyframes leafSway{0%,100%{margin-top:0}50%{margin-top:-3px}}@keyframes softPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes floatDot{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bookBob{0%,100%{transform:translateX(-50%) translateY(0) rotate(-2deg)}50%{transform:translateX(-50%) translateY(-5px) rotate(1deg)}}@keyframes pencilTap{0%,100%{transform:rotate(-35deg) translate(0,0)}50%{transform:rotate(-35deg) translate(-4px,3px)}}@keyframes blockBounce{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(2deg)}}@keyframes stemSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.activity-motion *,.journal-botanical *{animation:none!important}}
@media(max-width:900px){.today-journal-shell{grid-template-columns:1fr;padding:24px}.today-journal-intro{padding-bottom:0}.journal-botanical{display:none}.today-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.animated-week-grid{grid-template-columns:1fr 1fr}.animated-activity-card:last-child{grid-column:1/-1}.rhythm-strip{grid-template-columns:auto 1fr auto}.rhythm-dots{display:none}}
@media(max-width:620px){body{padding-bottom:86px}.main{padding-bottom:100px}.primary-tabs{display:none}.mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:8px;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:7px 8px;border:1px solid rgba(56,68,58,.12);border-radius:23px;background:rgba(255,254,250,.95);box-shadow:0 14px 40px rgba(39,47,41,.16);backdrop-filter:blur(16px)}.mobile-tab{display:grid;justify-items:center;gap:2px;padding:7px 2px;border:0;background:transparent;color:#7f857f;font:inherit;font-size:11px}.mobile-tab>span{font-size:18px}.mobile-tab small{font-size:9px;font-weight:800}.mobile-tab.active{color:#36503e}.mobile-capture-btn{justify-self:center;display:grid;place-items:center;width:48px;height:48px;margin-top:-26px;border:5px solid #fbfaf7;border-radius:50%;background:#36503e;color:#fff;font-size:28px;box-shadow:0 8px 20px rgba(54,80,62,.28)}.today-journal-shell{gap:16px;padding:18px;border-radius:24px}.today-journal-shell:after{display:none}.today-journal-intro{padding:4px 2px}.today-journal-intro h2{font-size:34px}.today-journal-intro>p:last-of-type{font-size:14px}.today-journal-card{padding:14px;border-radius:19px}.journal-category-row{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.journal-category-chip{flex:0 0 auto;padding:8px 11px;font-size:10px}.journal-paper{min-height:124px;padding:14px 12px 10px 25px}.journal-paper textarea{min-height:70px;line-height:1.6}.today-capture-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.today-capture-actions button{width:100%;padding:10px 8px;font-size:11px}.journal-privacy{font-size:10px}.today-shortcut-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.home-shortcut{grid-template-columns:auto 1fr;min-height:82px;padding:12px;gap:9px}.home-shortcut>b{display:none}.shortcut-icon{width:35px;height:35px;font-size:15px}.home-shortcut strong{font-size:14px}.home-shortcut small{font-size:9px}.animated-week-grid{grid-template-columns:1fr}.animated-activity-card:last-child{grid-column:auto}.activity-motion{height:118px}.animated-activity-copy{padding:14px}.animated-activity-copy h3{font-size:19px}.animated-activity-copy p{min-height:0}.rhythm-strip{grid-template-columns:auto 1fr;margin-bottom:10px;padding:16px}.rhythm-strip>.text-link{grid-column:1/-1;justify-self:start}.profile-danger-zone{align-items:stretch;flex-direction:column}.profile-danger-zone .danger-btn{width:100%}.child-header-actions .mini-plan-badge{display:none}.top-actions .owner-nav-btn{display:none}}

/* Owner portal: read-only parent support view */
.owner-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px;padding:19px 21px;border:1px solid rgba(89,107,88,.16);border-radius:20px;background:linear-gradient(120deg,#eef4eb,#fffaf3)}
.owner-preview-banner>div{display:grid;gap:4px}.owner-preview-banner span{color:#557052;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.owner-preview-banner strong{font-size:16px}.owner-preview-banner p{margin:0;color:var(--muted);font-size:12px}
.owner-account-grid-live{margin-top:0}.owner-account-grid-live small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.owner-child-switcher{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 18px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,254,250,.8)}.owner-child-switcher>span{margin-right:4px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.owner-child-switcher button{padding:8px 12px;border:1px solid rgba(65,79,67,.12);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.owner-child-switcher button.active{border-color:#57705a;background:#eaf1e7;color:#36503e}
.owner-support-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.owner-support-stat{display:grid;gap:4px;padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(255,254,250,.92);box-shadow:var(--shadow-soft)}.owner-support-stat span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.owner-support-stat strong{font-size:15px}.owner-support-stat small{color:var(--muted);font-size:11px;line-height:1.4}
.owner-support-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.owner-support-context-row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.owner-support-context-row:first-of-type{border-top:0}.owner-support-context-row span{color:var(--muted);font-size:11px}.owner-support-context-row strong{font-size:12px;line-height:1.5}
.owner-readiness-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-readiness-mini>div{display:grid;gap:3px;padding:13px;border-radius:13px;background:var(--cream)}.owner-readiness-mini strong{font-family:'Fraunces',serif;font-size:23px}.owner-readiness-mini span{color:var(--muted);font-size:10px;line-height:1.35}
.owner-week-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.owner-week-preview article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:15px;border:1px solid rgba(91,108,88,.13);border-radius:15px;background:linear-gradient(145deg,#f2f6ef,#fffaf4)}.owner-week-preview article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#fff;color:#526653;font-weight:900}.owner-week-preview small,.owner-week-preview strong{display:block}.owner-week-preview small{color:#657861;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.owner-week-preview strong{margin:4px 0 7px;font-size:13px}.owner-week-preview p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.owner-observation-list{display:grid;gap:8px}.owner-observation-list>div{padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff}.owner-observation-list span{color:#60755c;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.owner-observation-list p{margin:5px 0 3px;color:var(--ink);font-size:12px;line-height:1.5}.owner-observation-list small{color:var(--muted);font-size:10px}.owner-privacy-line{margin-top:13px!important;padding-top:11px;border-top:1px solid var(--line)}
@media(max-width:900px){.owner-support-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-support-grid-two{grid-template-columns:1fr}.owner-week-preview{grid-template-columns:1fr}}
@media(max-width:620px){.owner-preview-banner{align-items:stretch;flex-direction:column}.owner-preview-banner .secondary-btn{width:100%}.owner-support-summary-grid{grid-template-columns:1fr}.owner-child-switcher{align-items:stretch;flex-direction:column}.owner-child-switcher>span{margin:0 0 2px}.owner-child-switcher button{width:100%;text-align:left}.owner-support-context-row{grid-template-columns:1fr;gap:3px}.owner-readiness-mini{grid-template-columns:1fr 1fr}}


/* v10.5 — personalised "At this stage" guide */
.today-shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.home-shortcut-stage{background:linear-gradient(145deg,#f6efe8,#f7f4ec)}
.home-shortcut-stage .shortcut-icon{background:#eadfd2;color:#8d684f}
.stage-guide-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(190px,.55fr);gap:28px;align-items:center;margin:8px 0 28px;padding:34px;border:1px solid rgba(78,91,78,.10);border-radius:30px;background:linear-gradient(135deg,#f7f1e8 0%,#f3f7ef 65%,#edf4ee 100%);overflow:hidden;position:relative}
.stage-guide-hero:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(79,110,82,.12);border-radius:50%;right:-75px;top:-90px}
.stage-guide-hero-copy{position:relative;z-index:1}.stage-guide-hero-copy h2{max-width:760px;margin:6px 0 12px;font-size:clamp(34px,4vw,56px);line-height:1.02}.stage-guide-hero-copy>p{max-width:790px;color:#59645c;font-size:16px;line-height:1.7}.stage-guide-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.stage-guide-meta span{padding:7px 10px;border:1px solid rgba(75,92,78,.10);border-radius:999px;background:rgba(255,255,255,.68);font-size:11px;font-weight:800;color:#667069}
.stage-guide-orbit{position:relative;display:grid;place-items:center;width:178px;height:178px;justify-self:center;border:1px dashed rgba(74,101,77,.28);border-radius:50%;background:rgba(255,255,255,.45)}.stage-guide-orbit>span{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#fff;color:#55705a;font-family:'Fraunces',serif;font-size:38px;box-shadow:0 12px 30px rgba(54,75,58,.08)}.stage-guide-orbit i{position:absolute;width:17px;height:17px;border-radius:50%;background:#d8e6d5}.stage-guide-orbit i:nth-of-type(1){left:9px;top:44px}.stage-guide-orbit i:nth-of-type(2){right:15px;bottom:32px;background:#ead8cb}.stage-guide-orbit i:nth-of-type(3){right:31px;top:20px;width:10px;height:10px;background:#e5d69d}
.stage-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:17px}.stage-section-heading h2{margin:4px 0 7px}.stage-section-heading p:not(.eyebrow){max-width:760px;color:var(--muted);margin:0;line-height:1.6}
.stage-now-section,.stage-expectations-section,.stage-framework-section,.stage-teacher-section{margin:28px 0}
.stage-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stage-focus-grid article{display:flex;gap:12px;align-items:flex-start;min-height:112px;padding:18px;border:1px solid rgba(70,82,72,.09);border-radius:20px;background:#fff}.stage-focus-grid article>span{font-size:10px;font-weight:900;color:#a27964;letter-spacing:.08em}.stage-focus-grid strong{font-family:'Fraunces',serif;font-size:16px;line-height:1.35}
.stage-expectation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stage-expectation-card{display:flex;flex-direction:column;min-height:245px;padding:22px;border:1px solid rgba(70,82,72,.10);border-radius:22px;background:#fff;box-shadow:0 9px 28px rgba(55,64,56,.035)}.stage-domain-pill{align-self:flex-start;padding:6px 9px;border-radius:999px;background:#eef4eb;color:#61765e;font-size:10px;font-weight:900}.stage-expectation-card h3{margin:14px 0 8px;font-size:20px}.stage-expectation-card p{color:#606a62;line-height:1.55}.stage-expectation-card small{margin-top:auto;padding-top:15px;border-top:1px solid rgba(70,82,72,.08);color:#7a827c;font-size:10px;font-weight:750;line-height:1.45}
.stage-next-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;margin:30px 0;padding:26px;border-radius:24px;background:#f4f0e9}.stage-next-section h2{margin:5px 0 8px}.stage-next-section p{color:var(--muted)}.stage-next-list{display:grid;gap:8px}.stage-next-list>div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:15px;background:rgba(255,255,255,.66)}.stage-next-list span{color:#6d8268;font-weight:900}.stage-next-list p{margin:0;color:#4f5a52}
.stage-framework-section{padding:26px;border:1px solid rgba(80,96,83,.09);border-radius:24px;background:#f8faf6}.framework-reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.framework-reference-list>div{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 14px;border-radius:15px;background:#fff}.framework-reference-list span{color:#62805d;font-weight:900}.framework-reference-list p{margin:0;color:#5e685f;font-size:12px;line-height:1.45}
.teacher-message-card{padding:24px;border:1px solid rgba(91,109,126,.12);border-radius:22px;background:#eef4f5}.teacher-message-card>span,.teacher-stage-fallback>span{display:block;margin-bottom:7px;color:#647a83;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.teacher-message-card blockquote{margin:0 0 16px;font-family:'Fraunces',serif;font-size:22px;line-height:1.45;color:#34484d}.teacher-message-card .teacher-translation{padding:16px;border-radius:16px;background:#fff}.teacher-message-card .teacher-translation p{margin:5px 0 7px;color:#5c6769}.teacher-stage-fallback{padding:20px;border-radius:20px;background:#f6f4ee}.teacher-stage-fallback strong{font-family:'Fraunces',serif;font-size:19px}.teacher-stage-fallback ul{margin:12px 0;padding-left:20px;color:#586258}.teacher-stage-fallback li{margin:6px 0}.teacher-stage-fallback small{color:#7c827d}
.stage-home-support,.stage-guide-progress-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0;padding:25px;border-radius:23px;background:#36503e;color:#fff}.stage-home-support h2,.stage-guide-progress-cta h3{margin:4px 0 7px;color:#fff}.stage-home-support p,.stage-guide-progress-cta p{margin:0;color:rgba(255,255,255,.77);max-width:750px}.stage-home-support .eyebrow,.stage-guide-progress-cta .eyebrow{color:#cfe0ce}.stage-home-support .primary-btn{background:#fff;color:#36503e}.stage-guide-progress-cta .secondary-btn{background:#fff;color:#36503e;border-color:#fff}

@media(max-width:900px){
  .stage-guide-hero{grid-template-columns:1fr}.stage-guide-orbit{display:none}.stage-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-expectation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-next-section{grid-template-columns:1fr}.framework-reference-list{grid-template-columns:1fr}
}
@media(max-width:620px){
  .stage-guide-hero{padding:22px;border-radius:24px}.stage-guide-hero-copy h2{font-size:34px}.stage-guide-meta span{font-size:9px}.stage-section-heading{align-items:stretch;flex-direction:column}.stage-section-heading button{width:100%}.stage-focus-grid,.stage-expectation-grid{grid-template-columns:1fr}.stage-focus-grid article{min-height:0}.stage-expectation-card{min-height:0}.stage-home-support,.stage-guide-progress-cta{align-items:stretch;flex-direction:column}.stage-home-support button,.stage-guide-progress-cta button{width:100%}.teacher-message-card blockquote{font-size:19px}
}


/* v10.12 Learn Along Development Snapshot */
.snapshot-intro { max-width:820px; }
.snapshot-progress { height:8px; background:rgba(59,67,61,.08); border-radius:999px; overflow:hidden; margin-top:18px; }
.snapshot-progress span { display:block; height:100%; background:var(--sage); border-radius:inherit; transition:width .2s ease; }
.snapshot-progress-copy { display:flex; gap:8px; align-items:baseline; margin-top:8px; color:var(--muted); font-size:13px; }
.snapshot-progress-copy strong { color:var(--ink); }
.snapshot-domain-list { display:grid; gap:20px; margin-top:24px; }
.snapshot-domain { border:1px solid rgba(59,67,61,.08); border-radius:22px; padding:18px; background:rgba(255,254,250,.55); }
.snapshot-domain-head { display:flex; justify-content:space-between; gap:16px; align-items:baseline; margin-bottom:12px; }
.snapshot-domain-head span { font-weight:800; color:var(--ink); letter-spacing:-.01em; }
.snapshot-domain-head small { color:var(--muted); }
.snapshot-card { box-shadow:none; background:#fff; }
.snapshot-card h3 { margin-top:0; }
.snapshot-card .answer-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.snapshot-trust { margin-top:18px; border-radius:18px; padding:18px 20px; background:rgba(230,239,232,.62); border:1px solid rgba(59,67,61,.08); }
.snapshot-trust strong { display:block; margin-bottom:5px; }
.snapshot-trust p { margin:0; color:var(--muted); line-height:1.55; }
@media (max-width:720px) {
  .snapshot-domain { padding:14px; }
  .snapshot-domain-head { display:block; }
  .snapshot-domain-head small { display:block; margin-top:4px; }
  .snapshot-card .answer-row { grid-template-columns:1fr 1fr; }
}
