:root{--ink:#18312d;--muted:#667570;--cream:#f6f4ee;--line:#d7ded9;--accent:#176b5a;--red:#9b3434}*{box-sizing:border-box}body{margin:0;background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--ink)}header,main{max-width:980px;margin:auto}header{padding:46px 24px 24px;display:flex;justify-content:space-between;align-items:end}.eyebrow{letter-spacing:.13em;font-weight:700;color:var(--accent);font-size:.72rem;margin:0}h1{font-size:2.3rem;margin:.25rem 0}.pill{font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:.45rem .7rem}.header-pills{display:flex;gap:8px;align-items:center}.header-pills a{color:var(--accent);font-weight:700;text-decoration:none}.header-pills button.small{padding:.3rem .55rem;font-size:.72rem;margin-left:6px}.toolbar{padding:18px 24px;display:flex;gap:12px;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}label{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:var(--muted)}input,select,button{font:inherit;border-radius:8px;padding:10px 12px;border:1px solid var(--line);background:white;color:var(--ink)}button{background:var(--accent);border-color:var(--accent);color:white;font-weight:700;cursor:pointer}.secondary{background:white;color:var(--accent)}#message{max-width:932px;margin:16px auto;min-height:1.4em;padding:0 24px;color:var(--red)}.summary{display:flex;gap:12px;padding:0 24px 15px}.card{background:white;border:1px solid var(--line);padding:13px 16px;border-radius:10px;font-size:.86rem}.card strong{font-size:1.25rem;display:block}.agenda{margin:0 24px 32px;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.empty{padding:36px;color:var(--muted);text-align:center}.appointment{padding:16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:85px 1fr auto;gap:14px;align-items:center}.appointment:last-child{border-bottom:0}.time{font-weight:800;color:var(--accent)}.name{font-weight:800}.meta{font-size:.85rem;color:var(--muted);margin-top:3px}.actions{display:flex;gap:7px}.small{padding:7px 9px;font-size:.78rem}.danger{color:var(--red);border-color:#e3bbbb}dialog{border:0;border-radius:14px;width:min(560px,94vw);box-shadow:0 20px 80px #102a2344}dialog::backdrop{background:#14241e88}form{display:grid;gap:14px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.icon{background:none;border:0;color:var(--ink);font-size:1.7rem;padding:0}.new-patient{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.results{max-height:110px;overflow:auto}.patient{display:block;background:#edf5f1;color:var(--ink);border:0;width:100%;text-align:left;margin:3px 0}.selected{outline:2px solid var(--accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.week{margin:0 24px 20px;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:52px repeat(6,1fr)}.week-hours{display:grid;grid-template-rows:repeat(9,53.33px);border-right:1px solid var(--line);padding-top:28px}.week-hour{font-size:.68rem;color:var(--muted);text-align:right;padding-right:6px;transform:translateY(-.6em)}.week-day{border-right:1px solid var(--line)}.week-day:last-child{border-right:0}.week-day-head{padding:8px 4px;text-align:center;font-size:.75rem;font-weight:700;color:var(--muted);border-bottom:1px solid var(--line);cursor:pointer;text-transform:capitalize}.week-day-body{position:relative;height:480px;cursor:copy;background-image:repeating-linear-gradient(to bottom,transparent,transparent 59px,var(--line) 59px,var(--line) 60px)}.week-appt{position:absolute;left:2px;right:2px;background:var(--accent);color:white;border-radius:6px;padding:3px 5px;font-size:.68rem;line-height:1.25;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px #10241f33}.week-appt small{opacity:.85}.week-closed{position:absolute;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,#eee,#eee 6px,#f6f4ee 6px,#f6f4ee 12px);cursor:not-allowed}@media(max-width:900px){.week{display:none}}@media(max-width:600px){header{padding-top:28px;align-items:start;gap:12px;flex-direction:column}.toolbar{align-items:stretch;flex-wrap:wrap}.appointment{grid-template-columns:72px 1fr}.actions{grid-column:2}.new-patient{grid-template-columns:1fr}.pill{font-size:.7rem}}
