/* Robson Readiness application: additions to styles.css (which is the mockups' stylesheet, unchanged).
   Every rule here replaces an inline style="" from a mockup page or styles a real form control
   the static mockups faked. The Content-Security-Policy forbids inline styles. */

/* titlebar spacing and the right-aligned action button (users.html, facilities.html) */
.titlebar.tight{margin-bottom:6px}
.titlebar .push{margin-left:auto}

/* error box spacing on the sign-in form and on pages */
.errbox.spaced{margin-bottom:16px}

/* fixed (non-editable) value inside a form, e.g. the facility in "Add user" */
.f .fixed{font-weight:600}
.f > .label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}

/* stacked fields inside a form section */
.sec-b .f + .f{margin-top:16px}

/* POST actions that look like the mockups' links (sign out, deactivate, reset password) */
form.inline{display:inline}
.linkbtn{background:none;border:none;padding:0;font:inherit;color:var(--brand);text-decoration:underline;cursor:pointer}
.linkbtn:focus-visible{outline:3px solid #e8b8c6;outline-offset:2px}
.actions-cell form.inline + form.inline::before{content:" · ";color:var(--ink-3)}

/* a temporary password shown once */
.secret{display:inline-block;font-family:Consolas,"SFMono-Regular",Menlo,monospace;font-size:22px;font-weight:700;letter-spacing:.08em;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:6px 12px;margin:8px 0 10px}

/* segmented control built from radio inputs: real, keyboard-accessible form controls */
.seg label{flex:1;display:flex;margin:0;font-weight:400;border-right:1px solid #ddd8db;cursor:pointer;position:relative}
.seg label:last-child{border-right:none}
.seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.seg label span{flex:1;display:grid;place-items:center;padding:0 12px;font-size:14px;color:var(--ink-2);background:#fff}
.seg input:checked + span{background:var(--brand);color:#fff;font-weight:600}
.seg input:focus-visible + span{outline:3px solid #e8b8c6;outline-offset:-3px}

/* ---- clinical flow ---- */
[hidden]{display:none !important}
.strip-cap .c12{grid-column:1 / 3}
.strip-cap .c35{grid-column:3 / 6}
.strip-cap .c67{grid-column:6 / 8}
.icon-array svg.on{fill:var(--fig)}
.icon-array svg.off{fill:var(--fig-off)}
.legend i.on{background:var(--fig)}
.legend i.off{background:var(--fig-off)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.sec-b .row .f + .f{margin-top:0}
.titlebar .btn-push{margin-left:auto}
.sec-n-plain{display:none}
.errbox.top{margin-bottom:18px}
.scr .name small{display:block;font-weight:400;color:var(--ink-3)}
.req{color:var(--error)}
.optional{font-weight:400;color:var(--ink-3);font-size:14px}
.fig-defs{position:absolute;width:0;height:0}
.card.spaced{margin-top:24px}
.seg-gap{margin-bottom:18px}
.actions.tight{margin-top:6px}
.unavailable .resolve{margin-top:14px}

/* ---- model governance ---- */
.mbar{flex:1;height:14px;min-width:80px;display:block}
.mbar .track{fill:var(--track)}
.mbar .fill{fill:var(--brand)}
.mbar.alt .fill{fill:var(--fig)}
.cell.gap{margin-top:4px}
.small{font-size:12.5px}
.actions{margin-bottom:24px}
.dialog .errbox{margin-bottom:12px}
.dialog textarea{width:100%}
.calcard{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.calplot{width:340px;max-width:100%;height:auto}
.calkey{display:flex;flex-direction:column;gap:8px;font-size:13px}
.calkey .lg{margin-left:0}
.cal-bg{fill:#fff;stroke:var(--line)}
.cal-grid{stroke:var(--line);stroke-width:.5}
.cal-ideal{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:4 3}
.cal-tick,.cal-axis{font-size:9px;fill:var(--ink-3)}
.cal-cand{fill:var(--brand)}
.cal-cand-line{fill:none;stroke:var(--brand);stroke-width:1.5}
.cal-active{fill:var(--fig)}
.cal-active-line{fill:none;stroke:var(--fig);stroke-width:1.5}
.verify{margin-bottom:20px}
.verify-b{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.verify-ok{color:var(--ok);font-weight:600;margin-top:4px}
.verify-bad{color:var(--error);font-weight:700;margin-top:4px}
.card + .tablecard,.tablecard + .card{margin-top:20px}

/* ---------- read-only patient page, saved note, patient search ---------- */
.readonly-tag{margin-left:auto;font-size:12.5px;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-bottom:6px}
.notice.saved-note{border-left-color:var(--ok);background:var(--ok-bg)}
.search{margin-bottom:20px}
.search label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.search-row{display:flex;gap:10px;max-width:620px}
.search-row input{flex:1;height:42px;font:inherit;font-size:16px;padding:0 12px;color:var(--ink);background:#fff;border:1.5px solid var(--field);border-radius:4px;-webkit-appearance:none;appearance:none}
.search-row input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #f1d6de}
.search-row input::-webkit-search-cancel-button{cursor:pointer}

/* ---------- searchable dropdown (select[data-searchable], app.js) ---------- */
.combo{position:relative;min-width:220px}
.combo input{width:100%;height:40px;padding:0 34px 0 12px;font:inherit;font-size:14px;border:1px solid var(--field);border-radius:var(--radius);background:var(--white) url("/static/search.svg") no-repeat right 10px center}
.combo input:focus{outline:2px solid var(--brand);outline-offset:1px}
.combo-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.combo-list li{padding:8px 12px;font-size:14px;cursor:pointer}
.combo-list li[aria-selected="true"]{background:var(--brand-tint);color:var(--brand)}
.combo-list li.combo-none{color:var(--ink-3);cursor:default}

/* ---- FHIR pull mode (robby/fhir) ---- */
.fetch-btn{margin-top:8px}
.fetch-note{margin:14px 0 0}
.fetch-note p{margin:8px 0 4px}
.fetch-note ul{margin:0;padding-left:20px}

/* ---- lab requests (robby/lab) ---- */
nav a .nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;font-weight:700}
nav a .nav-badge:empty{display:none}
.st.urgent{background:var(--error-bg);color:var(--error)}
.st.cancelled{background:#fff;color:var(--ink-3);border:1px solid var(--line)}
fieldset.lab-tests{border:none;margin:0 0 18px;padding:0}
.lab-test{display:flex;align-items:center;gap:8px;font-weight:400;margin:6px 0;cursor:pointer}
.lab-test input{width:16px;height:16px;accent-color:var(--brand)}
.lab-lines{list-style:none;margin:0;padding:0}
.lab-lines li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line)}
.lab-lines li:last-child{border-bottom:none}
.lab-lines .what{font-weight:600}
.lab-lines .push{margin-left:auto}
.n-v.later{color:var(--ok);margin-top:4px}

/* ---- admission requests (robby/lab/admission_requests) ---- */
.st.new-patient{background:var(--size-flag-bg);color:var(--size-flag)}
.tc-h .push{margin-left:auto}
.tablecard.ask-card{margin-bottom:20px}
.tc-empty{margin:0;padding:14px 20px}
