/* O-44 item 3 — the proposal screen. Editing is the point: every chip is one
   click from delete, from another day, from another time. */
.ap-card{border:1px solid #d9dee7;border-radius:12px;background:#fff;padding:12px 14px;margin-bottom:10px;box-shadow:0 6px 18px rgba(45,58,87,.04)}
.ap-line{font-size:13.5px;color:#22303f;font-weight:600}
.ap-prep{margin-top:5px;font-size:11.5px;color:#4c4735;background:#fcfaf3;border-left:3px solid #d8c98a;padding:5px 9px;border-radius:4px}
.ap-prep b{font-size:9.5px;letter-spacing:.7px;color:#8a7a35;margin-right:6px}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.ap-chip{display:inline-flex;align-items:center;gap:2px;border:1px solid #bfd2ee;background:#eaf1fe;border-radius:999px;padding:2px 4px 2px 2px}
.ap-chip-david{border-color:#d9a441;background:#fdf3e0}
.ap-chip button{border:none;background:transparent;font-size:12px;font-weight:700;color:#1d4ed8;cursor:pointer;padding:4px 7px;border-radius:999px}
.ap-chip-david button{color:#8b580b}
.ap-chip button:hover{background:rgba(255,255,255,.75)}
.ap-chip .ap-x{color:#94a3b8;font-size:10px;padding:4px 6px}
.ap-chip .ap-x:hover{color:#c02626}
.ap-david{font-size:8.5px;letter-spacing:.4px;color:#8b580b;background:#fff;border:1px solid #e6c887;border-radius:999px;padding:2px 6px;font-style:normal}
.ap-add{border:1px dashed #bfd2ee;background:#fff;color:#1d4ed8;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;cursor:pointer}
.ap-add:hover{background:#f5f8fc}
.ap-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #f0f3f7}
.ap-meta{font-size:11px;color:#94a3b8}
.ap-approve{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12.5px;font-weight:700;cursor:pointer}
.ap-approve:disabled{background:#cbd5e1;cursor:not-allowed}
.ap-refusal{margin:9px 0 2px;font-size:12px;color:#b45309;background:#fdf3e0;border-left:3px solid #d9a441;padding:6px 10px;border-radius:4px}
.ap-empty,.ap-busy{padding:26px;text-align:center;color:#94a3b8;font-size:12.5px}
.ap-error{border:1px solid #eccaca;background:#fdf5f5;color:#7c2d2d;border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:10px}

.ap-pop{position:fixed;z-index:1400;background:#fff;border:1px solid #d9dee7;border-radius:10px;box-shadow:0 16px 40px rgba(30,42,58,.22);padding:10px;width:260px}
.ap-pop-wide{width:440px}
.ap-pop-head{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.4px;color:#64748b;margin-bottom:8px}
.ap-pop-head span{font-weight:600;letter-spacing:0}
.ap-week{border:1px solid #d9dee7;background:#fff;border-radius:6px;padding:1px 7px;cursor:pointer;font-size:12px}
.ap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:190px;overflow-y:auto}
.ap-day{border:1px solid #eef1f5;border-radius:8px;padding:6px}
.ap-day b{display:block;font-size:10.5px;color:#64748b;margin-bottom:4px}
.ap-day button{display:block;width:100%;text-align:left;border:1px solid #dbe3ee;background:#fff;border-radius:6px;padding:4px 7px;font-size:11.5px;font-weight:700;color:#1d4ed8;margin-bottom:3px;cursor:pointer}
.ap-day button:hover{background:#eaf1fe}
.ap-day button i{float:right;font-style:normal;font-size:9px;color:#b45309}
.ap-none{grid-column:1/-1;padding:14px;text-align:center;color:#94a3b8;font-size:11.5px}
.ap-override{margin-top:9px;border-top:1px dashed #e5eaf0;padding-top:8px}
.ap-override b{display:block;font-size:10.5px;color:#8b580b;margin-bottom:5px}
.ap-override-row{display:flex;gap:5px}
.ap-override-row input{border:1px solid #d9dee7;border-radius:6px;padding:4px 6px;font-size:11.5px}
.ap-override-row button{border:1px solid #d9a441;background:#fdf3e0;color:#8b580b;border-radius:6px;padding:4px 10px;font-size:11.5px;font-weight:700;cursor:pointer}
.ap-override small{display:block;margin-top:4px;color:#94a3b8;font-size:10px}
.ap-time-row{display:flex;align-items:center;gap:6px}
.ap-time-row input{flex:1;border:1px solid #d9dee7;border-radius:6px;padding:6px 8px;font-size:13px;font-weight:700;text-align:center}
.ap-time-row button{border:1px solid #d9dee7;background:#fff;border-radius:6px;width:30px;height:30px;font-size:15px;font-weight:800;cursor:pointer}
.ap-pop-foot{display:flex;justify-content:flex-end;gap:6px;margin-top:9px}
.ap-pop-cancel{border:1px solid #d9dee7;background:#fff;border-radius:7px;padding:5px 11px;font-size:11.5px;cursor:pointer}
.ap-pop-ok{border:none;background:#2563eb;color:#fff;border-radius:7px;padding:5px 13px;font-size:11.5px;font-weight:700;cursor:pointer}

/* O-44 SPINE — the dashboard section and the tall scheduling modal. */
.fu-section{border:1px solid #d9dee7;border-radius:12px;background:#fff;margin-bottom:12px;overflow:hidden}
.fu-head{display:flex;align-items:center;gap:10px;padding:9px 13px;background:#dbe3ee;color:#33465c}
.fu-head h3{margin:0;font-size:13px;font-weight:800;letter-spacing:.6px}
.fu-count{background:#2563eb;color:#fff;border-radius:999px;min-width:20px;text-align:center;font-size:11px;font-weight:800;padding:1px 7px}
.fu-pilot{margin-left:auto;font-size:10px;font-weight:700;color:#8b580b;background:#fdf3e0;border:1px solid #e6c887;border-radius:999px;padding:2px 9px}
.fu-refresh{border:1px solid #bfd2ee;background:#fff;border-radius:7px;padding:4px 9px;font-size:11px;font-weight:700;color:#33465c;cursor:pointer}
.fu-row{display:grid;grid-template-columns:1.1fr 1.4fr 130px 90px;align-items:center;gap:10px;width:100%;text-align:left;border:none;border-top:1px solid #eef1f5;background:#fff;padding:10px 13px;cursor:pointer;font-size:12.5px}
.fu-row:hover{background:#f5f8fc}
.fu-row strong{font-size:13px;color:#22303f}
.fu-need{color:#b45309;font-weight:600}
.fu-when{color:#94a3b8;font-size:11px}
.fu-go{text-align:right;color:#1d4ed8;font-weight:800;font-size:11.5px}
.fu-empty{padding:18px 14px;color:#94a3b8;font-size:12px}

/* The modal covers the left nav from Dashboard down. The calendar to its right
   stays visible and scrollable — that is the point of the shape. */
/* No scrim: the calendar must stay scrollable while the panel floats over the
   nav. Click-out is handled by a document listener instead. */
.fu-scrim{display:none}
/* THIN and TALL, and it NEVER COVERS THE LEFT NAV.
   It used to sit ON the nav — left/width were the sidebar's own — which made
   Providers, Active PVTs and everything below Dashboard unclickable while the
   panel was open. The nav is how you get OUT of a screen; a panel that covers
   it traps the user in whatever they are looking at. It now starts at the
   sidebar's RIGHT edge, keeping the thin-and-tall shape and the calendar
   working surface, with the nav fully reachable the whole time. */
.fu-modal{position:fixed;left:var(--fu-left,0);top:var(--fu-top,96px);bottom:0;width:var(--fu-width,300px);z-index:1360;background:#fff;border-right:1px solid #d9dee7;border-top:1px solid #d9dee7;border-top-right-radius:12px;box-shadow:14px 0 44px rgba(30,42,58,.18);display:flex;flex-direction:column}
.fu-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:11px 13px;border-bottom:1px solid #e5eaf0}
.fu-modal-head h3{margin:0;font-size:14px}
.fu-modal-head p{margin:3px 0 0;font-size:12px;color:#64748b}
.fu-x{border:none;background:none;color:#94a3b8;font-size:14px;cursor:pointer}
.fu-modal-body{flex:1 1 auto;overflow-y:auto;padding:12px 13px}
.fu-modal-foot{flex:0 0 auto;padding:10px 13px;border-top:1px solid #e5eaf0;display:flex;justify-content:flex-end}
.fu-block{margin-bottom:14px}
.fu-block>b{display:block;font-size:10px;letter-spacing:.8px;color:#64748b;margin-bottom:5px}
.fu-block dl{display:grid;grid-template-columns:96px 1fr;gap:3px 10px;margin:0;font-size:12.5px}
.fu-block dt{color:#94a3b8;font-size:11px}
.fu-block dd{margin:0;color:#22303f}
.fu-stub{border-left:3px solid #d9a441;background:#fdf3e0;padding:8px 12px;border-radius:6px}
.fu-stub p{margin:0;font-size:11.5px;color:#8b580b}

/* The draw panel. */
.fu-draw{border:1px solid #bfd2ee;background:#eaf1fe;border-radius:8px;padding:8px 10px}
.fu-draw-david{border-color:#d9a441;background:#fdf3e0}
.fu-draw-when{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fu-draw-when strong{font-size:13px}
.fu-draw-time{font-weight:800;color:#1d4ed8}
.fu-draw-david .fu-draw-time{color:#8b580b}
.fu-draw-nudge{display:flex;align-items:center;gap:5px;margin-top:7px}
.fu-draw-nudge button{border:1px solid #bfd2ee;background:#fff;border-radius:6px;width:26px;height:26px;font-size:14px;font-weight:800;cursor:pointer}
.fu-draw-nudge input{border:1px solid #d9dee7;border-radius:6px;padding:4px 7px;font-size:12px;font-weight:700;text-align:center}
.fu-draw-note{display:block;margin-top:6px;color:#94a3b8;font-size:10.5px}
.fu-quiet{opacity:.75}
.fu-quiet p{margin:0;font-size:11.5px;color:#64748b}

/* The send previews — what the patient will actually see, editable. */
.fu-modal-preview{width:var(--fu-width,300px)}
.pv-channels{display:flex;gap:14px;font-size:12.5px}
.pv-channels label{display:flex;align-items:center;gap:5px;cursor:pointer}
.pv-note{display:block;margin-top:5px;color:#94a3b8;font-size:10.5px}
.pv-dates{display:flex;flex-wrap:wrap;gap:6px}
.pv-date{border:1px solid #bfd2ee;background:#eaf1fe;color:#1d4ed8;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}
.pv-draw{margin:0 0 12px;border-left:3px solid #d9a441;background:#fdf3e0;border-radius:6px;padding:7px 10px;font-size:11.5px;color:#7a5a12}
.fu-modal-body textarea,.fu-modal-body input[type=text],.fu-modal-body #pvSubject{width:100%;border:1px solid #d9dee7;border-radius:7px;padding:7px 9px;font-size:12px;font-family:inherit;line-height:1.4}
.fu-modal-body #pvSubject{margin-bottom:6px;font-weight:700}
.pv-foot{gap:8px}
.pv-foot .mr-quiet{margin-left:0}
.fu-modal-foot{gap:8px;flex-wrap:wrap}
.fu-modal-foot .mr-quiet{font-size:11px;padding:6px 9px}

/* Item 6 — small cards side by side, filling left to right as patients queue.
   Roughly 1 x 2 inches at a normal desktop density. */
.fu-cards{display:flex;flex-wrap:wrap;gap:10px;padding:11px 13px}
.fu-card{position:relative;width:190px;min-height:96px;display:flex;flex-direction:column;gap:3px;
  border:1px solid #d9dee7;border-left:4px solid #2563eb;border-radius:10px;background:#fff;
  padding:9px 11px;cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s}
.fu-card:hover{border-color:#9fb6d8;box-shadow:0 6px 16px rgba(45,58,87,.10)}
.fu-card strong{font-size:12.5px;color:#22303f;line-height:1.25}
.fu-card .fu-need{color:#b45309;font-weight:600;font-size:11px;line-height:1.3}
.fu-card .fu-when{color:#94a3b8;font-size:10px}
.fu-card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  color:#1d4ed8;font-weight:800;font-size:11px}
.fu-card-reset{border:1px solid #e6c887;background:#fdf3e0;color:#8b580b;border-radius:6px;
  padding:2px 7px;font-size:9.5px;font-weight:800;cursor:pointer}
.fu-card-reset:hover{background:#fbe9c9}

/* Item 5 — the channel choice, impossible to miss. */
.pv-channel-block{border:1px solid #bfd2ee;background:#f5f9ff;border-radius:9px;padding:9px 10px}
.pv-seg{display:flex;gap:0;border:1px solid #bfd2ee;border-radius:9px;overflow:hidden;margin-top:5px}
.pv-seg-btn{flex:1;border:none;background:#fff;color:#33465c;font-size:12.5px;font-weight:700;
  padding:9px 6px;cursor:pointer;border-right:1px solid #dbe3ee}
.pv-seg-btn:last-child{border-right:none}
.pv-seg-btn.on{background:#2563eb;color:#fff}
.pv-seg-final{margin-top:5px;font-size:15px;font-weight:800;color:#1d4ed8;letter-spacing:.5px}

/* ── RULING 2 — THE BACKUP PAIR (David, 2026-08-11) ──────────────────
   Approved beside round one, released automatically the moment the patient
   says the first dates won't work. It sits UNDER round one and reads quieter,
   because it is the second thing he decides, not the first. */
.ap-backup{margin-top:10px;padding-top:9px;border-top:1px dashed #d9e0ea}
.ap-backup-head{font-size:12px;font-weight:700;letter-spacing:.02em;color:#64748b;text-transform:uppercase}
.ap-backup-head small{display:block;font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;color:#8a95a5;margin-top:2px}
.ap-backup .ap-chips{margin:7px 0 0}
.ap-chip-backup{background:#f6f8fb}
.ap-backup-none{margin-top:6px;font-size:12px;color:#8a95a5}

/* ── THE ESCAPE HATCH OUTCOMES, ON THE PATIENT'S CARD ────────────────
   Two statuses, deliberately different colours: one is OUR obligation, the
   other is theirs. */
.fu-status{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.02em}
.fu-status-call{background:#fdecec;color:#a3242b;border:1px solid #f3c9cb}
.fu-status-theirs{background:#eef4fd;color:#22488f;border:1px solid #cfdcf4}

/* Dev-leak sweep 2026-08-15 (David: HIDE the pilot controls, keep the code): the hidden attribute must win over any display rule above. */
.fu-pilot[hidden],.fu-wipe[hidden]{display:none!important}
