/* ═══════════════════════════════════════════
   RIPA ELEVATE — DASHBOARD CSS
═══════════════════════════════════════════ */
.dash-page{padding:40px 0 96px;}
.pdash-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--s200);}
.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:20px;}
.child-card{background:var(--white);border:1.5px solid var(--s200);border-radius:var(--r24);overflow:hidden;}
.child-card-header{display:flex;align-items:center;gap:14px;padding:24px 24px 18px;}
.child-avatar{width:44px;height:44px;border-radius:50%;background:var(--s900);color:var(--white);font-family:var(--serif);font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.child-info{flex:1;}
.child-name{font-family:var(--serif);font-size:1.2rem;color:var(--s900);}
.child-meta{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap;font-size:.75rem;color:var(--s400);}
.child-card-actions{flex-shrink:0;}
.child-cats{padding:0 24px 18px;}
.child-cats-label{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--s400);margin-bottom:10px;}
.cat-pills{display:flex;gap:7px;flex-wrap:wrap;}
.cat-pill{display:flex;align-items:center;gap:4px;padding:6px 11px;border-radius:var(--r-full);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;}
.cat-done{background:var(--sage-m);color:var(--s700);cursor:default;}
.cat-todo{background:var(--s100);color:var(--s400);border:1.5px dashed var(--s300);}
.cat-todo:hover{background:var(--s200);color:var(--s700);}
.cat-pill span{font-size:.65rem;font-weight:600;}
.child-start-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;background:var(--s50);border-top:1px solid var(--s200);}
.csc-text{display:flex;flex-direction:column;gap:2px;}
.csc-text strong{font-size:.82rem;color:var(--s800);}
.csc-text span{font-size:.74rem;color:var(--s400);}
@media(max-width:960px){.children-grid{grid-template-columns:1fr;}}

/* ── Modal ── */
.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(12,10,9,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:500;display:none;align-items:center;justify-content:center;padding:20px;}
.modal-backdrop.open{display:flex;}
.modal{background:var(--white);border-radius:var(--r24);padding:36px 32px;max-width:480px;width:100%;position:relative;box-shadow:0 24px 80px rgba(12,10,9,.2);animation:modalIn .25s var(--ease);}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:none;background:var(--s100);color:var(--s500);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.modal-close:hover{background:var(--s200);color:var(--s900);}
.modal h3{font-family:var(--serif);font-size:1.4rem;color:var(--s900);margin-bottom:20px;}
.modal .fg{margin-bottom:16px;}
.modal .flbl{display:block;font-size:.76rem;font-weight:600;color:var(--s700);margin-bottom:5px;}
.modal .finp,.modal .fsel,.modal .ftxt{width:100%;padding:11px 14px;border:1.5px solid var(--s200);border-radius:var(--r8);font-size:.9rem;font-family:var(--sans);color:var(--s900);background:var(--s50);outline:none;transition:border-color .15s,background .15s;}
.modal .finp:focus,.modal .fsel:focus,.modal .ftxt:focus{border-color:var(--sage);background:var(--white);}
.modal .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.modal .ftxt{resize:vertical;min-height:80px;}
.modal-actions{display:flex;gap:10px;margin-top:24px;}
.modal-actions .btn{flex:1;}
.iep-check{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--s50);border:1px solid var(--s200);border-radius:var(--r8);cursor:pointer;font-size:.86rem;color:var(--s700);margin-top:4px;}
.iep-check input[type="checkbox"]{width:18px;height:18px;accent-color:var(--sage);}

/* ── Progress Timeline ── */
.child-timeline{padding:0 24px 18px;}
.tl-grid{display:flex;flex-direction:column;gap:12px;margin-top:10px;}
.tl-row{display:flex;align-items:center;gap:14px;padding:10px 14px;background:var(--s50);border-radius:var(--r12);border:1px solid var(--s100);}
.tl-cat{display:flex;align-items:center;gap:6px;min-width:120px;flex-shrink:0;}
.tl-cat-icon{font-size:.9rem;}
.tl-cat-name{font-size:.72rem;font-weight:600;color:var(--s700);}
.tl-dots{display:flex;align-items:center;gap:0;flex:1;overflow-x:auto;}
.tl-dot-wrap{display:flex;align-items:center;}
.tl-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--white);flex-shrink:0;transition:all .2s;}
.tl-dot-current{transform:scale(1.2);box-shadow:0 0 0 3px rgba(124,154,126,.2);}
.tl-line{width:16px;height:2px;background:var(--s200);flex-shrink:0;}
.tl-current{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:80px;flex-shrink:0;text-align:right;}
.tl-level{font-family:var(--serif);font-size:1.1rem;font-weight:400;line-height:1;}
.tl-level-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--s400);}
.tl-growth{font-size:.62rem;font-weight:600;margin-top:2px;}
.tl-up{color:var(--sage);}
.tl-down{color:var(--rose);}
.tl-same{color:var(--s400);}
.tl-next{font-size:.72rem;color:var(--s400);text-align:center;margin-top:10px;padding:8px;background:var(--s50);border-radius:var(--r8);}
.tl-next-ready{color:var(--sage);background:var(--sage-m);font-weight:500;}
@media(max-width:600px){.tl-row{flex-wrap:wrap;}.tl-cat{min-width:100%;}.tl-current{align-items:flex-start;}}
