*{box-sizing:border-box}:root{--ink:#173247;--body:#334d5d;--muted:#687d8a;--line:#dce5ea;--bg:#f4f7f9;--blue:#056aa6;--blue2:#075884;--soft:#edf6fb;--green:#4d873b;--amber:#a96a0b;--red:#a83b36}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--body);font:15px/1.5 "Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:100;min-height:72px;padding:9px max(22px,4vw);display:grid;grid-template-columns:auto minmax(260px,390px) 1fr;align-items:center;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:15.5px}.brand small{font-size:10.5px;color:var(--muted)}.mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--blue);color:#fff;font-size:13px;font-weight:800;letter-spacing:.03em}.mark.large{width:62px;height:62px;border-radius:16px;font-size:18px;margin:auto}.quick-search{position:relative}.quick-search>span{position:absolute;left:12px;top:8px;font-size:20px;color:#718592}.quick-search input{width:100%;height:42px;padding:8px 12px 8px 38px;border:1px solid #d5e0e6;border-radius:10px;background:#f8fafb}.search-results{position:absolute;top:48px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #18324722;overflow:hidden;z-index:300}.search-results a{display:flex;flex-direction:column;padding:10px 12px;border-bottom:1px solid #edf1f3;color:var(--ink)}.search-results a span{font-size:11.5px;color:var(--muted)}.no-result{padding:14px;color:var(--muted)}nav{display:flex;justify-content:flex-end;align-items:center;gap:5px}nav>a,nav form button{min-height:42px;padding:0 10px;display:flex;align-items:center;border:0;background:transparent;color:#405866;font-weight:650;cursor:pointer;border-radius:8px}nav a:hover,nav a.active,nav form button:hover{background:var(--soft);color:var(--blue2)}.menu-button{display:none}.topbar form{margin:0}main{max-width:1480px;margin:auto;padding:28px max(18px,4vw) 56px}.hero,.patient-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:18px}.eyebrow{display:block;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hero h1,.patient-head h1,.pagehead h1{margin:4px 0 3px;color:var(--ink);font-size:28px;line-height:1.15}.hero p,.patient-head p,.pagehead p{margin:0;color:var(--muted)}.hero-actions,.actions{display:flex;gap:9px;align-items:center}.primary,.secondary{min-height:44px;padding:10px 14px;border-radius:9px;border:1px solid var(--blue);font-weight:750;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#fff;color:var(--ink);border-color:#cbd8df}.compact{min-height:36px;padding:7px 10px;font-size:12.5px}.clinic-switch{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.clinic-switch a{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--body);font-weight:700}.clinic-switch a.active{background:var(--soft);border-color:#b6d3e4;color:var(--blue2)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;border-top:3px solid #d4e3eb}.stat.urgent{border-top-color:var(--red)}.stat span,.stat small{display:block;color:var(--muted)}.stat strong{display:block;color:var(--ink);font-size:31px;margin:5px 0}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:16px}.panelhead,.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.panelhead h2{margin:3px 0 2px;color:var(--ink);font-size:20px}.panelhead p{margin:0;color:var(--muted)}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}th{text-align:left;padding:9px 10px;color:#526a78;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #edf1f3;vertical-align:middle}td small,.row small{display:block;color:var(--muted);margin-top:2px}.empty{text-align:center;color:var(--muted);padding:28px}.status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f4;font-size:11.5px;font-weight:750}.status.awaiting_mo{background:#fff1e2;color:#8c5a15}.status.completed,.status.downreferred,.status.active{background:#edf7ef;color:#3d7549}.status.cancelled{background:#fbeeed;color:#953d38}.flash{margin:0 0 15px;padding:11px 13px;border-radius:9px;background:#eaf5ed;color:#366d42;border:1px solid #d7eadb}.flash.warning{background:#fff5e6;color:#84580e;border-color:#eedbb9}.flash.error{background:#fbeeed;color:#8f3733}.pagehead{align-items:center}.searchbar,.filterbar{display:flex;gap:9px;margin-bottom:14px}.searchbar input,.filterbar input,.filterbar select,input,select,textarea{min-height:44px;padding:9px 11px;border:1px solid #cbd8df;border-radius:9px;background:#fff;color:var(--ink)}.searchbar input{flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:5px}.field.wide,.actions.wide{grid-column:1/-1}.field label,.form label{font-weight:700;color:#405866}.field input,.field select,.field textarea,.form input,.form select,.form textarea{width:100%}.field small,.form small{color:var(--muted)}.error,.errorlist{color:var(--red);font-size:12.5px}.form{max-width:760px;margin-left:auto;margin-right:auto}.form p{margin:0 0 14px}.booking-note{padding:12px 13px;border-radius:9px;background:var(--soft);color:#456273;margin:10px 0 16px}.patient-actions{display:flex;flex-wrap:wrap;gap:8px;margin:-7px 0 18px}.patient-actions a{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:8px;font-weight:700}.two-col{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:16px;align-items:start}.row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f3}.row:last-child{border-bottom:0}.link{border:0;background:none;color:var(--blue);cursor:pointer}.link.danger{color:var(--red)}dl{display:grid;grid-template-columns:90px 1fr;gap:8px 12px;margin:14px 0 0}dt{font-weight:700;color:var(--muted)}dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.auth{width:min(470px,92vw);margin:7vh auto}.auth-brand{text-align:center;margin-bottom:18px}.auth-brand h1{color:var(--ink);margin:12px 0 3px}.auth-brand p{margin:0;color:var(--muted)}
@media(max-width:1150px){.topbar{grid-template-columns:1fr auto;gap:9px 14px}.quick-search{grid-column:1/-1;grid-row:2}.menu-button{display:block;grid-column:2;grid-row:1;min-height:42px;padding:8px 12px;border:1px solid var(--line);background:#fff;border-radius:8px;font-weight:700}.topbar nav{display:none;grid-column:1/-1;grid-row:3;padding-top:8px;border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr)}.topbar nav.open{display:grid}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){main{padding:18px 14px 42px}.brand strong{font-size:14px}.brand small{display:none}.hero,.patient-head,.pagehead{flex-direction:column;align-items:stretch;padding:18px}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.stats{gap:9px}.stat{padding:14px}.stat strong{font-size:26px}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.wide,.actions.wide{grid-column:1}.searchbar,.filterbar{display:grid;grid-template-columns:1fr}.tablewrap{overflow:visible}table.responsive{min-width:0;display:block}table.responsive thead{display:none}table.responsive tbody,table.responsive tr{display:block}table.responsive tr{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}table.responsive td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #edf1f3}table.responsive td:last-child{border:0}table.responsive td:before{content:attr(data-label);font-weight:750;color:var(--muted);font-size:11px;text-transform:uppercase}.topbar nav{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.mark{width:38px;height:38px}.hero h1,.patient-head h1,.pagehead h1{font-size:23px}.stats{grid-template-columns:1fr}.hero-actions{grid-template-columns:1fr}.topbar nav{grid-template-columns:1fr}table.responsive td{grid-template-columns:92px minmax(0,1fr)}}


/* ======================================================================
   Isilimela | Eastern Cape Department of Health institutional branding
   September 2026
   ====================================================================== */
.hospital-brand{gap:12px;min-width:220px}.brand-crest{display:block;width:54px;height:48px;object-fit:contain;flex:0 0 auto}.brand-copy strong{font-size:16px;font-weight:760;letter-spacing:-.15px;color:#1f2f3b}.brand-copy small{font-size:10.5px;color:#6b7880;letter-spacing:.01em}.topbar{min-height:76px;padding-top:7px;padding-bottom:7px}.topbar nav>a.active{box-shadow:inset 0 -3px 0 var(--blue);border-radius:7px 7px 0 0;background:transparent}.institution-banner{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 24px;margin:0 0 18px;min-height:146px;overflow:hidden}.institution-banner img{display:block;width:min(100%,1120px);height:auto;max-height:184px;object-fit:contain}.hospital-hero{border-top:3px solid #0b5e88}.hospital-hero .eyebrow{color:#52646d;letter-spacing:.055em}.institutional-auth{width:min(930px,94vw);margin:4vh auto 7vh}.login-official-banner{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin-bottom:18px;box-shadow:0 4px 20px #1732470a}.login-official-banner img{display:block;width:100%;height:auto;object-fit:contain}.hospital-auth-brand{display:flex;text-align:left;justify-content:center;align-items:center;gap:18px;margin:0 auto 18px;max-width:580px}.auth-crest{width:84px;height:68px;object-fit:contain;flex:0 0 auto}.hospital-auth-brand h1{margin:3px 0 3px;font-size:26px;line-height:1.16}.hospital-auth-brand p{font-size:14px}.auth-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#0a668f}.auth-form{max-width:480px;margin:0 auto;padding:26px 28px}.auth-form .primary{width:100%;margin-top:3px}.setup-link{display:block;text-align:center;margin-top:13px;font-size:12.5px}.setup-auth .auth-form{max-width:560px}

@media(max-width:1150px){.brand-crest{width:50px;height:44px}.hospital-brand{min-width:0}.institution-banner{padding:14px 18px;min-height:120px}.institution-banner img{max-height:150px}}
@media(max-width:760px){.topbar{min-height:68px}.brand-crest{width:45px;height:40px}.brand-copy strong{font-size:14.5px}.brand-copy small{display:block;font-size:9.5px}.institution-banner{display:none}.institutional-auth{width:min(96vw,560px);margin:3vh auto 5vh}.login-official-banner{padding:12px;margin-bottom:16px;border-radius:12px}.login-official-banner img{max-height:150px}.hospital-auth-brand{gap:12px;padding:0 8px}.auth-crest{width:66px;height:58px}.hospital-auth-brand h1{font-size:22px}.auth-form{padding:21px 18px}.hospital-hero .eyebrow{font-size:10px}}
@media(max-width:480px){.login-official-banner{display:none}.hospital-auth-brand{flex-direction:column;text-align:center}.auth-crest{width:88px;height:70px}.brand-copy small{display:none}.brand-crest{width:42px;height:38px}.hospital-brand{gap:8px}.hospital-auth-brand h1{font-size:21px}}

/* South African ID live validation */
.sa-id-field{position:relative}.sa-id-status{margin-top:7px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;color:var(--muted);font-size:12.5px;line-height:1.4;transition:.18s ease}.sa-id-status.is-info,.sa-id-status.is-checking{background:#edf6fb;border-color:#c7deeb;color:#315d75}.sa-id-status.is-valid{background:#edf7ef;border-color:#c8e4ce;color:#326b41}.sa-id-status.is-valid:before{content:'✓ ';font-weight:900}.sa-id-status.is-error{background:#fbeeed;border-color:#efc9c5;color:#8f3733}.sa-id-status.is-error:before{content:'! ';font-weight:900}.sa-id-status a{color:inherit;text-decoration:underline;text-underline-offset:2px}.derived-note{display:block;color:var(--muted);line-height:1.35}.required-mark{color:var(--red)}#id_sex:disabled{opacity:1;background:#f5f8fa;color:var(--ink);cursor:not-allowed}#patientSubmit:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}


/* ======================================================================
   Responsive hardening: phone + tablet
   September 2026
   ====================================================================== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body{min-width:0;overflow-x:hidden}img,svg,video{max-width:100%;height:auto}main,.topbar,.panel,.hero,.patient-head,.pagehead,.form-grid,.two-col,.stats,.row,.field{min-width:0}.field input,.field select,.field textarea,.quick-search input,.searchbar input,.filterbar input,.filterbar select{min-width:0;max-width:100%}.primary,.secondary,button,a{touch-action:manipulation}.tablewrap{max-width:100%}.search-results{max-height:min(62vh,520px);overflow-y:auto;overscroll-behavior:contain}

@media (pointer:coarse){button,.primary,.secondary,nav>a,nav form button,.patient-actions a,.clinic-switch a,input,select,textarea{min-height:46px}.compact{min-height:44px;padding:9px 12px}.link{min-height:44px;padding:8px 4px}.menu-button{min-height:46px}.quick-search input{min-height:46px}}

/* Tablets and smaller laptops: use touch-friendly compact navigation. */
@media(max-width:1180px){
  .topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:8px max(16px,3vw);align-items:center}
  .hospital-brand{min-width:0;max-width:calc(100vw - 120px)}
  .brand-copy{min-width:0}.brand-copy strong,.brand-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .quick-search{grid-column:1/-1;grid-row:2;min-width:0}
  .quick-search input{font-size:16px}
  .search-results{top:52px;left:0;right:0}
  .menu-button{display:inline-flex;align-items:center;justify-content:center;grid-column:2;grid-row:1;min-width:78px}
  .topbar nav{display:none;grid-column:1/-1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0 2px;border-top:1px solid var(--line);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
  .topbar nav.open{display:grid}
  .topbar nav>a,.topbar nav form,.topbar nav form button{width:100%}
  .topbar nav>a,.topbar nav form button{justify-content:center;border:1px solid var(--line);background:#fff;padding:9px 10px}
  .topbar nav>a.active{background:var(--soft);box-shadow:none;border-color:#b6d3e4;border-radius:8px}
}

/* Portrait tablets and all smaller devices: avoid horizontal table/form pressure. */
@media(max-width:900px){
  main{padding:20px max(14px,3vw) calc(48px + env(safe-area-inset-bottom));width:100%}
  .institution-banner{display:none}
  .hero,.patient-head,.pagehead{padding:18px 20px;gap:16px}
  .hero h1,.patient-head h1,.pagehead h1{font-size:26px}
  .hero-actions,.actions{flex-wrap:wrap}
  .two-col{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr;gap:14px}
  .field.wide,.actions.wide{grid-column:1}
  .panel{padding:18px}
  .panelhead{gap:14px;flex-wrap:wrap}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{padding:15px}.stat strong{font-size:28px}
  .searchbar,.filterbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .filterbar{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
  .tablewrap{overflow:visible}
  table.responsive{min-width:0;display:block;width:100%}
  table.responsive thead{display:none}
  table.responsive tbody,table.responsive tr{display:block;width:100%}
  table.responsive tr{border:1px solid var(--line);border-radius:12px;padding:10px 13px;margin:0 0 11px;background:#fff;box-shadow:0 1px 0 rgba(23,50,71,.02)}
  table.responsive td{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:start;gap:10px;padding:8px 0;border-bottom:1px solid #edf1f3;overflow-wrap:anywhere}
  table.responsive td:last-child{border-bottom:0}
  table.responsive td:before{content:attr(data-label);font-weight:750;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.025em}
  table.responsive td .primary,table.responsive td .secondary,table.responsive td form,table.responsive td form button{max-width:100%}
  .patient-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .patient-actions a{text-align:center;display:flex;align-items:center;justify-content:center}
  dl{grid-template-columns:110px minmax(0,1fr)}
  .institutional-auth{margin:2.5vh auto 5vh}
}

@media(max-width:640px){
  .topbar{padding:7px 12px;gap:8px 10px}
  .brand-crest{width:42px;height:38px}.brand-copy strong{font-size:14px}.brand-copy small{display:none}
  .menu-button{min-width:68px;padding:8px 10px}
  .topbar nav{grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100dvh - 142px)}
  main{padding:16px 12px calc(44px + env(safe-area-inset-bottom))}
  .hero,.patient-head,.pagehead{flex-direction:column;align-items:stretch;padding:16px;border-radius:13px}
  .hero h1,.patient-head h1,.pagehead h1{font-size:23px}
  .hero-actions,.actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .hero-actions>* ,.actions>*{width:100%}
  .panel{padding:15px;border-radius:11px}
  .panelhead{flex-direction:column;align-items:stretch}.panelhead>.secondary,.panelhead>.primary{width:100%}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:13px}.stat strong{font-size:25px}
  .clinic-switch{display:grid;grid-template-columns:1fr 1fr}.clinic-switch a{text-align:center}
  .searchbar,.filterbar{grid-template-columns:1fr}.searchbar button,.filterbar button{width:100%}
  .patient-actions{grid-template-columns:1fr}
  table.responsive td{grid-template-columns:100px minmax(0,1fr);gap:9px}
  dl{grid-template-columns:92px minmax(0,1fr);gap:7px 10px}
  .auth,.institutional-auth{width:calc(100vw - 24px);margin:18px auto 36px}.auth-form{padding:18px 15px}
  input,select,textarea{font-size:16px}
  .sa-id-status{font-size:13px}
}

@media(max-width:430px){
  .hospital-brand{max-width:calc(100vw - 98px)}
  .brand-crest{width:38px;height:35px}.brand-copy strong{font-size:13.5px}
  .topbar nav{grid-template-columns:1fr}
  .quick-search>span{top:10px}
  .stats{grid-template-columns:1fr}
  .clinic-switch{grid-template-columns:1fr}
  .hero-actions,.actions{grid-template-columns:1fr}
  table.responsive td{grid-template-columns:86px minmax(0,1fr);font-size:14px}
  .status{white-space:normal;text-align:center}
  .primary,.secondary{white-space:normal;text-align:center}
}

/* Landscape phones: keep the header usable without consuming the whole viewport. */
@media(max-height:520px) and (orientation:landscape) and (max-width:950px){
  .topbar{position:relative}.topbar nav{max-height:55vh}.institution-banner,.login-official-banner{display:none}
  main{padding-top:12px}.hero,.patient-head,.pagehead{padding:13px 16px;margin-bottom:12px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* OR Tambo district pilot network */
.network-pagehead{border-bottom:1px solid var(--line);padding-bottom:18px}.network-flow{max-width:980px;margin:0 auto;text-align:center}.network-node{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:0 1px 0 rgba(23,50,71,.03)}.network-node strong{display:block;color:var(--ink);font-size:19px;line-height:1.25;margin:4px 0}.network-node small{display:block;color:var(--muted)}.network-node-district{background:#f7fafc;border-color:#cfdde5}.network-node-hospital{background:#eef7fb;border-color:#bad8e8}.network-node-ems{background:#f5f8f1;border-color:#d1e1c9}.node-level,.facility-type{display:inline-block;color:var(--blue2);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.network-arrow{font-size:25px;line-height:1;padding:8px;color:#7d909b}.network-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.network-branch{min-width:0}.facility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.facility-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:#fbfcfd;min-width:0}.facility-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.facility-card h3{font-size:16px;color:var(--ink);margin:10px 0 3px}.facility-card p{margin:0 0 7px;color:var(--muted)}.facility-card>small{color:#84949d;overflow-wrap:anywhere}.network-columns{grid-template-columns:1fr 1fr}.route-row{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfd}.route-row>div{min-width:0}.route-row strong,.route-row small{display:block}.route-row strong{color:var(--ink)}.route-row small{color:var(--muted)}.route-arrow{font-size:24px;color:var(--blue)}.route-note{color:var(--muted);font-size:13px;margin:10px 2px 0}.ems-summary{display:flex;align-items:baseline;gap:10px;padding:12px 0}.ems-summary strong{font-size:34px;color:var(--ink)}.ems-summary span{color:var(--muted)}.mpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mpi-grid>div{border:1px solid var(--line);border-radius:11px;padding:14px;background:#fbfcfd;min-width:0}.mpi-grid span,.mpi-grid strong,.mpi-grid small{display:block}.mpi-grid span{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:750;letter-spacing:.035em}.mpi-grid strong{color:var(--ink);font-size:16px;margin:5px 0;overflow-wrap:anywhere}.mpi-grid small{color:var(--muted)}
@media(max-width:900px){.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.network-columns{grid-template-columns:1fr}}
@media(max-width:640px){.network-split{grid-template-columns:1fr}.facility-grid,.mpi-grid{grid-template-columns:1fr}.route-row{grid-template-columns:1fr;text-align:center}.route-arrow{transform:rotate(90deg)}.network-pagehead .secondary{width:100%}}

/* Facility ecosystem | OR Tambo pilot */
.facility-switch{margin:0;min-width:180px}.facility-switch select{width:100%;min-height:42px;padding:7px 30px 7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-weight:700}.facility-hero{border-top:3px solid var(--blue)}.inline-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline-actions form,.workflow-actions form{margin:0}.workflow-actions{align-items:stretch}.workflow-actions form button{height:100%}.route-case{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:13px 0;border-bottom:1px solid #edf1f3}.route-case:last-child{border-bottom:0}.route-case small{display:block;color:var(--muted);margin-top:2px}.route-case p{margin:6px 0 0;color:var(--body)}
@media(min-width:1181px){.topbar{grid-template-columns:auto minmax(170px,250px) minmax(240px,360px) 1fr}.facility-switch{grid-column:2}.quick-search{grid-column:3}}
@media(max-width:1180px){.facility-switch{grid-column:1/-1;grid-row:2}.quick-search{grid-row:3}.topbar nav{grid-row:4}.facility-switch select{font-size:16px}}
@media(max-width:640px){.route-case{flex-direction:column}.inline-actions{width:100%}.inline-actions form{flex:1}.inline-actions button{width:100%}}


/* ======================================================================
   Entry experience | Login + staff registration
   September 2026
   ====================================================================== */
.login-entry-shell{width:min(1180px,96vw);margin:clamp(18px,4vh,52px) auto 64px}.login-entry-card{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);min-height:650px;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(23,50,71,.12)}.login-entry-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:38px;padding:46px 48px;background:linear-gradient(145deg,#eef7fb 0%,#f7fbfd 55%,#edf5f8 100%);border-right:1px solid #dce8ee}.login-entry-visual:after{content:'';position:absolute;right:-95px;bottom:-120px;width:360px;height:360px;border-radius:50%;border:64px solid rgba(5,106,166,.055);pointer-events:none}.login-brandline{position:relative;z-index:1;display:flex;align-items:center;gap:15px}.login-entry-crest{width:72px;height:62px;object-fit:contain}.login-brandline strong{display:block;color:var(--ink);font-size:16px;letter-spacing:-.1px}.login-entry-copy{position:relative;z-index:1;max-width:620px}.login-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #cfe1ea;color:var(--blue2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}.login-entry-copy h1{margin:18px 0 15px;color:var(--ink);font-size:clamp(38px,4.2vw,58px);line-height:1.02;letter-spacing:-1.8px}.login-entry-copy p{margin:0;max-width:560px;color:#526a78;font-size:16px;line-height:1.65}.login-capabilities{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.login-capabilities>div{padding:14px 13px;background:rgba(255,255,255,.74);border:1px solid rgba(195,216,227,.9);border-radius:12px;backdrop-filter:blur(5px)}.login-capabilities strong,.login-capabilities span{display:block}.login-capabilities strong{color:var(--ink);font-size:12.5px}.login-capabilities span{margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.35}.login-entry-formwrap{display:flex;flex-direction:column;justify-content:center;padding:48px 46px}.login-form-heading{margin-bottom:25px}.login-form-heading h2{margin:5px 0 5px;color:var(--ink);font-size:30px;line-height:1.1;letter-spacing:-.45px}.login-form-heading p{margin:0;color:var(--muted)}.login-form-polished{display:grid;gap:17px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{color:#405866;font-weight:750}.login-field input{width:100%;min-height:50px;padding:11px 13px;border:1px solid #c7d5dd;border-radius:10px;background:#fbfcfd;font-size:15px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-field input:focus{background:#fff;border-color:#5e9fc3;box-shadow:0 0 0 4px rgba(5,106,166,.08)}.login-submit{width:100%;min-height:50px;margin-top:3px;font-size:15px}.login-register-box{margin-top:24px;padding:18px;border:1px solid #d8e4ea;border-radius:13px;background:#f8fbfc}.login-register-box>span{display:block;color:var(--ink);font-weight:800}.login-register-box p{margin:5px 0 14px;color:var(--muted);font-size:12.5px;line-height:1.5}.login-register-cta{width:100%;min-height:46px}.login-security-note{margin-top:17px;color:#7a8d98;font-size:10.5px;text-align:center;line-height:1.45}

.staff-register-shell{width:min(1040px,96vw);margin:24px auto 64px}.staff-register-head{margin-bottom:17px;padding:24px 28px;background:#fff;border:1px solid var(--line);border-radius:18px}.register-back{display:inline-flex;margin-bottom:18px;color:var(--muted);font-size:12.5px;font-weight:700}.register-back:hover{color:var(--blue)}.staff-register-brand{display:flex;align-items:center;gap:18px}.staff-register-brand img{width:74px;height:64px;object-fit:contain}.staff-register-brand h1{margin:3px 0 4px;color:var(--ink);font-size:30px;line-height:1.12}.staff-register-brand p{margin:0;color:var(--muted)}.approval-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:21px}.approval-steps span{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;background:#f6f9fb;color:#536b78;font-size:12px;font-weight:700}.approval-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-size:11px}.staff-register-form{max-width:none;padding:0;overflow:hidden}.registration-section{padding:25px 28px;border-bottom:1px solid #e8eef1}.registration-section:last-of-type{border-bottom:0}.registration-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.registration-section-head>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:#edf6fb;color:var(--blue2);font-size:11px;font-weight:850}.registration-section-head h2{margin:0 0 2px;color:var(--ink);font-size:18px}.registration-section-head p{margin:0;color:var(--muted);font-size:12.5px}.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}.registration-grid .field{gap:6px}.registration-grid input,.registration-grid select{min-height:48px;background:#fbfcfd}.registration-grid input:focus,.registration-grid select:focus{background:#fff;border-color:#5e9fc3;box-shadow:0 0 0 3px rgba(5,106,166,.07);outline:none}.registration-section.registration-optional{display:none}.registration-submit-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 28px;background:#f8fbfc;border-top:1px solid #e4ecef}.registration-submit-row>div{min-width:0}.registration-submit-row strong,.registration-submit-row span{display:block}.registration-submit-row strong{color:var(--ink)}.registration-submit-row span{margin-top:3px;color:var(--muted);font-size:12px;max-width:620px}.registration-submit-row .primary{min-width:190px}.staff-register-form .errorlist{margin:3px 0 0;padding-left:18px}

@media(max-width:900px){.login-entry-card{grid-template-columns:1fr;min-height:0}.login-entry-visual{padding:31px 30px;border-right:0;border-bottom:1px solid #dce8ee}.login-entry-copy h1{font-size:38px}.login-capabilities{grid-template-columns:repeat(3,1fr)}.login-entry-formwrap{padding:33px 30px}.staff-register-shell{width:min(96vw,760px)}.registration-grid{grid-template-columns:1fr}.approval-steps{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.login-entry-shell{width:calc(100vw - 20px);margin:10px auto 30px}.login-entry-card{border-radius:17px}.login-entry-visual{padding:24px 20px;gap:25px}.login-entry-crest{width:58px;height:50px}.login-brandline strong{font-size:14px}.login-entry-copy h1{font-size:31px;letter-spacing:-1px;margin:14px 0 11px}.login-entry-copy p{font-size:14px}.login-capabilities{grid-template-columns:1fr}.login-entry-formwrap{padding:25px 20px}.login-form-heading h2{font-size:26px}.staff-register-shell{width:calc(100vw - 20px);margin:10px auto 36px}.staff-register-head{padding:20px 18px}.staff-register-brand{align-items:flex-start}.staff-register-brand img{width:58px;height:52px}.staff-register-brand h1{font-size:24px}.approval-steps{grid-template-columns:1fr}.registration-section{padding:21px 18px}.registration-submit-row{flex-direction:column;align-items:stretch;padding:19px 18px}.registration-submit-row .primary{width:100%;min-width:0}}


/* ======================================================================
   Mobile-first clinical UI hardening | September 2026
   Phones are the primary operating device for remote facilities.
   ====================================================================== */
:root{
  --tap:48px;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:18px;
}
body{font-size:15.5px;line-height:1.55;letter-spacing:.002em}
main{width:100%;max-width:1480px}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(5,106,166,.2);outline-offset:2px}
button,.primary,.secondary,input,select{min-height:var(--tap)}
button,.primary,.secondary{border-radius:10px}
.primary,.secondary{font-weight:760;line-height:1.25}
textarea{min-height:104px;resize:vertical}
input,select,textarea{font-size:16px}
label{line-height:1.3}
.eyebrow{font-size:11.5px;line-height:1.25;letter-spacing:.065em}
.pagehead h1,.hero h1,.patient-head h1{font-size:clamp(25px,3vw,31px);letter-spacing:-.45px}
.pagehead p,.hero p,.patient-head p{max-width:900px;line-height:1.55}
.panel{border-radius:var(--radius-md);box-shadow:0 1px 0 rgba(23,50,71,.02)}
.panelhead h2{font-size:21px;letter-spacing:-.2px}
.panelhead p,.booking-note,.form small,.field small{line-height:1.5}
.booking-note{font-size:13.5px;padding:13px 14px}
.form label,.field label{font-size:14px}
.form input,.form select,.form textarea,.field input,.field select,.field textarea{border-radius:10px}
.form>p{display:flex;flex-direction:column;gap:6px}
.form>p>small{display:block}
.actions{flex-wrap:wrap}
.actions .primary,.actions .secondary{min-width:138px}
.stats{align-items:stretch}.stat{min-width:0}.stat span{font-size:12px;font-weight:700}.stat small{font-size:11.5px;line-height:1.35}.stat strong{font-variant-numeric:tabular-nums}
.status{line-height:1.25}
.row{min-width:0}.row>div{min-width:0}.row strong,.row small{overflow-wrap:anywhere}
.inline-actions{align-items:stretch}.inline-actions form{display:flex}.inline-actions button{height:100%}
.tablewrap{border-radius:10px}
table td,table th{overflow-wrap:anywhere}
.patient-actions a,.workflow-actions form button{min-height:46px}
.clinic-switch{-webkit-overflow-scrolling:touch;scrollbar-width:none}.clinic-switch::-webkit-scrollbar{display:none}

/* Keep authenticated header compact and predictable on touch devices. */
@media(max-width:1180px){
  .topbar{position:sticky;top:0;padding:max(7px,env(safe-area-inset-top)) 14px 8px;box-shadow:0 1px 12px rgba(23,50,71,.06)}
  .hospital-brand{max-width:calc(100vw - 108px)}
  .menu-button{min-width:74px;min-height:46px;border-radius:10px}
  .facility-switch select,.quick-search input{min-height:46px;border-radius:10px}
  .quick-search>span{top:9px}
  .topbar nav{gap:7px;padding-top:9px}
  .topbar nav>a,.topbar nav form button{min-height:46px;border-radius:10px;font-size:14px}
}

/* Tablets: preserve information density without desktop crowding. */
@media(min-width:681px) and (max-width:1024px){
  main{padding:22px 20px 54px}
  .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .stat{padding:14px 13px}.stat strong{font-size:27px}.stat small{font-size:10.8px}
  .form{max-width:820px}
  .patient-registration-form,.registration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .patient-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-actions{flex-wrap:wrap;justify-content:flex-end}
}

/* Phones and portrait tablets: card-based operational layout. */
@media(max-width:680px){
  body{font-size:15px;line-height:1.5}
  main{padding:14px 11px calc(38px + env(safe-area-inset-bottom))}
  .topbar{grid-template-columns:minmax(0,1fr) auto;gap:7px 9px;padding-left:10px;padding-right:10px}
  .brand-crest{width:39px;height:36px}.brand-copy strong{font-size:13.5px}.brand-copy small{display:none}
  .menu-button{min-width:66px;padding:7px 9px}
  .facility-switch{grid-column:1/-1;grid-row:2;min-width:0}.facility-switch select{width:100%;font-size:16px}
  .quick-search{grid-column:1/-1;grid-row:3}.quick-search input{font-size:16px;padding-left:38px}
  .topbar nav{grid-column:1/-1;grid-row:4;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100dvh - 165px);padding-bottom:max(4px,env(safe-area-inset-bottom))}
  .topbar nav>a,.topbar nav form button{justify-content:center;text-align:center;padding:9px 8px}

  .hero,.patient-head,.pagehead{margin-bottom:12px;padding:15px 15px;border-radius:13px;gap:13px}
  .pagehead h1,.hero h1,.patient-head h1{font-size:22.5px;line-height:1.13;margin-top:3px}
  .pagehead p,.hero p,.patient-head p{font-size:13.5px;line-height:1.45}
  .eyebrow{font-size:10.5px}
  .hero-actions,.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .hero-actions>* ,.actions>*{width:100%;min-width:0}
  .hero-actions form,.actions form{width:100%}
  .hero-actions button,.actions button{width:100%}

  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .stat{min-height:104px;padding:12px 11px;border-radius:11px;border-top-width:3px;display:flex;flex-direction:column;justify-content:center}
  .stat span{font-size:10.8px;line-height:1.25}.stat strong{font-size:25px;line-height:1.05;margin:5px 0}.stat small{font-size:10.3px}

  .panel{padding:14px 13px;margin-bottom:12px;border-radius:12px}
  .panelhead{margin-bottom:12px;gap:10px}.panelhead h2{font-size:18.5px;line-height:1.2}.panelhead p{font-size:13px;line-height:1.45}
  .panelhead>.primary,.panelhead>.secondary{width:100%}
  .booking-note{padding:11px 12px;margin:8px 0 13px;font-size:12.8px}

  .form{max-width:none;width:100%;padding:15px 13px}
  .form-grid,.patient-registration-form,.registration-grid{grid-template-columns:1fr;gap:13px}
  .field.wide,.actions.wide{grid-column:1}
  .field{gap:5px}.field label,.form label{font-size:13.5px}
  .field input,.field select,.field textarea,.form input,.form select,.form textarea{width:100%;min-height:48px;padding:10px 11px}
  .form textarea,.field textarea{min-height:100px}
  .form p{margin-bottom:12px}
  .error,.errorlist{font-size:12.5px;line-height:1.4}

  .searchbar,.filterbar{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:11px}
  .searchbar input,.filterbar input,.filterbar select,.searchbar button,.filterbar button{width:100%;min-height:48px}

  .clinic-switch{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;margin:0 -2px 12px;padding:2px 2px 5px;scroll-snap-type:x proximity}
  .clinic-switch a{flex:0 0 auto;min-height:42px;display:flex;align-items:center;padding:8px 12px;white-space:nowrap;scroll-snap-align:start}

  /* Every table becomes a scannable patient/case card. */
  .tablewrap{overflow:visible}
  table.responsive{display:block;width:100%;min-width:0}
  table.responsive thead{display:none}
  table.responsive tbody{display:block;width:100%}
  table.responsive tr{display:block;width:100%;margin:0 0 9px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 1px 2px rgba(23,50,71,.025)}
  table.responsive td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:9px;align-items:start;padding:7px 0;border:0;border-bottom:1px solid #edf1f3;font-size:13.5px;line-height:1.4}
  table.responsive td:last-child{border-bottom:0;padding-bottom:2px}
  table.responsive td:first-child{padding-top:2px}
  table.responsive td:before{content:attr(data-label);font-size:9.8px;line-height:1.35;font-weight:800;letter-spacing:.045em;color:#6f818c;text-transform:uppercase;padding-top:2px}
  table.responsive td strong{font-size:14px;line-height:1.3}
  table.responsive td small{font-size:11.5px;line-height:1.35}
  table.responsive td .status{font-size:11px}
  table.responsive td .primary,table.responsive td .secondary{width:100%;min-height:44px}
  table.responsive td .inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}
  table.responsive td .inline-actions form,table.responsive td .inline-actions button{width:100%}

  .row{align-items:flex-start;padding:10px 0;gap:10px}.row>div{flex:1}.row>.primary,.row>.secondary{flex:0 0 auto}
  .route-case{padding:11px 0;gap:10px}.route-case>div{width:100%}.route-case form,.route-case button{width:100%}

  /* Patient actions stay reachable without producing a very tall single-column stack. */
  .patient-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px}
  .patient-actions a,.patient-actions form,.patient-actions form button{width:100%;min-width:0}
  .patient-actions a,.patient-actions button{padding:9px 8px;font-size:12.5px;text-align:center;justify-content:center}

  dl{grid-template-columns:88px minmax(0,1fr);gap:7px 9px;font-size:13.5px}dt{font-size:12px}

  .inline-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}.inline-actions form,.inline-actions button{width:100%}

  /* Login: form first, concise product context, no long marketing scroll. */
  .login-entry-shell{width:calc(100vw - 18px);margin:9px auto 26px}
  .login-entry-card{border-radius:16px;box-shadow:0 10px 30px rgba(23,50,71,.08)}
  .login-entry-visual{padding:19px 18px 17px;gap:14px}
  .login-entry-crest{width:52px;height:45px}.login-brandline{gap:10px}.login-brandline strong{font-size:13.5px}
  .login-entry-copy h1{font-size:27px;line-height:1.04;letter-spacing:-.75px;margin:11px 0 8px}.login-entry-copy br{display:none}.login-entry-copy p{font-size:12.8px;line-height:1.45}
  .login-pill{font-size:9.7px;padding:5px 8px}
  .login-capabilities{display:none}
  .login-entry-formwrap{padding:21px 18px 22px}
  .login-form-heading{margin-bottom:17px}.login-form-heading h2{font-size:24px}.login-form-heading p{font-size:13px}
  .login-form-polished{gap:13px}.login-field label{font-size:13.5px}.login-field input{min-height:50px}
  .login-register-box{margin-top:18px;padding:14px}.login-register-box p{font-size:12px}

  /* Staff registration: compact guided sections and no wasted space. */
  .staff-register-shell{width:calc(100vw - 18px);margin:9px auto 30px}
  .staff-register-head{padding:17px 15px;margin-bottom:10px;border-radius:14px}.register-back{margin-bottom:12px}
  .staff-register-brand{gap:11px}.staff-register-brand img{width:50px;height:46px}.staff-register-brand h1{font-size:22px}.staff-register-brand p{font-size:12.5px;line-height:1.4}
  .approval-steps{grid-template-columns:1fr;gap:6px;margin-top:14px}.approval-steps span{padding:7px 9px;font-size:11.5px}.approval-steps b{width:22px;height:22px}
  .staff-register-form{padding:0}
  .registration-section{padding:17px 14px}.registration-section-head{gap:10px;margin-bottom:13px}.registration-section-head>span{width:30px;height:30px}.registration-section-head h2{font-size:16.5px}.registration-section-head p{font-size:11.8px}
  .registration-grid{gap:12px}.registration-grid input,.registration-grid select{min-height:48px}
  .registration-submit-row{padding:15px 14px;gap:13px}.registration-submit-row span{font-size:11.5px}.registration-submit-row .primary{min-height:50px}
}

/* Very small phones: keep KPIs compact, retain two-column actions where safe. */
@media(max-width:370px){
  main{padding-left:9px;padding-right:9px}
  .topbar{padding-left:8px;padding-right:8px}.hospital-brand{max-width:calc(100vw - 88px)}.brand-crest{width:35px;height:33px}.brand-copy strong{font-size:12.8px}
  .stats{gap:6px}.stat{padding:10px 9px;min-height:100px}.stat strong{font-size:23px}.stat span{font-size:10px}.stat small{font-size:9.8px}
  .patient-actions{grid-template-columns:1fr}
  table.responsive td{grid-template-columns:78px minmax(0,1fr);gap:7px}
  .hero-actions,.actions{grid-template-columns:1fr}
}

/* Landscape phones: preserve working area and avoid an oversized sticky header. */
@media(max-height:520px) and (orientation:landscape) and (max-width:950px){
  .topbar{position:relative}
  main{padding-top:10px}
  .login-entry-visual{display:none}
  .login-entry-card{grid-template-columns:1fr;min-height:0}
  .login-entry-formwrap{padding:18px 22px}
}

/* Long-form scan anchors and conditional clinical sections */
.mobile-form-section{grid-column:1/-1;display:flex;align-items:center;gap:11px;margin:7px 0 -1px;padding:12px 13px;border:1px solid #dbe7ed;border-radius:11px;background:#f8fbfc}.mobile-form-section>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;border-radius:8px;background:#e9f4f9;color:var(--blue2);font-size:10.5px;font-weight:850}.mobile-form-section strong,.mobile-form-section small{display:block}.mobile-form-section strong{color:var(--ink);font-size:14px}.mobile-form-section small{margin-top:1px;color:var(--muted);font-size:11.5px}.conditional-form-section{margin:12px 0 15px;padding:14px 14px 2px;border:1px solid #dbe6eb;border-radius:11px;background:#fbfcfd}.conditional-title{display:block;margin-bottom:10px;color:var(--blue2);font-size:11px;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.conditional-form-section p{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}.conditional-form-section input,.conditional-form-section select,.conditional-form-section textarea{width:100%}
@media(max-width:680px){.mobile-form-section{margin-top:4px;padding:10px 11px}.mobile-form-section>span{width:28px;height:28px}.mobile-form-section strong{font-size:13.5px}.mobile-form-section small{font-size:11px}.conditional-form-section{margin:10px -1px 12px;padding:12px 11px 1px}.conditional-title{font-size:10.5px}.conditional-form-section p{margin-bottom:10px}}

/* Clinician dashboard queue routing */
.provider-actions{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:7px;width:100%}.provider-actions form,.provider-actions button{width:100%}.incoming-transfer-panel{border-top:3px solid #a96a0b}.incoming-transfer-panel .panelhead{align-items:center}
@media(max-width:680px){.provider-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-actions button{font-size:12px;padding-left:7px;padding-right:7px}.incoming-transfer-panel .panelhead{align-items:stretch}.incoming-transfer-panel .panelhead>.status{align-self:flex-start}}

/* Staff affiliation | transfer workflow */
.approval-form{display:grid;gap:7px;min-width:190px}.approval-form select,.approval-form textarea,.approval-form button{width:100%}.approval-form textarea{min-height:72px}.affiliation-request-form{max-width:760px;margin:0}.affiliation-request-form .primary{min-width:190px}
@media(max-width:680px){.approval-form{min-width:0;width:100%}.approval-form select,.approval-form textarea,.approval-form button{min-height:46px}.affiliation-request-form{max-width:none}.affiliation-request-form .primary{width:100%;min-width:0}}

/* Referral notifications and decisions */
.referral-decision-actions{display:grid;gap:7px;min-width:210px}.decline-referral-form{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:6px}.decline-referral-form input{min-height:42px;padding:8px 10px;border:1px solid #ccd9e0;border-radius:9px;font-size:14px}.notification-list{padding:0;overflow:hidden}.notification-item{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:13px;align-items:center;padding:17px 18px;border-bottom:1px solid #e8eef1}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:#f7fbfd}.notification-dot{width:8px;height:8px;border-radius:50%;background:#c8d5dc}.notification-item.unread .notification-dot{background:var(--blue)}.notification-copy{min-width:0}.notification-copy h2{margin:5px 0 4px;font-size:16px;color:var(--ink)}.notification-copy p{margin:0 0 4px;color:#4f6673;font-size:13.5px;line-height:1.45}.notification-copy small{color:var(--muted)}.notification-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--muted);font-size:10.5px}.notification-direct{font-weight:800;color:var(--blue2);text-transform:uppercase;letter-spacing:.04em}
@media(max-width:680px){.referral-decision-actions{min-width:0;width:100%}.decline-referral-form{grid-template-columns:1fr}.decline-referral-form input,.decline-referral-form button{width:100%;min-height:46px}.notification-item{grid-template-columns:8px minmax(0,1fr);padding:14px 12px;gap:9px}.notification-item>.secondary{grid-column:2;width:100%;margin-top:4px}.notification-copy h2{font-size:15px}.notification-copy p{font-size:12.8px}}

/* Awaiting checkout */
.attention-action{border-color:#d58a20!important;background:#fff8e8!important;color:#7a4a00!important;font-weight:850!important}.status.overdue{background:#fff0dd;color:#8a4e00;border:1px solid #f1c98d}


/* ======================================================================
   Compact dropdown navigation | September 2026
   Keeps the clinical header focused on identity, facility and patient search.
   ====================================================================== */
.topbar{
  grid-template-columns:auto minmax(180px,250px) minmax(260px,390px) auto;
  gap:14px;
}
.menu-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font-weight:750;
  cursor:pointer;
  white-space:nowrap;
}
.menu-button:hover,.menu-button[aria-expanded="true"]{background:var(--soft);border-color:#b6d3e4;color:var(--blue2)}
.menu-button .menu-chevron{font-size:11px;transition:transform .16s ease}
.menu-button[aria-expanded="true"] .menu-chevron{transform:rotate(180deg)}
.topbar nav{
  display:none;
  position:absolute;
  top:calc(100% - 2px);
  right:max(22px,4vw);
  width:min(420px,calc(100vw - 28px));
  padding:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 18px 48px rgba(23,50,71,.16);
  z-index:320;
}
.topbar nav.open{display:grid}
.topbar nav>a,.topbar nav form,.topbar nav form button{width:100%}
.topbar nav>a,.topbar nav form button{
  min-height:44px;
  justify-content:flex-start;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:8px;
}
.topbar nav>a:hover,.topbar nav form button:hover{background:var(--soft);border-color:#d7e6ee}
.topbar nav>a.active{background:var(--soft);border:1px solid #b6d3e4;border-radius:8px;box-shadow:none}
.topbar nav form{margin:0}
.topbar nav form button{color:#8f3733}

@media(max-width:1180px){
  .topbar{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px}
  .hospital-brand{grid-column:1;grid-row:1}
  .menu-button{grid-column:2;grid-row:1;display:inline-flex;min-width:82px}
  .facility-switch{grid-column:1/-1;grid-row:2}
  .quick-search{grid-column:1/-1;grid-row:3}
  .topbar nav{
    top:calc(100% - 2px);
    right:12px;
    grid-column:auto;
    grid-row:auto;
    width:min(420px,calc(100vw - 24px));
    max-height:min(70dvh,560px);
    overflow-y:auto;
    padding:9px;
    border-top:1px solid var(--line);
  }
  .topbar nav.open{display:grid}
}
@media(max-width:640px){
  .topbar nav{grid-template-columns:1fr;right:10px;width:calc(100vw - 20px);max-height:68dvh}
  .topbar nav>a,.topbar nav form button{justify-content:flex-start}
}


/* Compact patient check-in clinician selector */
.checkin-menu{position:relative;display:inline-block}
.checkin-menu>summary{list-style:none;cursor:pointer;gap:8px;user-select:none}
.checkin-menu>summary::-webkit-details-marker{display:none}
.checkin-chevron{font-size:11px;transition:transform .16s ease}
.checkin-menu[open] .checkin-chevron{transform:rotate(180deg)}
.checkin-options{position:absolute;top:calc(100% + 7px);left:0;z-index:90;width:290px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 36px rgba(23,50,71,.16)}
.checkin-options form{margin:0}
.checkin-options button{display:block;width:100%;min-height:43px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font-weight:700;cursor:pointer}
.checkin-options button:hover,.checkin-options button:focus{background:var(--soft);color:var(--blue2);outline:none}
@media(max-width:640px){.checkin-menu{width:100%}.checkin-menu>summary{width:100%}.checkin-options{position:static;width:100%;margin-top:7px;box-shadow:none}.workflow-actions>.checkin-menu{grid-column:1/-1}}

/* ======================================================================
   Prescribing + pharmacy workflow | September 2026
   ====================================================================== */
.script-action{background:#f1f8f4!important;border-color:#c9e1d1!important;color:#356a45!important}
.rx-form{max-width:1080px;margin:0 auto}.rx-item{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 14px;background:#fbfcfd}.rx-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.rx-item-head strong{color:var(--ink);font-size:16px}.rx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:13px}.rx-grid .wide{grid-column:1/-1}.medicine-picker{position:relative}.medicine-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;max-height:min(320px,48vh);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 44px rgba(23,50,71,.16);overscroll-behavior:contain}.medicine-result{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;text-align:left;border:0;border-bottom:1px solid #edf1f3;background:#fff;color:var(--ink);cursor:pointer}.medicine-result:hover{background:var(--soft)}.medicine-result strong{font-size:13.5px}.medicine-result span{font-size:11.5px;color:var(--muted);line-height:1.35}.medicine-no-result{padding:13px;color:var(--muted)}.medicine-selected{min-height:19px}.rx-submitbar{position:sticky;bottom:12px;z-index:40;display:flex;justify-content:flex-end;gap:9px;padding:12px;margin-top:15px;background:rgba(244,247,249,.93);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(8px)}.rx-med-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd;margin-bottom:12px}.rx-med-title{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.rx-med-title strong,.rx-med-title small{display:block}.rx-med-title strong{color:var(--ink);font-size:16px}.rx-med-title small{color:var(--muted);margin-top:3px}.rx-med-title>span{padding:3px 7px;border-radius:999px;background:var(--soft);color:var(--blue2);font-size:10.5px;font-weight:800}.rx-ingredients{margin:11px 0;padding:10px 11px;border-radius:8px;background:#fff;color:#536b78;font-size:12.5px}.rx-directions{grid-template-columns:95px minmax(0,1fr);margin-top:12px}.pharmacy-action{display:grid;gap:8px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.pharmacy-action label{font-weight:700;color:#405866}.pharmacy-action textarea{width:100%}.pharmacy-reject .secondary{border-color:#dfc1bd;color:#8f3733}.rx-status-submitted{background:#fff1e2;color:#8c5a15}.rx-status-validated{background:#e9f4fb;color:#225f81}.rx-status-issued{background:#edf7ef;color:#3d7549}.rx-status-rejected,.rx-status-cancelled{background:#fbeeed;color:#953d38}.pharmacy-stats,.medicine-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}.medicine-filter{grid-template-columns:minmax(280px,1fr) 180px auto}
@media(max-width:760px){.rx-grid{grid-template-columns:1fr}.rx-grid .wide{grid-column:1}.rx-submitbar{bottom:8px}.pharmacy-stats,.medicine-stats{grid-template-columns:1fr}.medicine-filter{grid-template-columns:1fr}.rx-med-title{flex-direction:column}.rx-directions{grid-template-columns:88px minmax(0,1fr)}}


/* Logged-in session identity */
.session-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.session-user{display:flex;align-items:center;min-width:0;max-width:230px;padding:6px 9px;border-left:1px solid var(--line)}
.session-user-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.session-user-copy strong{color:var(--ink);font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-user-copy small{margin-top:3px;color:var(--muted);font-size:10.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-session-user{grid-column:1/-1;display:flex;flex-direction:column;padding:10px 11px 11px;border-bottom:1px solid var(--line);margin-bottom:2px;background:#f8fafb;border-radius:8px}
.nav-session-user strong{color:var(--ink);font-size:13px}
.nav-session-user small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}
@media(max-width:1180px){.session-controls{grid-column:2;grid-row:1}.session-user{max-width:210px}}
@media(max-width:760px){.session-user{max-width:150px;padding-left:7px;padding-right:7px}.session-user-copy strong{font-size:11.5px}.session-user-copy small{font-size:9.8px}}
@media(max-width:520px){.session-user{display:none}.session-controls{grid-column:2;grid-row:1}.nav-session-user{display:flex}}

/* Sick note companion / family responsibility */
.sicknote-companion-section{grid-column:1/-1;margin:18px 0 20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}
.companion-toggle{margin:0 0 12px}.checkbox-label{display:flex!important;align-items:center;gap:10px;font-weight:800!important;color:var(--ink)!important;cursor:pointer}.checkbox-label input[type="checkbox"]{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:0;accent-color:var(--blue)}
.companion-fields[hidden]{display:none!important}.companion-fields{margin-top:10px}.sicknote-action{background:#f6f4fb!important;border-color:#d8cfeb!important;color:#5c4a86!important}
@media(max-width:760px){.sicknote-companion-section{padding:13px}.checkbox-label{align-items:flex-start}}

/* Patient Actions dropdown */
.action-menu>summary{min-width:112px;gap:8px;user-select:none;list-style:none;cursor:pointer}
.action-menu>summary::-webkit-details-marker{display:none}
.action-options{width:300px}
.action-options a{display:block;width:100%;min-height:43px;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;font-weight:700;line-height:1.35}
.action-options a:hover,.action-options a:focus{background:var(--soft);color:var(--blue2);outline:none}
.action-options .script-action,.action-options .sicknote-action{background:transparent!important;border:0!important;color:var(--ink)!important}
.action-options .script-action:hover,.action-options .script-action:focus,.action-options .sicknote-action:hover,.action-options .sicknote-action:focus{background:var(--soft)!important;color:var(--blue2)!important}
@media(max-width:520px){.workflow-actions{display:flex;flex-wrap:wrap;gap:8px}.workflow-actions>.checkin-menu{flex:1 1 calc(50% - 4px)}.workflow-actions>.checkin-menu>summary{width:100%;justify-content:center}.checkin-options,.action-options{width:min(300px,calc(100vw - 28px))}}

/* Facility-aware grouped check-in */
.checkin-direct-form{display:inline-flex;margin:0}.checkin-direct-form .primary{white-space:nowrap}
.appointment-checkin-menu{width:auto}.appointment-checkin-menu>summary{display:inline-flex;align-items:center;justify-content:center}
.appointment-checkin-menu .checkin-options{left:auto;right:0;width:220px}
@media(max-width:640px){.workflow-actions>.checkin-direct-form{flex:1 1 calc(50% - 4px)}.workflow-actions>.checkin-direct-form .primary{width:100%}.appointment-checkin-menu{width:100%}.appointment-checkin-menu>summary{width:100%}.appointment-checkin-menu .checkin-options{position:static;width:100%;margin-top:7px}}


/* Mobile/tablet review hardening | 2026-09-14 */
@media(min-width:521px) and (max-width:900px){
  .workflow-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-actions>.checkin-menu{grid-column:auto}
}
@media(max-width:520px){
  .workflow-actions>.checkin-menu[open]{flex-basis:100%}
  .workflow-actions>.checkin-menu[open] .checkin-options,
  .workflow-actions>.action-menu[open] .action-options{width:100%;max-width:none}
  .row{flex-direction:column;align-items:stretch;gap:8px}
  .row>div{width:100%}
  .row>.primary,.row>.secondary,.row>form{width:100%;flex:0 0 auto}
  .row>form button,.row>form .link{width:100%}
  .rx-submitbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;bottom:max(8px,env(safe-area-inset-bottom));padding:10px}
  .rx-submitbar>.primary,.rx-submitbar>.secondary{width:100%;min-width:0}
}
@media(max-width:370px){
  .rx-submitbar{grid-template-columns:1fr}
}

/* Mobile centering fix from phone review | 2026-09-14 */
@media(max-width:680px){
  .panel .primary,.panel .secondary,
  .pagehead .primary,.pagehead .secondary,
  .hero-actions .primary,.hero-actions .secondary,
  .workflow-actions .primary,.workflow-actions .secondary,
  .patient-actions a,.patient-actions button,
  table.responsive td .primary,table.responsive td .secondary,
  table.responsive td button{
    justify-content:center;
    text-align:center;
  }
  table.responsive td.empty,
  table.responsive td[colspan].empty{
    display:block;
    width:100%;
    text-align:center;
    padding:16px 12px;
  }
  table.responsive td.empty:before,
  table.responsive td[colspan].empty:before{
    content:none;
    display:none;
  }
}

