*,:after,:before{box-sizing:border-box}img,svg,table{max-width:100%}:root{--ink:#1a1a2e;--muted:#6b7280;--line:#e5e7eb;--bg:#f8f8fb;--brand:#4f46e5;--good:#059669;--bad:#dc2626;--warn:#d97706;--radius:14px}body,html{margin:0;padding:0;overflow-x:hidden;background:var(--bg);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}h1{font-size:1.5rem;margin:0 0 .25rem}h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin:1.75rem 0 .6rem}.muted,h3{color:var(--muted)}.bad{color:var(--bad)}.good{color:var(--good)}a{color:inherit;text-decoration:none}.logger{max-width:480px;margin:0 auto;padding:1.5rem 1.25rem 5rem;min-height:100dvh;display:flex;flex-direction:column}.logger h1{font-size:1.6rem;margin:.5rem 0 1.5rem;text-align:center}.kids{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.kid{flex:1 1 auto;padding:.6rem 1rem;border:1px solid var(--line);background:#fff;border-radius:999px;font-size:.95rem;cursor:pointer}.kid.on{background:var(--brand);color:#fff;border-color:var(--brand)}.row{display:flex;gap:.75rem;margin-bottom:.75rem}.row.small button{padding:.85rem;border:1px solid var(--line);background:#fff;border-radius:var(--radius);font-size:.9rem;color:var(--muted)}.big,.row.small button{flex:1 1;cursor:pointer}.big{min-height:8.5rem;border:none;border-radius:var(--radius);font-size:1.25rem;font-weight:600;color:#fff;transition:transform .06s}.big:active{transform:scale(.97)}.big.wee{background:#0ea5e9}.big.poo{background:#a16207}.big.ok{background:var(--good)}.big.no{background:var(--bad)}.link{background:none;border:none;color:var(--brand);font-size:.9rem;padding:.75rem;cursor:pointer;text-decoration:underline}.link.back{color:var(--muted)}.detail{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin:.5rem 0}.detail label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}.chip{width:2.4rem;height:2.4rem;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.check{display:flex;align-items:center;gap:.5rem;color:var(--ink)!important}.done{text-align:center;padding:3rem 1rem}.done p{font-size:1.15rem;color:var(--good);font-weight:600}.undo{background:none;border:1px solid var(--line);border-radius:999px;padding:.5rem 1.5rem;margin-top:1rem;cursor:pointer}.logger footer{margin-top:auto;padding-top:1.5rem;text-align:center;font-size:.8rem}.off{color:var(--warn)}.pend{color:var(--muted)}.ok-dot{color:var(--good)}.clinic{max-width:1100px;margin:0 auto;padding:2rem 1.25rem 4rem}.clinic-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.who{font-size:.9rem;color:var(--muted);display:flex;align-items:center;gap:.75rem}.enquiry-badge{background:var(--brand);color:#fff;font-size:.78rem;font-weight:600;padding:.3rem .65rem;border-radius:999px;white-space:nowrap}.back-link{font-size:.85rem;color:var(--muted);display:block;margin-bottom:.5rem}.risk{color:var(--bad)}.empty{color:var(--muted);padding:3rem 0;text-align:center}.board{list-style:none;padding:0;margin:0;display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card{background:#fff;border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius)}.card a{display:block;padding:1.1rem}.card.at_risk{border-left-color:var(--bad)}.card.watch{border-left-color:var(--warn)}.card.on_track{border-left-color:var(--good)}.card-top{display:flex;justify-content:space-between;align-items:flex-start}.card-top h2{font-size:1.1rem;margin:0}.household{font-size:.8rem;color:var(--muted)}.pill{font-size:.7rem;padding:.2rem .6rem;border-radius:999px;white-space:nowrap;text-transform:capitalize}.pill.at_risk{background:#fee2e2;color:#991b1b}.pill.watch{background:#fef3c7;color:#92400e}.pill.on_track{background:#d1fae5;color:#065f46}.stage{margin:.9rem 0;font-size:.82rem;color:var(--muted)}.bar{height:4px;background:var(--line);border-radius:2px;margin-top:.4rem;overflow:hidden}.bar i{display:block;height:100%;background:var(--brand)}.metrics{display:flex;gap:1.25rem;margin:0 0 .75rem}.metrics dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.metrics dd{margin:.15rem 0 0;font-size:1.05rem;font-weight:600}.metrics em{font-size:.75rem;font-style:normal;margin-left:.3rem}.metrics .up{color:var(--good)}.metrics .down{color:var(--bad)}.spark{width:100%;height:32px}.spark path{stroke:var(--brand)}.empty-spark{font-size:.75rem;color:var(--muted);height:auto}.card-foot{display:flex;justify-content:space-between;font-size:.78rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.alerts{color:var(--bad);font-weight:600}.cols{display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:1fr}@media (min-width:900px){.cols{grid-template-columns:320px 1fr}}.banner{padding:.85rem 1rem;border-radius:10px;margin-bottom:1.25rem;font-size:.9rem}.banner.urgent{background:#fee2e2;color:#991b1b}.banner.warn{background:#fef3c7;color:#92400e}.baseline-start{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:1.25rem;font-size:.9rem;flex-wrap:wrap}.baseline-start select{padding:.4rem .6rem;border:1px solid var(--line);border-radius:6px}.baseline-start button{padding:.4rem 1rem;background:var(--brand);color:#fff;border:none;border-radius:6px;cursor:pointer}.alerts-list,.carers,.contacts{list-style:none;padding:0;margin:0}.alerts-list li{padding:.75rem;border-radius:10px;margin-bottom:.5rem;background:#fff;border-left:3px solid var(--line)}.alerts-list li.urgent{border-left-color:var(--bad)}.alerts-list li.warning{border-left-color:var(--warn)}.alerts-list strong{display:block;font-size:.9rem}.alerts-list span{font-size:.82rem;color:var(--muted)}.carers li{padding:.5rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.lvl{float:right;font-size:.7rem;padding:.15rem .5rem;border-radius:999px;background:var(--line);color:var(--muted);text-transform:capitalize}.lvl.manage{background:#ede9fe;color:#5b21b6}.log-table{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;border-radius:10px;overflow:hidden}.log-table th{text-align:left;font-size:.7rem;text-transform:uppercase;color:var(--muted);padding:.6rem}.log-table td,.log-table th{border-bottom:1px solid var(--line)}.log-table td{padding:.55rem .6rem}.log-table tr.baseline{opacity:.6}.tag{font-size:.6rem;background:var(--line);color:var(--muted);padding:.1rem .35rem;border-radius:4px;margin-left:.35rem}.contacts li{background:#fff;padding:.75rem;border-radius:10px;margin-bottom:.5rem}.ctype{font-size:.7rem;text-transform:uppercase;color:var(--brand);font-weight:600}.cdate{font-size:.75rem;color:var(--muted);float:right}.contacts p{margin:.4rem 0 0;font-size:.88rem}.next{color:var(--warn);font-weight:500}.next.done{color:var(--muted);text-decoration:line-through}.settings-form{max-width:480px;display:flex;flex-direction:column;gap:1.25rem}.settings-form .field{display:flex;flex-direction:column;gap:.4rem}.settings-form .field-label{font-size:.85rem;font-weight:600}.settings-form .field-help{font-size:.8rem;color:var(--muted);margin:0}.settings-form .input{width:100%;padding:.65rem;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:inherit}.settings-form .save-btn{align-self:flex-start;padding:.65rem 1.5rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:.95rem;cursor:pointer}.enquiries{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.75rem}.enquiry-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.enquiry-card h2{margin:0 0 .2rem;font-size:1.05rem}.enquiry-card .note{margin:.5rem 0 0;font-size:.88rem;color:var(--ink);max-width:40ch}.enquiry-date{font-size:.75rem;display:block;margin-top:.4rem}.enquiry-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.enquiry-actions button{padding:.55rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;border:1px solid var(--line)}.enquiry-actions .accept{background:var(--brand);color:#fff;border-color:var(--brand)}.enquiry-actions .decline{background:#fff;color:var(--muted)}.accept-form{display:flex;gap:.5rem;align-items:center}.accept-form select{padding:.5rem;border:1px solid var(--line);border-radius:8px;font-size:.85rem}.signin{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.signin form{background:#fff;padding:2rem;border-radius:var(--radius);border:1px solid var(--line);width:100%;max-width:340px}.signin label{display:block;font-size:.8rem;color:var(--muted);margin:1rem 0 .3rem}.signin input,.signin textarea{width:100%;padding:.65rem;border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:inherit}.signin textarea{resize:vertical}.signin a{color:var(--brand)}.startStatus{background:#fff;padding:2rem;border-radius:var(--radius);border:1px solid var(--line);width:100%;max-width:340px;text-align:center}.startStatus h1{margin:0 0 .75rem}.startStatus p{margin:0;color:var(--muted);line-height:1.5}.startStatus .small{font-size:.85rem}.booking-links{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}.booking-btn{display:block;padding:.75rem 1rem;border-radius:8px;font-size:.95rem;font-weight:600;background:var(--brand);color:#fff;text-align:center}.booking-btn.secondary{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}.premium-teaser{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.premium-badge{display:inline-block;background:var(--warn);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;margin-bottom:.5rem}.premium-btn{width:100%;margin-top:.75rem;padding:.65rem;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:.9rem;cursor:not-allowed}.signin .pwrow{position:relative}.signin .pwrow input{padding-right:3.2rem}.signin .pwtoggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:auto;margin:0;padding:.3rem .6rem;background:transparent;color:var(--muted);border:none;border-radius:6px;font-size:.8rem;cursor:pointer}.signin .pwtoggle:hover{background:var(--bg)}.signin button:not(.pwtoggle){width:100%;margin-top:1.5rem;padding:.75rem;background:var(--brand);color:#fff;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.err{color:var(--bad);font-size:.85rem;margin-top:1rem}