/* DrKTMed 2.7.43. OS colour preferences live in app.css; this file owns layout. */
:root { --text:var(--ink); --text-muted:var(--muted); --border:var(--line); --primary:var(--teal-dark); --accent:var(--teal); }
[hidden] { display:none!important; }
html,body { max-width:100%; }
body { transition:background-color .18s ease,color .18s ease; }
button,a,input,select,textarea { touch-action:manipulation; }
button { min-height:44px; }
.content,.workspace,.card,fieldset,form,.pagehead>div { min-width:0; }
h1,h2,h3,p,td,th,label,a { word-break:normal; overflow-wrap:break-word; }
input,select,textarea { max-width:100%; min-width:0; }
textarea { resize:vertical; }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; }
:focus-visible { outline-color:var(--focus)!important; }
pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.content h1 { font-size:clamp(1.7rem,3.4vw,2.5rem); }
.content h2 { font-size:clamp(1.2rem,2.3vw,1.65rem); line-height:1.3; }
.content .pagehead { margin-bottom:1.4rem; }
.content details.card>summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:700; }
.content details.card[open]>summary { margin-bottom:1rem; }
.toolbar { gap:.65rem; }
.standby-status button { width:auto!important; margin-left:auto; }
.standby-status>a { font-size:.85rem; }
.mobile-form-actions { display:none; }
.claim-cell { margin:0; min-width:0; }
.claim-cell>span { display:none; }
.nav-icon { display:inline-block; width:12px; height:12px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; margin-inline-end:9px; }
.sidebar { z-index:70; }
.sidebar nav a { display:flex; align-items:center; min-height:44px; }
.workspace-backdrop { position:fixed; inset:0; background:#081c2bb3; backdrop-filter:blur(5px); z-index:69; border:0; width:100%; height:100%; border-radius:0; }
.topbar { gap:1rem; min-height:60px; padding-block:8px; }
.context-controls { min-width:0; }
.workspace-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; max-width:100%; }
.user-menu { position:relative; margin:0 0 0 auto; min-width:0; max-width:50%; flex-shrink:1; }
.user-menu>summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:8px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-menu-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-menu>summary:before { content:'●'; color:var(--teal); }
.user-menu>div { position:absolute; right:0; top:100%; width:min(350px,calc(100vw - 2rem)); max-height:75dvh; overflow:auto; padding:1rem; background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; box-shadow:var(--shadow-lg); z-index:85; }
.user-menu .account-checks { margin:0 0 1rem; }
.user-menu .context-control select { max-width:100%; width:100%; }
.book-primary { display:inline-flex; margin:0 0 1.3rem; }
.patient-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.form-primary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.advanced-attributes { margin:1rem 0; padding:1rem; border:1px solid var(--line); border-radius:14px; }
.advanced-attributes>summary { cursor:pointer; }
.advanced-attributes[open]>summary { margin-bottom:1rem; }
.week-day { border-bottom:1px solid var(--line); padding:12px 0; }
.week-day>label { display:flex; gap:10px; align-items:center; font-weight:650; }
.week-ranges { display:grid; gap:8px; }
.week-range { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 44px; gap:8px; align-items:end; }
.week-range label { margin:0; }
.week-range input { width:100%; padding-inline:8px; }
.week-range button { width:44px!important; padding:8px!important; }
.week-day input[type=checkbox] { width:20px; height:20px; }
.exception-row { margin-block:1rem; padding:1rem; background:var(--surface-soft); border:1px solid var(--line); border-radius:14px; }
.exception-row .week-day { grid-column:1/-1; border:0; padding:0; }
.patient-actions>summary { cursor:pointer; min-height:44px; min-width:44px; display:grid; place-items:center; }
.patient-actions[open] { padding:8px; background:var(--surface-soft); }
.patient-reference-short { display:inline-flex; gap:8px; align-items:center; }
.patient-reference-short code { font-size:.8rem; white-space:nowrap; }
.copy-reference { width:44px!important; min-width:44px!important; min-height:44px!important; flex:none; display:grid; place-items:center; padding:6px 10px; }
/* Reserve a public viewport edge and suppress the stack where actual text intersects it. */
.viewport-actions { position:fixed; bottom:calc(1.5rem + env(safe-area-inset-bottom)); right:calc(1.5rem + env(safe-area-inset-right)); display:flex; flex-direction:column; gap:12px; z-index:40; pointer-events:none; }
.viewport-actions>a { position:static!important; inset:auto!important; pointer-events:auto; width:48px; height:48px; box-shadow:0 5px 20px #0002; }
.viewport-actions.is-obscuring { visibility:hidden; }
.public-site { padding-bottom:160px; }
.public-site main,.public-site footer { padding-right:max(1.5rem,96px); }
.public-footer { background:var(--surface); color:var(--ink); border-color:var(--line); }
.public-footer a { color:var(--teal-dark); }
.public-footer h3 { color:var(--ink); }
.site-header-inner { grid-template-columns:auto minmax(0,1fr) auto; }
.media-marquee-window { overflow-x:auto!important; scroll-snap-type:x mandatory; scroll-padding-inline:clamp(16px,4vw,32px); padding:12px clamp(16px,4vw,32px); scrollbar-width:thin; mask-image:none!important; }
.media-marquee-track { animation:none!important; transform:none!important; width:max-content!important; }
.media-marquee-group { gap:18px!important; }
.media-marquee-group[aria-hidden=true] { display:none!important; }
.media-logo { scroll-snap-align:start; scroll-snap-stop:always; flex:0 0 clamp(180px,42vw,235px)!important; width:clamp(180px,42vw,235px)!important; min-width:180px!important; margin:0!important; padding:16px!important; background:var(--surface-soft)!important; border:1px solid var(--line); border-radius:18px; }
.media-logo>div { background:#fff; border-radius:10px; padding:10px; }
.media-logo img { object-fit:contain; width:100%; height:64px; }
.media-logo figcaption,.media-logo figcaption strong { white-space:normal!important; overflow:visible!important; text-overflow:clip!important; color:var(--ink)!important; min-height:3em; }
.media-logo figcaption small { color:var(--muted); }
/* Waiting and self-test surfaces share the OS palette. */
.waiting-card { border-radius:24px; padding:clamp(22px,4vw,38px); position:relative; overflow:hidden; border:1px solid var(--line); background:linear-gradient(135deg,var(--surface),var(--surface-soft)); box-shadow:var(--shadow-md); }
.waiting-card:before { content:''; display:block; width:36px; height:36px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 12px var(--surface-strong); margin:12px 0 28px; animation:waiting-breathe 3s ease-in-out infinite; }
.waiting-card h2 { font-size:clamp(1.3rem,4vw,2rem); max-width:32ch; }
.waiting-hub { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1rem 0; }
.self-preview { background:#112125; border-radius:16px; min-height:180px; width:100%; max-height:260px; object-fit:cover; }
.self-test-level { width:100%; height:12px; }
.waiting-comfort { align-self:start; }
.waiting-connection,.room-presence-details { font-size:.8rem; color:var(--muted); margin:8px 0; }
.waiting-connection>summary,.room-presence-details>summary { cursor:pointer; }
@keyframes waiting-breathe { 50% { box-shadow:0 0 0 18px var(--surface-strong); } }
/* The video and desktop panel share a grid. Media nodes are never replaced by layout changes. */
.room-workspace,.room-workspace.practitioner-workspace { display:grid!important; grid-template-columns:minmax(0,1fr) 0!important; gap:0; transition:grid-template-columns .22s ease; align-items:stretch; }
.room-workspace.drawer-open { grid-template-columns:minmax(0,1fr) 360px!important; gap:16px; }
.room-call-area { min-width:0; position:relative; }
.clinical-workspace,.room-workspace>.room-chat { min-width:0; overflow:hidden; }
.clinical-workspace { max-height:calc(100dvh - 160px); overflow-y:auto!important; padding:0!important; }
.room-workspace:not(.drawer-open)>.clinical-workspace,.room-workspace:not(.drawer-open)>.room-chat { visibility:hidden; pointer-events:none; }
.room-workspace.drawer-open>.clinical-workspace { padding:16px!important; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.room-workspace .drawer-close { width:auto!important; display:block!important; margin:0 0 10px auto!important; }
.room-workspace .drawer-handle { display:none; width:72px!important; min-height:24px!important; height:24px; margin:0 auto 6px!important; padding:0!important; background:transparent!important; border:0; border-top:4px solid var(--line-strong); border-radius:4px; touch-action:none; }
.room-taskbar { display:flex; flex-wrap:wrap; gap:12px; font-size:.85rem; margin-bottom:8px; }
.room-workspace #call-panel.embedded-call { position:relative!important; inset:auto!important; margin:0; width:100%!important; max-width:none!important; height:calc(100dvh - 220px); min-height:360px; max-height:none!important; border:0!important; border-radius:22px; padding:0!important; overflow:hidden; background:#0c151c; color:#fff; display:grid; grid-template-rows:minmax(0,1fr); }
#call-panel.call-canvas #remote-video { width:100%!important; height:100%!important; max-height:none!important; object-fit:contain; margin:0; background:#0c151c; border-radius:0; }
#call-panel.call-canvas .local-video { position:absolute!important; width:clamp(90px,20%,180px)!important; max-width:180px!important; max-height:none!important; height:auto!important; aspect-ratio:4/3; right:18px; bottom:100px; top:auto!important; object-fit:cover; border:2px solid #ffffff88; border-radius:14px; background:#1b2a34; }
#call-panel.call-canvas .call-controls { position:absolute; bottom:max(16px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:flex; flex-wrap:nowrap!important; gap:5px; padding:7px; max-width:calc(100% - 20px); background:#1d2d3deb; border:1px solid #ffffff44; backdrop-filter:blur(14px); border-radius:18px; z-index:3; }
#call-panel.call-canvas .call-controls button,#call-panel.call-canvas .call-controls a { min-height:52px; min-width:55px; width:auto; padding:6px 8px; margin:0; background:transparent; color:#fff; border:0; display:flex; flex-direction:column; justify-content:center; font-size:11px; gap:4px; border-radius:12px; text-align:center; line-height:1.15; }
#call-panel.call-canvas #call-end { background:#b32f37!important; }
#call-panel.call-canvas #call-play { position:absolute; top:65px; left:20px; z-index:3; }
#call-panel.call-canvas #call-device-help { position:absolute; top:65px; left:10px; right:10px; max-height:45%; overflow:auto; color:var(--ink); background:var(--surface); z-index:4; }
#call-panel.call-canvas .call-details { position:absolute; top:12px; left:12px; z-index:5; margin:0; max-width:calc(100% - 24px); color:#fff; }
#call-panel.call-canvas .call-details>summary { background:#243b4b; color:#fff; border-radius:20px; min-height:34px; padding:6px 12px; font-size:12px; cursor:pointer; list-style:none; }
#call-panel.call-canvas .call-details>summary:before { content:'●'; color:#f2c95d; margin-right:7px; }
#call-panel[data-connection=connected] .call-details>summary:before { color:#69db9d; }
#call-panel[data-connection=reconnecting] .call-details>summary:before { color:#ff8a8a; }
#call-panel.call-canvas .call-details[open] { width:340px; max-height:calc(100% - 110px); overflow:auto; background:var(--surface); color:var(--ink); border:1px solid var(--line-strong); border-radius:16px; padding:12px; }
#call-panel.call-canvas .call-details>p,#call-panel.call-canvas .call-details>label { font-size:12px; }
#call-panel.call-canvas .call-details>pre { white-space:pre-wrap; font-size:11px; }
#call-panel.call-canvas .call-details a { color:var(--teal-dark); }
#call-panel.call-canvas .call-details label { color:var(--ink-2); }
#call-panel.call-canvas .call-details select { color:var(--ink); background:var(--surface); border-color:var(--line-strong); }
#call-panel.call-canvas>p:not(#remote-video-status) { display:none; }
.consultation-status-bar { position:static!important; padding:8px 12px!important; min-height:0; }
.consultation-clock { font-size:.8rem!important; }
.room-workspace .workspace-tabs { position:sticky; top:0; background:var(--surface); z-index:2; }
.room-workspace .chat { max-height:50dvh; }
.secure-site:has(.room-workspace) .chat-alert { display:none!important; }
.chat-alert { background:var(--surface); color:var(--ink); border-color:var(--line-strong); }
.wrap-up { width:min(700px,calc(100vw - 24px)); max-height:90dvh; overflow:auto; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink); border-radius:24px; padding:24px; }
.wrap-up::backdrop { background:#061727aa; backdrop-filter:blur(4px); }
.wrap-up header { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.wrap-up .view-pdf { width:100%; height:45dvh; }
.wrap-up [data-wrap-fields] { display:grid; gap:12px; }
.wrap-up .wrap-primary { position:sticky; bottom:0; padding:12px 0; background:var(--surface); }
.governance-file { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; word-break:normal; font:inherit; font-size:.9rem; }
.governance-fields { margin:0; display:grid; gap:1rem; }
.governance-fields>div { min-width:0; }
.governance-fields dt { font-weight:650; color:var(--muted); margin-bottom:.25rem; }
.governance-fields dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.governance-fields details { padding:.75rem; border:1px solid var(--line); border-radius:10px; }
.governance-fields summary { cursor:pointer; min-height:36px; }
.governance-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.governance-filters button { grid-column:1/-1; }
.governance-history article { border-left:3px solid var(--line); padding:8px 16px; margin:12px 0; }
/* Live canvas fills the viewport; elapsed time and connection details stay in their own corners. */
.consultation-live .layout { display:block!important; }
.consultation-live .sidebar { display:none!important; }
.consultation-live .topbar { height:60px; min-height:60px; padding-block:6px!important; }
.consultation-live #content { height:calc(100dvh - 60px); box-sizing:border-box; overflow:hidden; padding:12px!important; }
.consultation-live #content>:not(.room-workspace):not(.consultation-status-bar) { display:none!important; }
.consultation-live .room-workspace { height:100%; margin:0; }
.consultation-live .room-call-area { height:100%; top:auto; }
.consultation-live .room-workspace #call-panel.embedded-call { height:100%!important; min-height:0!important; border-radius:18px; }
.consultation-live .clinical-workspace { max-height:calc(100dvh - 84px); }
.consultation-live .room-taskbar,.consultation-live #room-media-controls,.consultation-live .room-presence-details { display:none!important; }
.consultation-live .consultation-status-bar { position:fixed!important; top:80px; right:24px; z-index:8; background:#203341e8; color:#fff; border:1px solid #ffffff55; border-radius:14px; padding:3px 8px!important; max-width:55vw; box-shadow:none; }
.consultation-live .consultation-status-bar .consultation-clock { color:#fff; margin:0!important; padding:4px!important; font-size:.7rem!important; }
.consultation-live .consultation-status-actions { display:none; }
.consultation-live #consult-time-warning { color:#fff; font-size:.75rem; }
@media(min-width:768px) {
  .consultation-live:has(.room-workspace.drawer-open) .consultation-status-bar { right:400px; max-width:calc(100vw - 560px); }
}
@media(min-width:768px) and (max-width:1050px) {
  .room-workspace.drawer-open { grid-template-columns:minmax(0,1fr) 320px!important; gap:12px; }
  .consultation-live:has(.room-workspace.drawer-open) .consultation-status-bar { right:356px; max-width:calc(100vw - 516px); }
}
@media(max-width:820px) {
  body.workspace-nav-open { overflow:hidden; }
  html.workspace-nav-open { overflow:hidden; }
  .sidebar #workspace-nav { position:fixed; top:var(--workspace-menu-top,76px); left:1rem; right:1rem; max-height:var(--workspace-menu-height,calc(100dvh - 100px)); overflow:auto; overscroll-behavior:contain; padding-bottom:calc(1rem + env(safe-area-inset-bottom)); scroll-padding-block:1rem; }
  .sidebar-head { display:flex; justify-content:space-between; gap:12px; }
  .sidebar .brand>span:last-child { white-space:normal; line-height:1.35; }
  .topbar { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem 1rem; padding:8px 16px!important; min-height:0; }
  .topbar .context-controls { width:auto; display:block; flex:1 1 180px; min-width:0; }
  .topbar .context-control { min-width:0; width:100%; max-width:320px; font-size:.65rem; }
  .topbar .context-control select { width:100%; max-width:100%; min-height:44px; margin-top:.15rem; font-size:1rem; }
  .topbar .user-menu { margin-left:auto; }
  .user-menu>div { right:0; }
  .user-menu>summary { max-width:100%; }

}
@media(max-width:767px) {
  /* No fixed-height application shell or nested main scrollbar: browser chrome and keyboards can resize freely. */
  body:not(.consultation-live) .layout { display:block; height:auto; min-height:100svh; overflow:visible; }
  body:not(.consultation-live) .workspace { display:block; min-height:0; overflow:visible; }
  body:not(.consultation-live) #content { height:auto; max-height:none; overflow:visible; margin:0 auto; padding-bottom:calc(6rem + env(safe-area-inset-bottom)); }
  html:has(.secure-site .layout) { scroll-padding-top:calc(var(--workspace-header-height,72px) + 16px); scroll-padding-bottom:calc(5rem + env(safe-area-inset-bottom)); }
  .mobile-form-actions { position:fixed; bottom:0; left:0; right:0; z-index:50; display:flex; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--surface); border-top:1px solid var(--line-strong); }
  .mobile-form-actions button { width:100%; }
  .claim-line-editor { overflow:visible; }
  .claim-line-head { display:none; }
  .claim-line { min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; margin:12px 0; border:1px solid var(--line); border-radius:14px; gap:12px; }
  .claim-cell>span { display:block; font-size:.75rem; color:var(--muted); margin-bottom:6px; }
  .claim-cell-1 { grid-column:1/-1; grid-row:2; }
  .claim-cell output { display:block; text-align:left; }

  .public-site main,.public-site footer { padding-right:1rem; }
  .site-header-inner { grid-template-columns:minmax(0,1fr) auto; }
  .site-header-inner>.header-account { display:none; }
  .site-header-inner .platform-brand { max-width:none; }
  .site-header-inner .platform-brand-owner { font-size:9px; }
  .table-wrap { overflow:visible!important; border:0; background:transparent; }
  .table-wrap table { display:block!important; width:100%!important; min-width:0!important; }
  .table-wrap thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .table-wrap tbody { display:grid; gap:12px; }
  .table-wrap tr { display:block; border:1px solid var(--line); border-radius:18px; padding:14px; background:var(--surface); box-shadow:var(--shadow-sm); }
  .table-wrap td { display:grid!important; grid-template-columns:minmax(85px,32%) minmax(0,1fr); gap:10px; padding:8px 0!important; border:0!important; max-width:100%!important; width:auto!important; min-width:0!important; white-space:normal!important; word-break:normal!important; overflow-wrap:anywhere; }
  .table-wrap td:before { content:attr(data-label); color:var(--muted); font-size:.75rem; font-weight:600; }
  .table-wrap td>* { min-width:0; }
  .table-wrap td button { min-height:44px!important; }
  .table-wrap td[data-label=Actions],.table-wrap td[data-label=Action] { display:block!important; }
  .table-wrap td[data-label=Actions]:before,.table-wrap td[data-label=Action]:before { display:none; }
  .table-wrap tr:has(.patient-reference) td:first-child { display:block!important; font-size:1rem; font-weight:650; }
  .table-wrap tr:has(.patient-reference) td:first-child:before { display:none; }
  .table-wrap tr:has(.patient-reference) .patient-reference-short { display:flex; font-weight:400; margin-top:8px; }
  .table-wrap tr:has(.patient-reference) td:last-child { display:block!important; text-align:right; }
  .table-wrap tr:has(.patient-reference) td:last-child:before { display:none; }
  .patient-actions>summary { display:inline-grid; width:44px; }
  .patient-actions[open] { text-align:left; }
  .patient-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px; }
  .patient-stats .stat { padding:16px; }
  .patient-stats .stat strong { font-size:1.25rem; }
  .patient-stats .card p { font-size:.8rem; }
  .book-primary { width:100%; justify-content:center; }
  .topbar { flex-wrap:nowrap; padding:8px 14px!important; }
  .context-controls { min-width:0; flex:1; }
  .workspace-label { font-size:11px; }
  .content form>button[type=submit],form[data-governance]>button[type=submit] { position:static; box-shadow:none; }
  form { scroll-margin-bottom:85px; }
  input,select,textarea { font-size:max(16px,1rem); }
  .form-primary-grid { gap:12px; }
  .waiting-hub { grid-template-columns:1fr; }
  .room-workspace.drawer-open { grid-template-columns:minmax(0,1fr) 0!important; gap:0; }
  .room-workspace .clinical-workspace,.room-workspace>.room-chat { position:fixed!important; inset:auto 0 0!important; z-index:75; width:100%; height:68dvh; max-height:82dvh!important; border-radius:24px 24px 0 0!important; box-shadow:0 -10px 40px #0005; transform:translateY(110%); transition:transform .22s ease; padding:18px 18px calc(18px + env(safe-area-inset-bottom))!important; background:var(--surface); overscroll-behavior:contain; }
  .room-workspace.drawer-open .clinical-workspace,.room-workspace.drawer-open>.room-chat { transform:translateY(0); visibility:visible; pointer-events:auto; }
  .room-workspace .drawer-handle { display:block; }
  .room-workspace #call-panel.embedded-call { height:calc(100dvh - 190px); min-height:330px; border-radius:16px; }
  .room-workspace:not(.drawer-open)>.room-chat { display:block!important; }
  #call-panel.call-canvas .call-controls { gap:0; padding:5px; bottom:max(12px,env(safe-area-inset-bottom)); width:max-content; }
  #call-panel.call-canvas .call-controls button,#call-panel.call-canvas .call-controls a { min-width:48px; padding:5px 7px; }
  #call-panel.call-canvas .local-video { right:12px; bottom:90px; }
  .consultation-live .topbar .context-controls { display:none; }
  .consultation-live .topbar .user-menu { margin-left:0; }
  .consultation-live .consultation-status-bar { right:22px; top:84px; max-width:48vw; }
  .wrap-up { padding:18px; }
  .governance-filters { grid-template-columns:1fr; }
}
@media(max-width:360px) {
  .table-wrap td { grid-template-columns:minmax(0,1fr); gap:3px; }
  .form-primary-grid { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}
@media print {
  .viewport-actions,.workspace-backdrop { display:none!important; }
  .table-wrap table { display:table!important; }
  .table-wrap thead { display:table-header-group!important; position:static; width:auto; height:auto; clip-path:none; }
  .table-wrap tbody { display:table-row-group!important; }
  .table-wrap tr { display:table-row!important; }
  .table-wrap td { display:table-cell!important; }
  .table-wrap td:before { display:none!important; }
}

/* Control icons use currentColor for consistent contrast. */
#call-panel #call-mic:before{content:"";width:20px;height:20px;display:block;align-self:center;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M9%204a3%203%200%200%201%206%200v7a3%203%200%200%201-6%200V4%20M5%2010v1a7%207%200%200%200%2014%200v-1%20M12%2018v4%20M8%2022h8%22/%3E%3C/svg%3E") center/contain no-repeat}
#call-panel #call-camera:before{content:"";width:20px;height:20px;display:block;align-self:center;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%206h11v12H3z%20M14%2010l7-4v12l-7-4%22/%3E%3C/svg%3E") center/contain no-repeat}
#call-panel #call-notes:before{content:"";width:20px;height:20px;display:block;align-self:center;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203h14v18H5z%20M8%207h8%20M8%2011h8%20M8%2015h5%22/%3E%3C/svg%3E") center/contain no-repeat}
#call-panel #call-return:before{content:"";width:20px;height:20px;display:block;align-self:center;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%204h18v13H9l-6%204V4%22/%3E%3C/svg%3E") center/contain no-repeat}
#call-panel #call-end:before{content:"";width:20px;height:20px;display:block;align-self:center;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2014c5-6%2013-6%2018%200l-3%204-4-3v-3h-4v3l-4%203z%22/%3E%3C/svg%3E") center/contain no-repeat}

/* Shared narrow-screen constraints: fix children, not horizontal body clipping. */
.content { padding-inline:clamp(1rem,3vw,2rem); }
.card .card { padding:clamp(.75rem,2vw,1rem); }
.card,fieldset,.form-grid>* ,.two-col>* { min-inline-size:0; }
fieldset { max-width:100%; }
label,.badge,.uploaded-file>div,.config-summary dd,.claim-dl dd { min-width:0; overflow-wrap:anywhere; }
button,.button { white-space:normal; overflow-wrap:break-word; }
.content :is(h1,h2,h3,input,textarea,select,[role=alert]) { scroll-margin-block:1rem; }
.queue-summary { padding:1rem 1.2rem; margin-bottom:1rem; }
.queue-summary h2 { margin-bottom:.25rem; }
.queue-explanation summary { min-height:44px; padding-block:.6rem; cursor:pointer; font-size:.85rem; }
.queue-group { padding-block:.5rem; margin-bottom:.75rem; }
.queue-group>p,.queue-group .empty { padding:.5rem 0; min-height:0; }
.queue-group .empty p { margin:0; }
@media(max-width:767px) {
 .application-nav { position:static; padding:.75rem 0; background:transparent; border:0; backdrop-filter:none; }
 
 .sidebar { padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right)); }
 .university-chip { grid-template-columns:minmax(0,1fr) 44px 44px; }
 .university-chip button { font-size:.75rem; }
 .declaration-card { padding:1rem; }
 .application-progress-head h2 { font-size:1.25rem; }
 .application-progress { padding:1rem; }
}

.nav-close { display:none!important; }
.public-nav.open .nav-close,#workspace-nav.open .nav-close { display:flex!important; width:auto; min-height:44px; align-items:center; justify-content:center; margin:0 0 .5rem auto; padding:.5rem .8rem; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); color:var(--ink); font:inherit; cursor:pointer; }

/* Compact empty queue groups without merging dispatch categories. */
.queue-columns { gap:.5rem; align-content:start; }
.queue-group { padding:.5rem 0; margin-bottom:.5rem; }
.queue-group>h2 { margin-bottom:.4rem; }
.queue-group>p { margin:0; padding:0; }
.queue-summary,.queue-offers { padding:1rem; }
.queue-explanation { margin:.25rem 0 0; }
.queue-offers>h2 { margin-bottom:.5rem; }

/* Workspace focus restoration must not animate the page away from its saved scroll position. */
html:has(body.secure-site) { scroll-behavior:auto; }
/* EFT review remains readable at narrow widths without clipping controls. */
.eft-facts{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,2fr);gap:.45rem 1rem;margin:1rem 0}
.eft-facts dt{font-weight:600}.eft-facts dd{margin:0;overflow-wrap:anywhere}
.eft-review-row{min-width:0}.eft-review-row .toolbar{flex-wrap:wrap}
[data-eft-editor] form,[data-scheme-receipt],[data-receipt-allocation]{min-width:0}
[data-receipt-allocation] h4{overflow-wrap:anywhere}
[data-receipt-allocation] input,[data-receipt-allocation] textarea{max-width:100%;box-sizing:border-box}
@media(max-width:480px){.eft-facts{grid-template-columns:minmax(0,1fr)}.eft-facts dd{margin-bottom:.5rem}.eft-review-row .toolbar>button{max-width:100%;white-space:normal;overflow-wrap:anywhere;min-height:44px}}

/* Independent remuneration controls keep each funding method and hour band visible. */
.remuneration-settings{min-width:0}
.remuneration-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0}
.remuneration-tabs>button{min-width:0;min-height:48px;margin:0;padding:.7rem .5rem;white-space:normal;overflow-wrap:anywhere}
.remuneration-tabs>button[aria-selected=false]{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong)}
.remuneration-tabs>button[aria-selected=true]{box-shadow:inset 0 -3px 0 currentColor}
.remuneration-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.remuneration-period{min-width:0;margin:0;padding:1rem}
.remuneration-period legend{font-weight:750;padding:0 .35rem}
.remuneration-period h4{margin:1rem 0 .75rem}
.remuneration-rate input,.remuneration-rate select,.remuneration-period input{max-width:100%;box-sizing:border-box;min-height:44px}
.remuneration-settings [hidden]{display:none!important}
.remuneration-options{margin:1rem 0;padding:.75rem 0;border-top:1px solid var(--line)}
.remuneration-options>summary{min-height:44px;cursor:pointer;font-weight:650;padding:.5rem 0}
.remuneration-options[open]>summary{margin-bottom:.5rem}
.remuneration-options label:has(input[type=checkbox]){min-height:44px;display:flex;align-items:center;gap:.7rem}
@media(max-width:700px){.remuneration-periods{grid-template-columns:minmax(0,1fr)}.remuneration-settings{padding:1rem}.remuneration-tabs>button{font-size:.85rem}.remuneration-period{padding:.8rem}}

#call-panel.call-canvas .call-feedback{position:absolute;inset:12px 12px auto auto;z-index:3;display:grid;justify-items:end;gap:4px;max-width:calc(100% - 126px);pointer-events:none}
#call-panel.call-canvas #remote-video-status:not([hidden]){display:block;margin:0;padding:.5rem .72rem;width:fit-content;border-radius:8px;background:#18323b;color:#fff;font-size:.9rem;line-height:1.4}
#call-panel.call-canvas .call-feedback #call-reconnect:not([hidden]){display:block;pointer-events:auto;width:auto;min-height:44px;margin:0;padding:.35rem .75rem;background:#f2f8fa;color:#173949;border:1px solid #597781;border-radius:8px}
#call-panel.call-canvas .call-feedback [hidden]{display:none!important}

#call-panel.call-canvas #remote-video-status[data-level=poor]{background:#553916;color:#fff1cd;border:1px solid #dca44b}
#call-panel.call-canvas #remote-video-status[data-level=reconnecting]{background:#193e57;color:#f0f8ff;border:1px solid #88badc}
#call-panel.call-canvas #remote-video-status[data-level=lost]{background:#552b32;color:#fff1f2;border:1px solid #e5989e}
#call-panel.call-canvas.call-minimized .call-feedback{position:relative;inset:auto;justify-items:start;max-width:100%;margin:.25rem 0}

/* R70: truthful queue feedback and restrained transitions. */
.r70-queue-feedback { min-height:1.5em; color:var(--muted); display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.r70-queue-feedback button { margin:0; }
[data-claim-register][aria-busy="true"] .r70-queue-rows,
[data-claim-handoffs][aria-busy="true"] .handoff-register { opacity:.72; }
[data-claim-register] .r70-queue-rows,
[data-claim-handoffs] .handoff-register { transition:opacity .16s ease; }
[data-claim-register] td p { margin:.25rem 0; }
[data-claim-view], [data-claim-refresh], [data-board-refresh] { transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease; }
@media (prefers-reduced-motion:reduce) {
 [data-claim-register] .r70-queue-rows,[data-claim-handoffs] .handoff-register,
 [data-claim-view],[data-claim-refresh],[data-board-refresh] { transition:none; }
}
.r70-count-review { display:block; margin-top:.35rem; font-size:.875rem; line-height:1.45; }
