@charset "UTF-8";:root{--primary: #1d4ed8;--primary-hover: #1a44bd;--primary-soft: #e7edfb;--danger: #b91c1c;--danger-hover: #991b1b;--danger-soft: #fdecea;--success: #15803d;--success-soft: #dcfce7;--success-ink: #166534;--warning-ink: #854d0e;--warning-soft: #fef3c7;--info-ink: #1e40af;--info-soft: #dbeafe;--bg: #f4f6f9;--surface: #ffffff;--surface-2: #eef2f7;--surface-3: #f7f9fb;--border: #dbe1e8;--border-strong: #c3ccd6;--text: #16202e;--text-2: #3c4a5c;--muted: #5c6a7f;--fs-h1: 1.6rem;--fs-h2: 1.15rem;--fs-h3: 1rem;--fs-body: .95rem;--fs-sm: .82rem;--fs-label: .72rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(22, 32, 46, .06);--shadow-md: 0 1px 3px rgba(22, 32, 46, .08), 0 6px 18px rgba(22, 32, 46, .06)}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs-body);line-height:1.55;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}main{padding:var(--sp-5);max-width:1140px;margin:0 auto;overflow-wrap:break-word}h1{font-size:var(--fs-h1);font-weight:700;letter-spacing:-.01em;margin:0}h2{font-size:var(--fs-h2);font-weight:650;margin:0 0 var(--sp-2)}h3{font-size:var(--fs-h3);font-weight:650;margin:var(--sp-4) 0 var(--sp-2)}a{color:var(--primary)}.muted{color:var(--muted)}.error{color:var(--danger)}.hint{color:var(--muted);font-size:var(--fs-sm);margin:var(--sp-1) 0 var(--sp-3)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-head h1{line-height:1.2}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-3);color:var(--muted)}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--primary);text-decoration:underline}.crumbs .sep{color:var(--border-strong)}.crumbs [aria-current=page]{color:var(--text-2);font-weight:600}button,.button{background:var(--primary);color:#fff;border:1px solid transparent;border-radius:var(--r-sm);padding:.5rem .95rem;font-size:.9rem;font-weight:550;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;line-height:1.2;transition:background .12s ease,border-color .12s ease}button:hover,.button:hover{background:var(--primary-hover)}button:disabled,.button:disabled{opacity:.55;cursor:default}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}button.secondary:hover,.button.secondary:hover{background:var(--surface-2)}button.subtle,.button.subtle{background:transparent;color:var(--text-2);border-color:transparent}button.subtle:hover,.button.subtle:hover{background:var(--surface-2)}button.danger,.button.danger{background:var(--danger);color:#fff}button.danger:hover,.button.danger:hover{background:var(--danger-hover)}button.danger.outline,.button.danger.outline{background:var(--surface);color:var(--danger);border-color:var(--danger)}button.danger.outline:hover,.button.danger.outline:hover{background:var(--danger-soft)}button.success,.button.success{background:var(--success);color:#fff}button.link{background:none;color:var(--primary);padding:0;border:0}button.link:hover{background:none;text-decoration:underline}input,select,textarea{width:100%;padding:.48rem .6rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);font:inherit;background:var(--surface);color:var(--text)}input:hover,select:hover,textarea:hover{border-color:var(--muted)}label{display:block;font-size:var(--fs-sm);color:var(--text-2);font-weight:550;margin-bottom:var(--sp-3)}label input,label select,label textarea{margin-top:var(--sp-1);font-weight:400}.req{color:var(--danger);margin-left:2px}.inline-form{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}.inline-form input,.inline-form select{width:auto;flex:1 1 12rem;min-width:0}.inline-form button{flex:0 0 auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-5)}.form-grid h2,.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-4)}.toolbar{margin-bottom:var(--sp-4);max-width:460px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-5);box-shadow:var(--shadow-sm)}.card>h2:first-child,.card>h3:first-child{margin-top:0}.section{margin-bottom:var(--sp-5)}.actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}table.data{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}table.data th,table.data td{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--border);font-size:.9rem}table.data th{background:var(--surface-2);font-weight:650;font-size:var(--fs-label);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}table.data tbody tr:hover{background:var(--surface-3)}table.data tbody tr:last-child td{border-bottom:0}table.data tr.ended{color:var(--muted)}table.data a{color:var(--primary)}.table-scroll{overflow-x:auto;border-radius:var(--r-md)}.status,.badge{display:inline-flex;align-items:center;gap:.3rem;text-transform:capitalize;background:var(--surface-2);color:var(--text-2);border-radius:var(--r-pill);padding:.14rem .6rem;font-size:var(--fs-sm);font-weight:600;line-height:1.4}.badge{text-transform:none;background:var(--info-soft);color:var(--info-ink)}.badge.alert{background:var(--danger-soft);color:var(--danger)}.badge.warn{background:var(--warning-soft);color:var(--warning-ink)}.status[data-status=active]{background:var(--success-soft);color:var(--success-ink)}.status[data-status=on_hold],.status[data-status=waitlisted]{background:var(--warning-soft);color:var(--warning-ink)}.status[data-status=pending_intake],.status[data-status=intake_scheduled],.status[data-status=intake_completed]{background:var(--info-soft);color:var(--info-ink)}.empty,.loading{color:var(--muted);background:var(--surface-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--sp-5);text-align:center}.loading{border-style:solid}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-4)}.dashboard-grid .card{margin-bottom:0}.stat{font-size:2.1rem;font-weight:700;line-height:1;color:var(--text);margin:var(--sp-2) 0 0;font-variant-numeric:tabular-nums}.stat-card{display:flex;flex-direction:column;gap:var(--sp-1)}.client-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:0 0 var(--sp-5);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.client-tabs a{text-decoration:none;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:.3rem .8rem;font-size:var(--fs-sm);font-weight:550;white-space:nowrap}.client-tabs a:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.goal{border-left:3px solid var(--primary);padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);margin:var(--sp-3) 0}.objective{padding-left:var(--sp-4);margin:var(--sp-2) 0;border-left:2px solid var(--border-strong)}.step{padding-left:var(--sp-5);margin:var(--sp-1) 0;color:var(--text-2);font-size:.9rem}.messaging-layout{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:var(--sp-4);align-items:start}.thread{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2) 0;max-height:52vh;overflow-y:auto}.thread p{max-width:78%;margin:0;padding:.5rem .75rem;border-radius:var(--r-md);background:var(--surface-2);color:var(--text);align-self:flex-start}.thread p.mine{align-self:flex-end;background:var(--primary-soft)}.thread p .muted{display:block;font-size:var(--fs-label);margin-bottom:2px}.reports-layout{display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:var(--sp-4);align-items:start}.login-shell{display:flex;justify-content:center;padding:9vh var(--sp-4) var(--sp-6)}.login-card{width:360px;max-width:100%;padding:var(--sp-6)}.login-card h1{color:var(--primary);font-size:1.5rem}.login-card .brandline{font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--sp-2)}.login-card button[type=submit]{width:100%;justify-content:center;margin-top:var(--sp-2)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}@media(max-width:820px){.messaging-layout,.reports-layout{grid-template-columns:1fr}.thread{max-height:none}}@media(max-width:640px){.form-grid{grid-template-columns:1fr}main{padding:var(--sp-4)}}
