/* #528 — Schedule Next Appointment. Values transcribed from the approved mockup (artifact 12s6atbiB1GTPtaSw5DwN6, screens 1 · 2 · 4);
   the font is PVT3's own (inherited from the card), never the mockup's. Cursor: the arrow everywhere (law 5.21). */

/* ── the button, centred directly under the top line (screen 4) ── */
.sr-btn-row{display:flex;justify-content:center;padding:16px 24px 18px;flex:0 0 auto}
.sr-btn{font:inherit;font-size:18px;font-weight:700;padding:14px 36px;border:0;background:#dc2626;color:#fff;border-radius:10px;cursor:default;animation:srPulse 2.2s ease-in-out infinite}
.sr-btn.is-sent{border:2px solid #15803d;background:#f0fdf4;color:#166534;animation:none;padding:12px 34px}
@keyframes srPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 0 8px rgba(220,38,38,0)}}

/* ── the red box at the top of the visit's card (screen 1, top section) ── */
.sr-box{margin:16px 20px 4px;flex:0 0 auto;background:#fff;border:2px solid #dc2626;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;color:#1f2937;animation:srBoxPulse 2.4s ease-in-out infinite}
.sr-box.is-done{border-color:#15803d;animation:none}
@keyframes srBoxPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.35)}50%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}
.sr-box-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sr-box-hd-l{display:flex;flex-direction:column;gap:4px}
.sr-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;color:#b91c1c}
.sr-box.is-done .sr-kicker{color:#166534}
.sr-stamp{font-size:14px;color:#374151}
.sr-progress{font-size:14px;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;padding:6px 12px}
.sr-progress.is-done{color:#166534;background:#f0fdf4;border-color:#bbf7d0}
.sr-note{font-size:15px;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px}
.sr-lines{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px}
.sr-line{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #e5e7eb}
.sr-line:last-child{border-bottom:0}
.sr-tick{width:26px;height:26px;flex:0 0 26px;border-radius:6px;border:2px solid #9ca3af;background:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font:inherit;font-weight:700;color:#fff;padding:0;cursor:default}
.sr-tick.is-on{background:#15803d;border-color:#15803d}
.sr-line-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.sr-line-title{font-size:16px;font-weight:600}
.sr-line-sub{font-size:13px;color:#4b5563}
.sr-line-booked{font-size:14px;font-weight:600;color:#166534;white-space:nowrap}
/* law 4.10 (found by the #528 live check: at 1440×1000 the button sat under the card's footer) — the box scrolls with the card,
   its "Mark all scheduled" row stays pinned to the bottom of the visible area while any of the box is below it */
/* #532 — the line's right side: navy Book (mockup screen 1), "Booked Tue Dec 1, 8:30am" that opens the appointment, the imaging
   "Booked on" box, "Booking cancelled" in red */
.sr-side{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.sr-book{font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border:0;background:#1f3a68;color:#fff;border-radius:6px;cursor:default}
.sr-book:disabled{opacity:.5}
.sr-booked-link{font:inherit;font-size:14px;font-weight:600;color:#166534;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:default;white-space:nowrap}
.sr-cancelled{font-size:13px;font-weight:700;color:#b91c1c;white-space:nowrap}
.sr-bookedon{display:flex;align-items:center;gap:6px;font-size:13px;color:#4b5563;white-space:nowrap}
.sr-bookedon-in,.sr-bookedon .p3-dp-box{font:inherit;font-size:13px;padding:5px 8px;border:1px solid #cbd2dc;border-radius:6px;width:130px}
/* #533 — imaging line actions, "Patient says" (blue), the SENT log (mockup screen 1), the send sheet + the sent viewer */
.sr-img-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.sr-img-btn{font:inherit;font-size:13px;font-weight:600;padding:6px 10px;border:0;background:#2563eb;color:#fff;border-radius:6px;cursor:default}
.sr-says{font-size:13px;font-weight:600;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 10px;white-space:nowrap}
/* #535 — "Patient replied" + "Read reply" on the imaging line; REPLY lines in SENT (mockup 1) */
.sr-replied{font-size:13px;font-weight:700;color:#fff;background:#2563eb;border-radius:999px;padding:4px 10px;white-space:nowrap}
.sr-read-reply{font:inherit;font-size:13px;font-weight:600;padding:6px 10px;border:1px solid #2563eb;background:#fff;color:#1d4ed8;border-radius:6px;cursor:default;white-space:nowrap}
.sr-sent-line.is-reply .sr-sent-type{color:#fff;background:#2563eb}
.sr-reply-msg{display:flex;flex-direction:column;gap:6px}
.sr-reply-meta{font-size:13px;color:#4b5563}
/* #542 — the automatic imaging text on its line; TEST TIMING; the "Don't text patient" tick */
.sr-auto{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#1f3a68;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:4px 10px;white-space:nowrap}
.sr-test-timing{font-size:11px;font-weight:800;letter-spacing:.06em;color:#fff;background:#7c3aed;border-radius:4px;padding:2px 6px;white-space:nowrap}
.sr-hol-link{font-size:12px}
.p3-dont-text{padding:12px 16px}
.p3-dont-text-label{display:flex;align-items:center;gap:8px;font-size:15px}
.p3-dont-text-label span{color:#4b5563;font-size:14px}
/* #536 — "Heads-up added for Thu Oct 22" + its small edit link */
.sr-hu{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:4px 10px;white-space:nowrap}
.sr-hu-link{font-size:12px;font-weight:500}
.sr-hu-edit-row{display:inline-flex;align-items:center;gap:8px}
/* the line's text keeps room for its two Send buttons side by side; the right side WRAPS its chips onto a second row instead of
   squeezing the buttons until a chip lands on top of them (found by looking, #536) */
.sr-line .sr-line-text{flex:1 1 300px;min-width:300px}
.sr-line .sr-side{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;row-gap:8px;min-width:0}
.sr-sent{display:flex;flex-direction:column;gap:6px}
.sr-sent-h{font-size:13px;font-weight:700;letter-spacing:.06em;color:#4b5563}
.sr-sent-line{display:flex;gap:10px;align-items:center;font:inherit;font-size:14px;color:#1f2937;background:none;border:0;padding:0;text-align:left;cursor:default}
.sr-sent-line:hover span:last-child{text-decoration:underline}
.sr-sent-type{font-size:12px;font-weight:700;color:#1d4ed8;background:#dbeafe;border-radius:4px;padding:2px 6px;width:46px;text-align:center;flex:0 0 auto}
.sr-sheet{width:min(560px,100%)}
.sr-sheet-label{font-size:13px;font-weight:600;color:#374151}
/* #656 — the booking-page message box on "Send these times" */
.sb-msg-label{display:block;margin-top:12px}.sb-msg-label span{font-weight:400;color:#6b7280}
.sb-msg{display:block;width:100%;box-sizing:border-box;min-height:70px;margin-top:6px;padding:9px 11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;font-size:14px;line-height:1.45;color:#1f2937;background:#fff;resize:vertical}
.sb-msg:focus{outline:none;border-color:#3d7e95;box-shadow:0 0 0 3px rgba(61,126,149,.18)}
.sb-msg-note{margin-top:4px}
:root[data-theme="dark"] .sb-msg{background:#16233a;color:#e8eef7;border-color:#334155}
.sr-sheet-sms{background:#e9e9eb;border-radius:18px;padding:10px 14px;font-size:15px;line-height:1.4;max-width:420px;white-space:pre-wrap}
.sr-sheet-subj{font-size:14px;font-weight:600}
.sr-sheet-mail{width:100%;height:380px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}
.sr-sheet-note{font-size:13px;color:#4b5563}
.sr-sheet-fac{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}
.sr-sheet-src{font-size:12px;color:#4b5563;background:#f3f4f6;border-radius:999px;padding:2px 8px}
.sr-sheet-block{font-size:14px;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 12px}
.sr-foot.sr-sheet-foot{flex-direction:row;justify-content:flex-end;align-items:center;gap:16px}   /* beats the form's later .sr-foot column (found by looking) */
.sr-sheet-foot .sr-send{padding:12px 22px}
.sr-fac-edit{display:flex;flex-direction:column;gap:6px}
.sr-fac-row{display:flex;gap:6px;align-items:center}
.sr-fac-actions{display:flex;justify-content:space-between;align-items:center;margin-top:4px}
.sr-box-ft{display:flex;justify-content:flex-end;border-top:1px solid #e5e7eb;padding:14px 0 2px;position:sticky;bottom:0;background:inherit;z-index:1}
.sr-all{font:inherit;font-size:14px;font-weight:600;padding:10px 14px;border:0;background:#15803d;color:#fff;border-radius:6px;cursor:default}
.sr-all:disabled,.sr-tick:disabled{opacity:.6}

/* ── her form (screen 2) ── */
.sr-backdrop{position:fixed;inset:0;z-index:105;background:rgba(24,33,47,.36);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;font-family:"Segoe UI",system-ui,Arial,sans-serif}
.sr-form{position:relative;width:min(472px,100%);background:#fff;border:1px solid #dfe3ea;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:18px;color:#1f2937;box-shadow:0 18px 50px rgba(15,23,42,.25);box-sizing:border-box}
.sr-x{position:absolute;top:14px;right:14px;width:30px;height:30px;border:0;border-radius:50%;background:#f1f3f6;color:#374151;font-size:18px;line-height:1;cursor:default}
.sr-form-hd{display:flex;flex-direction:column;gap:4px;padding-right:36px}
.sr-title{font-size:20px;font-weight:700}
.sr-who{font-size:14px;color:#4b5563}
.sr-pills{display:flex;flex-wrap:wrap;gap:8px}
.sr-pill{font:inherit;font-size:15px;padding:10px 14px;border:2px solid #cbd2dc;background:#fff;color:#1f2937;border-radius:999px;cursor:default}
.sr-pill.is-on{font-weight:600;border-color:#1f3a68;background:#1f3a68;color:#fff}
.sr-pill.sr-sm{font-size:14px;padding:7px 14px}
.sr-details{display:flex;flex-direction:column;gap:16px;border-top:1px solid #e5e7eb;padding-top:16px}
.sr-field{display:flex;flex-direction:column;gap:8px}
.sr-row{display:flex;gap:8px}
.sr-label{font-size:15px;font-weight:600}
.sr-sublabel{font-size:13px;color:#4b5563}
.sr-date{display:flex;flex-direction:column;gap:4px;width:50%}
.sr-input{font:inherit;font-size:15px;padding:10px 12px;border:1px solid #cbd2dc;border-radius:6px;background:#fff;color:#1f2937;box-sizing:border-box;width:100%}
.sr-date-in,.sr-date .p3-dp-box{font-size:14px;padding:8px 10px;border:2px solid #1f3a68;border-radius:6px}
.sr-fu-hd{display:flex;justify-content:space-between;align-items:baseline}
.sr-link{font:inherit;font-size:13px;border:0;background:none;padding:0;color:#1d4ed8;text-decoration:underline;cursor:default}
.sr-fu-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sr-fu{font:inherit;font-size:13px;padding:5px 10px;border-radius:999px;border:1px solid #cbd2dc;background:#fff;color:#1f2937;cursor:default}
.sr-fu.is-on{background:#1f3a68;border-color:#1f3a68;color:#fff}
.sr-fu-add{border-style:dashed;border-color:#9ca3af;color:#4b5563}
.sr-fu-edit{display:inline-flex;align-items:center;gap:2px;border:1px solid #cbd2dc;border-radius:999px;padding:1px 4px 1px 8px}
.sr-fu-input{font:inherit;font-size:13px;border:0;outline:0;width:90px;padding:4px 0;background:transparent}
.sr-fu-new{border:1px dashed #9ca3af;border-radius:999px;padding:4px 10px;width:110px}
.sr-fu-del{border:0;background:none;font-size:15px;line-height:1;color:#6b7280;padding:0 4px;cursor:default}
/* #580 — the follow-up timing: the PVT Next Visit's controls, one labelled row each, and the plain summary line under them */
.sr-fu-grid{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.sr-fu-r{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sr-fu-k{flex:0 0 112px;font-size:13px;color:#4b5563}
.sr-fu-grid .sr-fu{min-width:34px;text-align:center}
.sr-fu-date{width:auto;max-width:190px}
.sr-fu-sum{margin-top:8px;font-size:13.5px;font-weight:600;color:#1f3a68;background:#eef2f8;border-radius:6px;padding:6px 10px}
.sr-fu-sum.is-legacy{font-weight:500;color:#4b5563;background:#f3f4f6}
/* #531 — repeatable entries (mockup screen 2, updated): date + note side by side, a dashed rule between repeats, red Remove */
.sr-group{display:flex;flex-direction:column;gap:8px}
.sr-entry-more{border-top:1px dashed #d1d5db;padding-top:12px}
.sr-entry-hd{display:flex;justify-content:space-between;align-items:baseline}
.sr-remove{font:inherit;font-size:13px;border:0;background:none;padding:0;color:#b91c1c;text-decoration:underline;cursor:default}
.sr-pair{display:flex;gap:12px}
.sr-half{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.sr-full{width:100%}
.sr-pair .sr-date{width:auto}
.sr-sm-in{font-size:14px;padding:8px 10px}
.sr-addmore{align-self:flex-start;font:inherit;font-size:14px;font-weight:600;border:0;background:none;padding:0;color:#1d4ed8;text-decoration:underline;cursor:default}
.sr-foot{display:flex;flex-direction:column}
.sr-send{font:inherit;font-size:16px;font-weight:700;padding:14px;border:0;background:#dc2626;color:#fff;border-radius:8px;cursor:default}
.sr-send:disabled{opacity:.5}
@media (prefers-reduced-motion:reduce){.sr-btn,.sr-box{animation:none}}

/* ── #530 David's "To schedule" strip (mockup screen 3) — the Heads-up / Reminder strip's slim box, red and glowing ── */
.dc-cal-pvt2-days .dc-sched-strip{display:block;width:100%;text-align:left;font:inherit;font-size:10px;line-height:10px;font-weight:700;color:#7f1d1d;background:#fecaca;border:0;border-bottom:1px solid #dc2626;border-radius:0;padding:2px 6px;margin:0;cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ssGlow 1.6s ease-in-out infinite}
@keyframes ssGlow{0%,100%{background:#fecaca}50%{background:#fca5a5}}
@media (prefers-reduced-motion:reduce){.dc-cal-pvt2-days .dc-sched-strip{animation:none}}
.ss-backdrop{position:fixed;inset:0;z-index:120;background:transparent}
.ss-panel{position:fixed;z-index:121;background:#fff;border:1px solid #dfe3ea;border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.12);padding:18px;display:flex;flex-direction:column;gap:12px;color:#1f2937;font-family:"Segoe UI",system-ui,Arial,sans-serif;max-height:calc(100vh - 140px);box-sizing:border-box}
.ss-hd{display:flex;justify-content:space-between;align-items:baseline}
.ss-title{font-size:18px;font-weight:700}
.ss-x{border:0;background:none;font-size:18px;line-height:1;color:#6b7280;padding:0 2px;cursor:default}
.ss-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow-y:auto;min-height:0}
.ss-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;text-align:left;font:inherit;color:inherit;cursor:default;width:100%}
.ss-row:last-child{border-bottom:0}
.ss-row:hover{background:#f8fafc}
.ss-row-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ss-name{font-size:15px;font-weight:600}
.ss-sub{font-size:13px;color:#4b5563}
.ss-row-side{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ss-chip{font-size:12px;font-weight:600;border-radius:999px;padding:3px 8px}
.ss-new{color:#374151;background:#f3f4f6}
/* #535 — the patient's answer (mockup 3): blue "replied" on the strip, row chips, the tinted replied row, Nudge */
.dc-sched-strip .dc-sched-replied{color:#1d4ed8}
.ss-row.is-replied{background:#eff6ff}
.ss-replied{font-weight:700;color:#fff;background:#2563eb}
.ss-noreply{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}
.ss-sent{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}
.ss-nudge{font:inherit;font-size:13px;font-weight:600;padding:7px 10px;border:1px solid #cbd2dc;background:#fff;color:#1f2937;border-radius:6px;cursor:default}
.ss-empty{font-size:14px;color:#4b5563}
/* #575 — the list made clearable: a row = the patient + Open Card, then each open line in plain words with its own actions */
.ss-row{flex-direction:column;align-items:stretch;gap:8px}
.ss-row:hover{background:#fff}
.ss-row.is-test{background:#fafafa}
.ss-row-hd{display:flex;align-items:center;gap:8px}
.ss-row-hd .ss-name{flex:1;min-width:0}
.ss-test{font-size:11px;font-weight:700;letter-spacing:.04em;color:#4b5563;background:#e5e7eb;border-radius:4px;padding:2px 6px}
.ss-line{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid #eef0f3;border-radius:8px;background:#fcfcfd}
.ss-line-what{font-size:14px;font-weight:600}
.ss-line-detail{font-weight:400;color:#6b7280}
.ss-line-status{font-size:13px;color:#4b5563}
.ss-line-status.is-call{color:#b91c1c;font-weight:600}
.ss-line-status.is-replied{color:#1d4ed8;font-weight:600}
.ss-line-status.is-match{color:#92400e;font-weight:600}
.ss-line-status.is-sent{color:#1d4ed8}
.ss-line-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-top:2px}
.ss-acts-match{display:flex;gap:6px;margin-right:auto}
.ss-btn{font:inherit;font-size:13px;font-weight:600;padding:5px 10px;border:1px solid #cbd2dc;background:#fff;color:#1f2937;border-radius:6px;cursor:default}
.ss-btn.ss-link{background:#1f3a68;border-color:#1f3a68;color:#fff}
.ss-btn.ss-open{font-weight:500}
.ss-undo{display:flex;flex-direction:column;gap:4px}
.ss-undo-row{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;background:#f3f4f6;border-radius:6px;padding:6px 10px}
.ss-undo-row .ss-undo-btn{margin-left:auto}
.ss-err{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:600;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px}
.ss-err .ss-x{margin-left:auto}
/* #595 — the To schedule WINDOW: centred on the screen whatever the strip's place, fits the window, the list scrolls inside; three
   groups (NEEDS YOU · WAITING ON PATIENT · WAITING ON DR. BECKER, greyed), a row per line with its note, Resend ▾, Done today */
#dcSchedStripPanel .ss-backdrop{display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;background:rgba(15,23,42,.28)}
#dcSchedStripPanel .ss-panel{position:relative;width:min(640px,100%);max-height:calc(100vh - 32px);left:auto;top:auto}
#dcSchedStripPanel .ss-list{border:0;gap:14px;padding-right:2px}
.ss-group{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px}
.ss-group-hd{font-size:12px;font-weight:700;letter-spacing:.07em;color:#b91c1c;padding:8px 12px;border-bottom:1px solid #eef0f3;background:#fff7f7;border-radius:8px 8px 0 0}
.ss-group-hd span{font-weight:500;letter-spacing:0;color:#6b7280}
.ss-group.is-patient .ss-group-hd{color:#1d4ed8;background:#f5f8ff}
.ss-group.is-becker{opacity:.62}
.ss-group.is-becker .ss-group-hd{color:#4b5563;background:#f9fafb}
.ss-what{font-size:14px;font-weight:500;color:#374151}
.ss-row-hd .ss-name{flex:0 1 auto}
.ss-note{font-size:13px;color:#374151;background:#f9fafb;border-left:3px solid #d1d5db;padding:4px 8px;border-radius:4px;white-space:pre-wrap}
.ss-btn.ss-offer,.ss-btn.ss-book{background:#1f3a68;border-color:#1f3a68;color:#fff}
.ss-btn.ss-withdraw{color:#b91c1c;border-color:#fecaca;background:#fff5f5}
.ss-menu{display:flex;flex-direction:column;gap:2px;align-self:flex-end;min-width:280px;border:1px solid #dfe3ea;border-radius:10px;box-shadow:0 6px 18px rgba(15,23,42,.14);padding:6px;background:#fff}
.ss-menu-opt{font:inherit;font-size:13px;text-align:left;border:0;background:none;padding:7px 10px;border-radius:6px;cursor:default;color:#1f2937}
.ss-menu-opt:hover{background:#f3f4f6}
.ss-menu-cancel{color:#b91c1c}
.ss-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 4px;font-size:13px}
.ss-dt{font:inherit;font-size:13px;padding:4px 6px;border:1px solid #cbd2dc;border-radius:6px}
.ss-donetoday summary{cursor:default;list-style:none}
.ss-donetoday summary::-webkit-details-marker{display:none}
.ss-donetoday .ss-group-hd{color:#166534;background:#f0fdf4}
.ss-done-row{font-size:13px;color:#166534;padding:7px 12px;border-bottom:1px solid #eef0f3}
.ss-done-row:last-child{border-bottom:0}
/* #575 — Mark done ▾: ONE small menu (card and list), above the panel and the card */
.sr-done-menu{position:fixed;z-index:13000;background:#fff;border:1px solid #dfe3ea;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.18);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:230px;font:14px "Segoe UI",system-ui,Arial,sans-serif;color:#1f2937}
.sr-done-opt{font:inherit;text-align:left;border:0;background:none;padding:8px 10px;border-radius:6px;cursor:default;color:inherit}
.sr-done-opt:hover{background:#f3f4f6}
.sr-done-note{display:flex;gap:6px;padding:6px 4px 2px;border-top:1px solid #eef0f3;margin-top:4px}
.sr-done-note .sr-input{flex:1;min-width:0}
.sr-done-err{font-size:12px;font-weight:600;color:#991b1b;padding:4px 6px}
/* #575 — the card line's suggested visit */
.sr-match{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:4px 8px}
.sr-done-reason{font-weight:400;color:#6b7280}

/* ── #538 booking mode: the slim banner pinned at the top (below the booking form's backdrop at 100, so the form covers it) ── */
.sb-banner{position:fixed;z-index:99;top:8px;left:50%;transform:translateX(-50%);max-width:min(1100px,calc(100vw - 32px));display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:9px 14px;background:#1f3a68;color:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.28);font:14px "Segoe UI",system-ui,Arial,sans-serif;box-sizing:border-box}
.sb-banner.is-offer{background:#7c2d12}
.sb-what b{font-weight:700}
.sb-sub{font-size:13px;opacity:.85}
.sb-hint{font-size:13px;opacity:.85;font-style:italic}
.sb-seg{display:inline-flex;border:1px solid rgba(255,255,255,.5);border-radius:999px;overflow:hidden}
.sb-seg button{font:inherit;font-size:13px;font-weight:600;padding:5px 12px;border:0;background:transparent;color:#fff;cursor:default}
.sb-seg button.is-on{background:#fff;color:#1f3a68}
.sb-chips{display:inline-flex;flex-wrap:wrap;gap:6px}
.sb-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;background:#fff;color:#7c2d12;border-radius:999px;padding:3px 4px 3px 10px}
.sb-chip-x{border:0;background:none;color:#7c2d12;font-size:15px;line-height:1;padding:0 4px;cursor:default}
.sb-primary{font:inherit;font-size:13px;font-weight:700;padding:7px 12px;border:0;border-radius:6px;background:#fff;color:#7c2d12;cursor:default}
.sb-primary:disabled{opacity:.5}
.sb-cancel{font:inherit;font-size:13px;font-weight:600;padding:6px 12px;border:1px solid rgba(255,255,255,.6);border-radius:6px;background:transparent;color:#fff;cursor:default;margin-left:auto}
/* #539 — a day before her on-or-after date (an insurance rule) is greyed out in booking / offer mode and cannot be picked */
body.sb-on .dc-cal-pvt2-day.sb-blocked{background:repeating-linear-gradient(135deg,#f1f3f6 0 6px,#e6e9ee 6px 12px);opacity:.55;cursor:not-allowed}
/* #539 — "Blood draws · N" in the top-right of a day cell */
.dc-cal-pvt2-day .dc-bd-count{position:absolute;top:6px;right:8px;font-size:10px;line-height:14px;font-weight:700;color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:999px;padding:0 6px;white-space:nowrap;pointer-events:none}
.sb-suggest{font-size:13px;font-weight:600;background:rgba(255,255,255,.16);border-radius:999px;padding:3px 10px}
/* the line's state words (#539): "Please call me" red, Quest without a date, the follow-up's order */
.sr-callme{font-size:13px;font-weight:700;color:#fff;background:#dc2626;border-radius:999px;padding:4px 10px;white-space:nowrap}
/* #556 (6) — the patient postponed / cancelled from the imaging link: the line turns red and her note is on it (wraps, never cut) */
.sr-line.is-postponed{background:#fef2f2;box-shadow:inset 4px 0 0 #dc2626}
.sr-postponed{font-size:13px;font-weight:700;color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:10px;padding:5px 10px;white-space:normal;max-width:360px;line-height:1.35}
.sr-quest-nodate{font-size:13px;font-weight:600;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:999px;padding:4px 10px;white-space:nowrap}
.sr-fu-wait{font-size:13px;color:#6b7280;background:#f3f4f6;border-radius:999px;padding:4px 10px;white-space:nowrap}
.sr-fu-ready{font-size:13px;font-weight:600;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;padding:4px 10px;white-space:nowrap}
body.sb-on .dc-cal-pvt2-day{cursor:cell}   /* a pick, not a link (law 5.21: never the hand) */
/* #538 on the line: Offer Times beside Book; "At Quest on …"; the times emailed */
.sr-offer{font:inherit;font-size:13px;font-weight:600;padding:8px 12px;border:1px solid #1f3a68;background:#fff;color:#1f3a68;border-radius:6px;cursor:default}
.sr-offered{font-size:13px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:4px 10px;white-space:nowrap}

/* ── Mission Control's dark theme ── */
#p3MissionControl.mc-theme-dark .sr-box,#p3MissionControl.mc-theme-dark .sr-form{background:#131a2b;color:#e8edf6}
#p3MissionControl.mc-theme-dark .sr-stamp,#p3MissionControl.mc-theme-dark .sr-line-sub,#p3MissionControl.mc-theme-dark .sr-who{color:#9aa7bd}
#p3MissionControl.mc-theme-dark .sr-lines,#p3MissionControl.mc-theme-dark .sr-line,#p3MissionControl.mc-theme-dark .sr-box-ft{border-color:#2a3550}
#p3MissionControl.mc-theme-dark .sr-note{background:#3a2c10;border-color:#7a5a1c;color:#fcd38d}
#p3MissionControl.mc-theme-dark .sr-tick:not(.is-on),#p3MissionControl.mc-theme-dark .sr-pill:not(.is-on),#p3MissionControl.mc-theme-dark .sr-fu:not(.is-on),#p3MissionControl.mc-theme-dark .sr-input{background:#0f1626;color:#e8edf6;border-color:#3a4a6a}
#p3MissionControl.mc-theme-dark .sr-btn.is-sent{background:#0f2a1a;color:#86efac;border-color:#22c55e}

/* #547 */
.sr-status{cursor:default;pointer-events:none}
.sr-after-row{margin-top:6px;flex-wrap:wrap;gap:6px}
.sr-after.is-on{background:#e6f1f5;border-color:#3d7e95;color:#1f5566}
.sr-lock{border:1px solid #c9d3dc;background:#f6f8fa;border-radius:999px;padding:2px 10px;font-size:12px;margin:0 6px;cursor:default}
.sr-lock.is-open{background:#fff7e6;border-color:#f5c26b;color:#7a4a00}
.sr-bookedon-in:disabled{opacity:.55}
.sr-offered-times{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.sr-withdraw{font-size:12px}
.sr-markdone{font-size:13px}
.sr-img-booked{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;color:#1f6b3a;font-weight:600}
.sb-nodate{background:#fff7e6;border-color:#f5c26b;color:#7a4a00}

/* #549 */
/* (1) the red button ~30% smaller, no pulse / glow (the sent state keeps its own size) */
.sr-btn:not(.is-sent){font-size:13px;padding:10px 25px;border-radius:8px;animation:none;box-shadow:none}
/* (2) no empty box: nothing on the left until the line is done */
.sr-tick.sr-status.is-blank,#p3MissionControl.mc-theme-dark .sr-tick.sr-status.is-blank{border:0;background:transparent}
/* #552 Part 1 — results on an imaging line */
.sr-results.is-waiting{color:#9a3412;font-weight:700}
.sr-results.is-done{color:#166534;font-weight:600}
#p3MissionControl.mc-theme-dark .sr-results.is-waiting{color:#fdba74}
#p3MissionControl.mc-theme-dark .sr-results.is-done{color:#86efac}
/* (3) "Send These Times" — light green so it stands out on the offer banner */
.sb-primary.sb-send-times{background:#dcfce7;color:#14532d;border:1px solid #86efac}
.sb-primary.sb-send-times:not(:disabled):hover{background:#bbf7d0}
/* (6) Withdraw: a small light-red button */
.sr-withdraw{font:inherit;font-size:12px;font-weight:600;line-height:1.2;color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;padding:2px 9px;cursor:default;text-decoration:none}
.sr-withdraw:hover{background:#fecaca}
.sr-withdraw:disabled{opacity:.6}
#p3MissionControl.mc-theme-dark .sr-withdraw{background:#3b1414;border-color:#7f1d1d;color:#fca5a5}
/* (8) the history log — one list, newest first, no colours or badges, ~10% smaller; the how in small grey italics */
.sr-hist{display:flex;flex-direction:column;border-top:0}
.sr-hist-h{font-size:12px;font-weight:700;letter-spacing:.07em;color:#4b5563;margin-bottom:4px}
.sr-hist-h span{font-weight:500;letter-spacing:0;color:#6b7280}
.sr-hist-line{display:block;width:100%;font:inherit;font-size:12.6px;line-height:1.45;color:#1f2937;font-weight:400;background:none;border:0;border-bottom:1px solid #eef0f3;padding:6px 0;text-align:left;cursor:default}
.sr-hist-line:last-child{border-bottom:0}
.sr-hist-line.is-open:hover{background:#f8fafc}
.sr-hist-at{color:#6b7280}
.sr-hist-how{font-size:11.3px;font-style:italic;color:#6b7280;font-weight:400}
#p3MissionControl.mc-theme-dark .sr-hist-line{color:#e8edf6;border-color:#2a3550}
#p3MissionControl.mc-theme-dark .sr-hist-line.is-open:hover{background:#16203a}
#p3MissionControl.mc-theme-dark .sr-hist-at,#p3MissionControl.mc-theme-dark .sr-hist-how,#p3MissionControl.mc-theme-dark .sr-hist-h,#p3MissionControl.mc-theme-dark .sr-hist-h span{color:#9aa7bd}
/* #593 — "Edit Choices": the small pencil link under the title, and her list (name · works like · ↑ ↓ · Hide / Remove) */
.sr-edit-pills{align-self:flex-start;margin-top:2px}
.sr-pe{width:min(620px,100%)}
.sr-pe-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px}
.sr-pe-row{display:flex;align-items:center;gap:8px;padding:4px 10px;border-bottom:1px solid #e5e7eb}
.sr-pe{gap:12px;max-height:calc(100vh - 80px);overflow-y:auto;box-sizing:border-box}
.sr-pe .sr-sheet-foot{position:sticky;bottom:-20px;background:#fff;padding-top:10px;padding-bottom:4px;z-index:1}   /* law 4.10: Done stays in view */
#p3MissionControl.mc-theme-dark .sr-pe .sr-sheet-foot{background:#0f172a}
.sr-pe .sr-pe-name,.sr-pe .sr-pe-addrow .sr-input{padding-top:6px;padding-bottom:6px}.sr-pe-row:last-child{border-bottom:0}
.sr-pe-row.is-hidden{border:1px dashed #d1d5db;border-radius:8px;margin-top:6px;background:#f9fafb}
.sr-pe-name{flex:1;min-width:0}
.sr-pe-hname{flex:1;min-width:0;font-size:14px;color:#6b7280}
.sr-pe-works{font-size:12.5px;color:#6b7280;white-space:nowrap;min-width:150px}
.sr-pe-arrow{font:inherit;font-size:15px;font-weight:700;width:30px;height:30px;border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:6px;cursor:default;padding:0}
.sr-pe-arrow:disabled{opacity:.35}
.sr-pe-hide{min-width:54px;text-align:right}
.sr-pe-showhidden{align-self:flex-start}
.sr-pe-add{display:flex;flex-direction:column;gap:6px;border-top:1px solid #e5e7eb;padding-top:12px}
.sr-pe-addrow{display:flex;gap:8px;align-items:center}
.sr-pe-addrow input{flex:1;min-width:0}
.sr-pe-addrow select{flex:0 0 170px}
.sr-pe-hint{font-size:12.5px;color:#6b7280}
/* #598 — SENT TO PATIENTS: the page and the card's box (one row shape: when · who · what · delivered / opened / answer · See what
   they saw) */
.stp-page{display:flex;flex-direction:column;gap:12px;padding:18px 22px;font-family:"Segoe UI",system-ui,Arial,sans-serif;color:#1f2937}
.stp-hd{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.stp-title{font-size:20px;font-weight:700}
.stp-search{font:inherit;font-size:14px;padding:7px 10px;border:1px solid #cbd2dc;border-radius:8px;min-width:260px}
.stp-note{font-size:13px;color:#4b5563}
.stp-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.stp-row{display:grid;grid-template-columns:130px 170px minmax(0,1fr) 260px 150px;gap:12px;align-items:start;padding:10px 14px;border-bottom:1px solid #eef0f3;font-size:13.5px}
.stp-row:last-child{border-bottom:0}
.stp-card .stp-row{grid-template-columns:110px minmax(0,1fr) 220px 140px;padding:8px 10px}
.stp-when{color:#4b5563}
.stp-who{font-weight:600}
.stp-sub{font-size:12.5px;color:#6b7280;margin-top:2px;overflow-wrap:anywhere}
.stp-auto{font-size:11px;font-weight:600;color:#4b5563;background:#f3f4f6;border-radius:4px;padding:1px 6px}
.stp-state{display:flex;flex-direction:column;gap:2px}
.stp-del.is-ok{color:#166534;font-weight:600}.stp-del.is-bad{color:#b91c1c;font-weight:600}.stp-del.is-wait{color:#92400e}
.stp-open{color:#1d4ed8}.stp-ans{color:#166534;font-weight:600}.stp-muted{color:#9ca3af}
.stp-see{font-size:13px;font-weight:600;color:#fff;background:#3d7e95;border-radius:6px;padding:5px 10px;text-decoration:none;white-space:nowrap;display:inline-block}
.stp-err{font-size:13px;font-weight:600;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 10px}
.stp-card{margin:8px 20px 4px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.stp-card-hd{font-size:12px;font-weight:700;letter-spacing:.07em;color:#3d7e95;padding:8px 12px;border-bottom:1px solid #eef0f3}
.stp-card-hd span{font-weight:500;letter-spacing:0;color:#6b7280}
@media (max-width:900px){.stp-row,.stp-card .stp-row{grid-template-columns:1fr}}
#p3MissionControl.mc-theme-dark .stp-card{background:#0f172a;border-color:#2a3550}
#p3MissionControl.mc-theme-dark .stp-row{border-color:#2a3550;color:#e8edf6}
/* #602 — the card's box is ONE line until opened (the whole line is the toggle); the open list sits under it */
.stp-card .stp-line{display:flex;align-items:baseline;gap:6px;width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;color:#1f2937;background:none;border:0;padding:8px 12px;text-align:left;cursor:default;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:10px}
.stp-card .stp-line:hover{background:#f8fafc}
.stp-card .stp-line-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stp-card .stp-line .stp-line-k{font-weight:700;color:#3d7e95}
.stp-card .stp-more{margin-left:auto;padding-left:12px;color:#2563eb;font-weight:600;flex:0 0 auto}
.stp-card.is-open .stp-line{border-bottom:1px solid #eef0f3;border-radius:10px 10px 0 0}
#p3MissionControl.mc-theme-dark .stp-card .stp-line{color:#e8edf6}
#p3MissionControl.mc-theme-dark .stp-card .stp-line:hover{background:#131a2b}
#p3MissionControl.mc-theme-dark .stp-card.is-open .stp-line{border-color:#2a3550}
/* #602 (4) — nothing on the Mission Control card sticks except its header line and footer: Schedule These' Send-all row scrolls with it */
#p3MissionControl .sr-box-ft{position:static}
/* #596 — a standard choice's small grey tag; her own choice's kind dropdown; "What kind of appointment is this?" as a list with hints */
.sr-pe-std{font-size:11px;font-weight:600;letter-spacing:.03em;color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 7px;min-width:0;margin-right:auto}
.sr-pe-kind{flex:0 1 230px;min-width:0;font-size:13px}
.sr-pe-kinds{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sr-pe-kindopt{font:inherit;text-align:left;display:flex;flex-direction:column;gap:1px;border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:6px 10px;cursor:default;color:#1f2937}
.sr-pe-kindopt b{font-size:13px;font-weight:600}
.sr-pe-kindopt span{font-size:12px;color:#6b7280}
.sr-pe-kindopt.is-on{border-color:#1f3a68;background:#eef2f9;box-shadow:inset 3px 0 0 #1f3a68}
@media (max-width:560px){.sr-pe-kinds{grid-template-columns:1fr}}
#p3MissionControl.mc-theme-dark .sr-pe-kindopt{background:#16203a;border-color:#2a3550;color:#e8edf6}
#p3MissionControl.mc-theme-dark .sr-pe-kindopt span,#p3MissionControl.mc-theme-dark .sr-pe-std{color:#9aa7bd}
#p3MissionControl.mc-theme-dark .sr-pe-std{background:#16203a}
.sr-pe-log{display:flex;flex-direction:column}
@media (max-width:560px){.sr-pe-works{min-width:0;white-space:normal}.sr-pe-addrow{flex-wrap:wrap}.sr-pe-addrow select{flex:1 1 140px}}
#p3MissionControl.mc-theme-dark .sr-pe-list,#p3MissionControl.mc-theme-dark .sr-pe-row,#p3MissionControl.mc-theme-dark .sr-pe-add{border-color:#2a3550}
#p3MissionControl.mc-theme-dark .sr-pe-row.is-hidden{background:#16203a;border-color:#2a3550}
#p3MissionControl.mc-theme-dark .sr-pe-arrow{background:#16203a;border-color:#2a3550;color:#e8edf6}
#p3MissionControl.mc-theme-dark .sr-pe-works,#p3MissionControl.mc-theme-dark .sr-pe-hint,#p3MissionControl.mc-theme-dark .sr-pe-hname{color:#9aa7bd}
