/* Growth charts — patient-facing page (/families/growth/) */
.gapp{--g-series:#0f97c4;--g-series-dark:#0a7096;--g-ref:#b9cbd6;--g-ref50:#7f9dae;
--g-band:rgba(15,151,196,.07);--g-grid:#e7eef3;--g-axis:#6b7280;--g-ink:#1f2937;
--g-surface:#fff;--g-soft:#f2f7fa;--g-line:#dbe7ee;--g-ok:#0e7a4f;--g-warn:#b45309}
.gapp h1{margin-top:0}
.gapp .g-intro{color:var(--g-axis);margin:-6px 0 18px}
.gapp .g-head{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;
background:var(--g-soft);border:1px solid var(--g-line);border-radius:10px;padding:12px 16px;margin:0 0 16px}
.gapp .g-head .g-alias{font-weight:700;font-size:1.05rem}
.gapp .g-head span{white-space:nowrap}
.gapp .g-head .g-corr{color:var(--g-warn);font-size:.9rem}
/* tabs + range chips */
.gapp .g-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.gapp .g-tabs button,.gapp .g-ranges button{font:inherit;font-size:.92rem;border:1px solid var(--g-line);
background:#fff;color:var(--g-ink);padding:7px 14px;border-radius:999px;cursor:pointer;line-height:1.2}
.gapp .g-tabs button[aria-selected="true"]{background:var(--g-series);border-color:var(--g-series);color:#fff;font-weight:600}
.gapp .g-ranges{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 6px;font-size:.88rem;color:var(--g-axis)}
.gapp .g-ranges button{padding:4px 11px;font-size:.85rem}
.gapp .g-ranges button[aria-pressed="true"]{background:var(--g-soft);border-color:var(--g-series);color:var(--g-series-dark);font-weight:600}
.gapp .g-ranges button:disabled{opacity:.45;cursor:default}
/* chart */
.gapp .g-chart{position:relative;background:var(--g-surface);border:1px solid var(--g-line);border-radius:10px;padding:8px 6px 4px}
.gapp .g-chart svg{display:block;width:100%;height:auto;font-family:inherit}
.gapp .g-chart .g-title{font-size:15px;font-weight:600;fill:var(--g-ink)}
.gapp .g-chart .g-sub{font-size:12px;fill:var(--g-axis)}
.gapp .g-chart .g-grid{stroke:var(--g-grid);stroke-width:1}
.gapp .g-chart .g-grid.year{stroke:#d5e1e9}
.gapp .g-chart .g-axis{stroke:#cfdbe3;stroke-width:1}
.gapp .g-chart .g-tick{font-size:11px;fill:var(--g-axis)}
.gapp .g-chart .g-tick.tabular{font-variant-numeric:tabular-nums}
.gapp .g-chart .g-axtitle{font-size:11.5px;fill:var(--g-axis)}
.gapp .g-chart .g-band{fill:var(--g-band)}
.gapp .g-chart .g-ref{fill:none;stroke:var(--g-ref);stroke-width:1;stroke-linejoin:round}
.gapp .g-chart .g-ref.p50{stroke:var(--g-ref50);stroke-width:1.4}
.gapp .g-chart .g-reflabel{font-size:10.5px;fill:var(--g-axis);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.gapp .g-chart .g-reflabel.p50{fill:#556b78;font-weight:600}
.gapp .g-chart .g-series{fill:none;stroke:var(--g-series);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.gapp .g-chart .g-dot{fill:var(--g-series);stroke:#fff;stroke-width:2;cursor:pointer}
.gapp .g-chart .g-dot:focus{outline:none;stroke:var(--g-series-dark);stroke-width:3}
.gapp .g-chart .g-hit{fill:transparent;cursor:pointer}
.gapp .g-chart .g-endlabel{font-size:12px;font-weight:600;fill:var(--g-ink);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.gapp .g-chart .g-cross{stroke:var(--g-series-dark);stroke-width:1;stroke-dasharray:none;opacity:.5}
.gapp .g-chart .g-empty{font-size:13px;fill:var(--g-axis)}
.gapp .g-tip{position:absolute;pointer-events:none;background:#1f2937;color:#fff;font-size:12.5px;line-height:1.35;
padding:7px 10px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.18);max-width:230px;z-index:5;display:none}
.gapp .g-tip b{font-weight:600}
.gapp .g-tip .muted{color:#cbd5e1}
.gapp .g-note{font-size:.82rem;color:var(--g-axis);margin:8px 2px 0}
/* stat tiles */
.gapp .g-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0 6px}
.gapp .g-tile{border:1px solid var(--g-line);border-radius:10px;padding:10px 14px;background:#fff}
.gapp .g-tile .l{font-size:.8rem;color:var(--g-axis)}
.gapp .g-tile .v{font-size:1.45rem;font-weight:600;line-height:1.2;margin:2px 0}
.gapp .g-tile .p{font-size:.85rem;color:var(--g-axis)}
.gapp .g-tile .p b{color:var(--g-ink);font-weight:600}
/* table */
.gapp .g-tablewrap{overflow-x:auto;margin:16px 0 4px;-webkit-overflow-scrolling:touch}
.gapp table.g-table{border-collapse:collapse;width:100%;font-size:.9rem;min-width:520px}
.gapp table.g-table th,.gapp table.g-table td{padding:7px 9px;border-bottom:1px solid var(--g-line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.gapp table.g-table th{font-weight:600;color:var(--g-axis);font-size:.8rem;text-align:right;border-bottom:2px solid var(--g-line)}
.gapp table.g-table th:first-child,.gapp table.g-table td:first-child,
.gapp table.g-table th:nth-child(2),.gapp table.g-table td:nth-child(2){text-align:left}
.gapp table.g-table td small{color:var(--g-axis);font-size:.78rem;margin-left:4px}
.gapp .g-notes{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:8px;padding:12px 16px;margin:16px 0;white-space:pre-wrap}
.gapp .g-notes h3{margin:0 0 6px;font-size:1rem}
.gapp .g-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 4px}
.gapp .g-btn{font:inherit;border:1px solid var(--g-line);background:#fff;padding:9px 16px;border-radius:999px;cursor:pointer;color:var(--g-ink);text-decoration:none}
.gapp .g-btn.primary{background:var(--g-series);border-color:var(--g-series);color:#fff;font-weight:600}
.gapp .g-btn:hover{border-color:var(--g-series)}
.gapp .g-foot{font-size:.8rem;color:var(--g-axis);border-top:1px solid var(--g-line);margin-top:20px;padding-top:12px}
.gapp .g-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:12px 16px}
.gapp .g-loading{color:var(--g-axis);padding:20px 0}
/* empty state */
.gapp .g-welcome{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.gapp .g-welcome .g-steps{margin:0;padding-left:20px}
.gapp .g-welcome .g-steps li{margin:6px 0}
.gapp .g-demo{margin-top:14px}
@media(max-width:700px){
 .gapp .g-welcome{grid-template-columns:1fr}
 .gapp .g-tabs button{padding:6px 11px;font-size:.86rem}
 .gapp .g-tile .v{font-size:1.25rem}
}
/* print */
.gapp .g-print{display:none}
@media print{
 .site-head,.nav,.site-foot,.gapp .g-tabs,.gapp .g-ranges,.gapp .g-actions,.gapp .g-chart,.gapp .g-tip,.gapp .g-tiles{display:none !important}
 main{padding:0}
 .card{border:0;padding:0}
 .gapp .g-print{display:block}
 .gapp .g-print .g-chart{display:block !important;break-inside:avoid;margin:0 0 14px;border-color:#bbb}
 .gapp .g-tablewrap{overflow:visible}
 .gapp table.g-table{min-width:0;font-size:.8rem}
 .gapp .g-head{border-color:#bbb;background:#fff}
}
