@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-style:italic;font-display:swap}
@font-face{font-family:Geist;src:url(fonts/geist-latin-wght.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#F7F2EC;--ink:#16302D;--m:#5A6865;--acc:#1F6F66;--mint:#DDF3E4;--amber:#FBEBD0;--amberInk:#7A4B0E;--red:#F8DEDA;--redInk:#8A2A1E;--line:rgba(22,48,45,.1);--serif:"Instrument Serif",Georgia,serif;--sans:Geist,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans)}
.demo{background:var(--ink);color:#fff;text-align:center;font-size:13px;padding:6px;letter-spacing:.02em}
.top{display:flex;align-items:center;gap:12px;max-width:960px;margin:0 auto;padding:18px 20px}
.brand{font:30px var(--serif);color:var(--ink);text-decoration:none}.brand i{color:var(--acc)}
.clinic{color:var(--m);font-size:14px}.top .link{margin-left:auto}
main{max-width:960px;margin:0 auto;padding:8px 20px 64px;outline:none}
h1{font:400 clamp(40px,7vw,64px)/1.05 var(--serif);margin:16px 0 8px}h1 i{color:var(--acc)}
h2{font:400 28px var(--serif);margin:0 0 12px}.sub{color:var(--m);font-size:18px;margin:0 0 28px;max-width:560px}
.btn{font:600 16px var(--sans);border:0;border-radius:999px;padding:14px 26px;cursor:pointer;background:var(--acc);color:#fff;display:inline-flex;gap:10px;align-items:center;text-decoration:none}
.btn:hover{background:#185a53}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn.big{font-size:20px;padding:18px 40px}
.link{background:none;border:0;color:var(--acc);font:500 15px var(--sans);cursor:pointer;padding:6px;text-decoration:underline}
:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.signin{max-width:480px;margin:6vh auto;text-align:center}.signin .card{padding:36px 28px}.fine{color:var(--m);font-size:13px;margin-top:18px}
.ollie{width:56px;height:56px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font:28px var(--serif);color:var(--acc);margin:0 auto 12px}
.list{display:grid;gap:12px;padding:0;margin:0;list-style:none}
.row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center;text-decoration:none;color:inherit;transition:transform .15s}
.row:hover{transform:translateY(-2px);border-color:var(--acc)}
.row .who{font:400 24px var(--serif)}.row .meta{color:var(--m);font-size:14px;grid-column:1}.row .tags{grid-column:2;grid-row:1/3;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.badge{font-size:13px;font-weight:600;border-radius:999px;padding:4px 12px;white-space:nowrap}
.ready{background:var(--mint);color:var(--acc)}.need{background:var(--amber);color:var(--amberInk)}.stat{background:var(--red);color:var(--redInk)}.urgent{background:var(--amber);color:var(--amberInk)}.routine{background:#EEF0EF;color:var(--m)}
.back{display:inline-block;margin-bottom:8px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:15px}dt{color:var(--m)}dd{margin:0;font-weight:500}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:15px}.checks li{display:flex;gap:10px;align-items:baseline}
.ok,.no{flex:none;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:700}.ok{background:var(--mint);color:var(--acc)}.no{background:var(--amber);color:var(--amberInk)}
.sms{background:var(--mint);border-radius:18px 18px 18px 4px;padding:14px 16px;font-size:15px;max-width:440px}
.alert{background:var(--amber);color:var(--amberInk);border-radius:14px;padding:12px 16px;margin:16px 0;font-weight:500}
.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px;position:relative;z-index:2}
.steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px;counter-reset:s}
.steps li{counter-increment:s;display:flex;gap:14px;align-items:flex-start}.steps li::before{content:counter(s);flex:none;width:32px;height:32px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-weight:600}
.done{text-align:center;max-width:620px;margin:4vh auto}.done .steps{text-align:left}
.check{width:84px;height:84px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:44px;margin:0 auto;animation:pop .45s ease-out}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.view{animation:fade .25s ease-out}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
textarea{width:100%;font:15px var(--sans);padding:12px;border-radius:12px;border:1px solid var(--line);margin-top:8px}
@media (max-width:700px){.grid{grid-template-columns:1fr}.row{grid-template-columns:1fr}.row .tags{grid-column:1;grid-row:auto;justify-content:flex-start}.actions .btn.big{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}}
