/* MyFD demonstration wrapper; clinical source styling stays unchanged. */
.myfd-demo-links { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:8px; }
.myfd-demo-links a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.preview-banner { line-height:1.55; }
.library-shortcuts { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.library-icon-button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid var(--ui-border-strong); border-radius:8px; background:var(--ui-surface); color:var(--ui-text); }
.library-icon-button:hover { background:var(--ui-canvas); }
.library-icon-button img { display:block; width:28px; height:28px; object-fit:contain; }
.library-footer { flex-wrap:wrap; align-items:center; }
.library-footer-links { display:flex; flex-wrap:wrap; gap:12px; }
.library-footer-links a { margin:0; padding:10px 0; }
.quick-section[hidden] { display:none; }
.demo-info-list { padding-left:22px; line-height:1.65; }
/* Checked answers remain reading material even when selection is locked. */
.answer-option:disabled { color:var(--ui-text); opacity:1; cursor:default; }
.original-pages { margin-bottom:24px; }
.original-pages>h2 { margin:0 0 16px; }
.original-pages>[data-toggle-originals] { min-height:44px; margin-top:8px; }
.protocol-book { min-width:0; }
.book-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.book-toolbar p { margin:0; font-weight:700; }
.book-viewport { max-height:70dvh; overflow:auto; padding:16px; background:var(--ui-subtle); border:1px solid var(--ui-border); border-radius:10px; overscroll-behavior:contain; }
.book-paper { position:relative; width:fit-content; max-width:100%; margin:auto; background:var(--ui-surface); box-shadow:0 2px 10px color-mix(in srgb, var(--ui-shadow) 12%, transparent); }
.book-paper img { display:block; max-width:100%; max-height:65dvh; width:auto; height:auto; margin:auto; }
.book-load-status { margin:0; padding:8px 12px; font-size:14px; }
.book-load-status:empty { display:none; }
.book-zoomed .book-paper { max-width:none; }
.book-zoomed .book-paper img { max-width:none; max-height:none; width:1102px; }
.book-controls { padding:18px 0 8px; }
.book-turn { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.book-jump { display:flex; align-items:center; gap:8px; margin:0; }
.book-jump label { font-weight:700; }
.book-jump input { width:76px; min-width:0; min-height:44px; border:1px solid var(--ui-border-strong); border-radius:6px; padding:8px; color:var(--ui-text); background:var(--ui-surface); font:inherit; }
.book-controls .button,.book-toolbar .button { min-height:44px; }
.book-controls button:disabled { opacity:.45; cursor:default; }
.book-slider-label { display:block; margin-top:18px; font-weight:700; font-size:14px; }
.book-slider { display:block; width:100%; min-height:44px; margin:0; accent-color:#193341; cursor:pointer; }
.protocol-book :focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; }
#book-error { color:var(--ui-brand-text); }
@media(max-width:760px) {
  .sidebar { flex-direction:column; align-items:stretch; gap:0; padding:0; }
  .sidebar .brand { padding:10px 18px; font-size:18px; }
  .sidebar .brand img { width:30px; height:42px; object-fit:contain; }
  .sidebar nav { display:flex; gap:4px; width:100%; margin:0; padding:6px 12px; overflow-x:auto; background:var(--ui-surface); border-bottom:1px solid var(--ui-border); }
  .sidebar nav .nav-link { flex:0 0 auto; flex-direction:row; color:var(--ui-text); text-align:center; justify-content:center; min-height:44px; padding:8px 10px; line-height:1.3; font-size:13px; }
  .sidebar nav .nav-link .icon { width:18px; height:18px; }
  .sidebar nav .nav-link span { display:block; white-space:nowrap; }
  .sidebar nav .nav-link.active { background:var(--ui-subtle); color:var(--ui-text); box-shadow:inset 0 -3px var(--ui-shadow); }
  .sidebar nav .nav-link:hover { background:var(--ui-canvas); }
  .protocol-grid { grid-template-columns:minmax(0,1fr); }
  .protocol-card>div:last-child { min-width:0; overflow-wrap:anywhere; }
  .protocol-book .page-heading { flex-wrap:wrap; }
}
@media(max-width:600px) {
  .book-viewport { padding:6px; }
  .book-turn>[data-book-next] { margin-left:auto; }
  .book-jump { order:3; width:100%; justify-content:center; }
  .book-paper img { max-height:none; }
}
.study-layout select {
  -webkit-appearance:none; appearance:none;
  min-height:44px; padding:10px 36px 10px 12px;
  background-color:var(--ui-surface);
  background-image:linear-gradient(45deg,transparent 50%,var(--ui-strong) 50%),linear-gradient(135deg,var(--ui-strong) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;
  background-size:5px 5px; background-repeat:no-repeat;
}
@media(max-width:600px) {
  .topbar { flex-wrap:wrap; gap:10px; height:auto; min-height:64px; padding-top:12px; padding-bottom:12px; }
  .topbar>span { flex:1 1 150px; }
  .preview-banner { padding:14px 18px; }
  .myfd-demo-links { gap:10px 16px; }
  .button-row { flex-wrap:wrap; }
  .rhythm-strip { max-width:100%; height:auto; }
  dialog { width:min(92vw,520px); max-height:90dvh; overflow:auto; }
}
@media(max-width:360px) {
  .patient-bar .patient-kind { flex-basis:100%; }
  .patient-bar .weight-entry { width:100%; }
  .patient-bar .weight-input input { flex:1; min-width:0; }
}

.library-greeting { min-width:0; max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.library-greeting[hidden] { display:none; }
.library-icon-button { flex:0 0 44px; }
@media(max-width:1000px) {
  .topbar { flex-wrap:wrap; gap:10px; }
  .library-shortcuts { max-width:100%; margin-left:auto; min-width:0; }
  .library-greeting { max-width:220px; }
}
@media(max-width:600px) {
  .topbar:has(.library-greeting:not([hidden])) > span { flex-basis:100%; }
  .topbar:has(.library-greeting:not([hidden])) .library-shortcuts { width:100%; }
  .library-greeting { flex:1; max-width:none; }
}
.quick-grid { grid-auto-rows:1fr; }

/* Small form text triggers iPhone focus zoom, which can persist after opening a protocol.
   Keep controls readable without restricting the user's pinch zoom. */
@media(max-width:760px) {
  input,select,textarea,
  .search-box input,
  .field-label input,.field-label select,
  .patient-bar input,.patient-bar select,
  .book-jump input { font-size:16px; }
}

/* Personal shortcuts stay compact and keyboard/touch accessible. */
.quick-section[hidden],#quick-tool-cards[hidden],#quick-access-content[hidden]{display:none!important}
.quick-title{flex-wrap:wrap;gap:12px}.quick-title h2{margin:0}.quick-title p{margin:5px 0 0;color:var(--muted,var(--ui-muted));font-size:14px}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-actions .button,.quick-title>.button{min-height:44px}
.personal-quick-access{margin-top:28px}.quick-access-grid{display:grid;grid-template-columns:repeat(var(--shortcut-count,4),minmax(0,1fr));gap:12px}
.quick-protocol{display:flex;align-items:center;gap:12px;text-align:left;padding:18px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);text-decoration:none;min-width:0;font:inherit;min-height:100px}
.quick-protocol .icon{flex-shrink:0}.quick-protocol span{min-width:0}.quick-protocol small{display:block;color:var(--ui-muted);font-size:12px;margin-bottom:5px}.quick-protocol strong{display:block;overflow-wrap:anywhere;line-height:1.35}.quick-access-empty{margin:0;padding:18px 0;color:var(--muted,var(--ui-muted));line-height:1.5}
.quick-editor{margin-top:16px;padding:20px;background:var(--ui-canvas);border:1px solid var(--ui-border);border-radius:12px}.quick-editor h3{margin:0 0 8px}.quick-editor p{margin:0 0 16px}.tool-order{list-style:none;padding:0;margin:0}.tool-order li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ui-border)}.tool-order li>div{display:flex;gap:8px;flex-shrink:0}.quick-editor .button{min-height:44px}.quick-editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.shortcut-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shortcut-fields label{display:grid;gap:7px;min-width:0;font-weight:600}.shortcut-fields select{width:100%;min-width:0;max-width:100%;font-size:16px;min-height:48px;padding:10px;border:1px solid var(--ui-border-strong);border-radius:8px;background:var(--ui-surface);color:var(--ui-text)}.quick-save-status{font-size:13px;color:var(--ui-muted);margin:14px 0 24px}.quick-editor button:disabled{opacity:.45;cursor:default}
@media(max-width:1100px){.quick-access-grid{grid-template-columns:repeat(min(var(--shortcut-count,4),2),minmax(0,1fr))}}
@media(max-width:600px){.quick-title{align-items:flex-start}.quick-title>.button{margin-left:auto}.tool-order li{align-items:flex-start;flex-direction:column}.tool-order li>div{width:100%}.tool-order .button{flex:1}.shortcut-fields{grid-template-columns:1fr}.quick-editor{padding:16px}.quick-protocol{padding:14px;gap:8px}.quick-protocol .icon{width:20px;height:20px}.quick-protocol strong{font-size:14px}}

/* Compact category selection: only the chosen views occupy space. */
.protocol-filters{display:flex;align-items:flex-end;gap:10px 16px;flex-wrap:wrap;margin-bottom:12px}
 .category-picker{position:relative;width:260px;max-width:100%;min-width:0}
.category-trigger{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:12px 16px;border:1px solid var(--ui-info);border-radius:12px;background:var(--ui-info-solid);color:var(--ui-on-accent);font:inherit;font-size:15px;font-weight:600;box-shadow:0 2px 4px color-mix(in srgb, var(--ui-shadow) 7%, transparent);cursor:pointer;text-align:left}
.category-trigger:hover{background:var(--ui-info-solid)}.category-trigger>svg{flex-shrink:0}.category-trigger>span:first-of-type{flex:1}.category-count{padding:3px 8px;min-width:28px;border-radius:7px;background:color-mix(in srgb, var(--ui-on-accent) 11%, transparent);color:var(--ui-on-accent);text-align:center;font-size:12px;line-height:1.5}.category-chevron{opacity:.8;transition:transform .15s}.category-trigger[aria-expanded=true] .category-chevron{transform:rotate(180deg)}
.category-panel{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:max(100%,300px);max-width:calc(100vw - 36px);overflow:hidden;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 12px 35px color-mix(in srgb, var(--ui-shadow) 14%, transparent)}
.category-panel[hidden]{display:none}.category-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ui-border)}.category-panel-heading strong{font-size:14px}.category-clear{min-height:32px;padding:4px 8px;border:0;background:none;color:var(--ui-muted);font:inherit;font-size:13px;cursor:pointer}.category-clear:disabled{opacity:.4;cursor:default}
.category-options{max-height:min(308px,38dvh);overflow-y:auto;overscroll-behavior:contain;padding:6px}.category-option{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px;border-radius:8px;cursor:pointer;font-size:14px}.category-option:hover{background:var(--ui-canvas)}.category-option:has(input:checked){background:var(--ui-canvas);font-weight:600}.category-option input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:0;accent-color:#193341;cursor:pointer}
.category-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--ui-border);background:var(--ui-canvas)}.category-panel-footer>span{font-size:12px;color:var(--ui-muted)}.category-done{min-height:40px;padding:9px 20px;border:0;border-radius:8px;background:var(--ui-info-solid);color:var(--ui-on-accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.category-pills{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}.category-pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--ui-border);border-radius:24px;background:var(--ui-canvas);color:var(--ui-text);font:inherit;font-size:14px;cursor:pointer}.category-pill span{overflow-wrap:anywhere}.category-pill svg{flex-shrink:0;color:var(--ui-muted)}.category-pill:hover{background:var(--ui-subtle)}.category-picker :focus-visible,.category-pill:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.category-chevron{transition:none}}
.protocol-result-count{font-size:13px;color:var(--ui-muted);margin:0 0 16px}
.book-viewport{touch-action:pan-y pinch-zoom}.book-viewport.book-zoomed{touch-action:auto}
.book-spread{display:flex;justify-content:center;align-items:flex-start;gap:2px;min-width:0}
.book-spread .book-paper{width:min(100%,50.23dvh);flex:0 1 auto;min-width:0;margin:0;max-width:100%}
.book-spread-wide .book-paper{max-width:calc(50% - 1px)}
.book-spread .book-paper img{width:100%;height:auto;max-height:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.book-paper figcaption{text-align:center;font-size:12px;padding:6px;color:var(--ui-muted);border-top:1px solid var(--ui-border)}
.book-zoomed .book-spread{width:max-content;justify-content:flex-start}.book-zoomed .book-spread .book-paper{width:1102px;flex:none;max-width:none}
@media(min-width:1100px){.book-spread-wide .book-paper:first-child{box-shadow:inset -4px 0 8px color-mix(in srgb, var(--ui-shadow) 5%, transparent),0 2px 10px color-mix(in srgb, var(--ui-shadow) 12%, transparent)}.book-spread-wide .book-paper+ .book-paper{border-left:1px solid var(--ui-border)}}
@media(max-width:600px){.category-picker{width:100%}.category-panel{width:100%}.book-toolbar{flex-wrap:wrap}.book-toolbar p{font-size:14px}.book-controls{padding-top:12px}}

.book-paper .book-load-status{position:absolute;left:0;right:0;bottom:26px;background:color-mix(in srgb, var(--ui-surface) 95%, transparent)}
@media(max-width:600px){.book-spread .book-paper{width:100%}.book-zoomed .book-spread .book-paper{width:1102px}}

/* Compact, accessible controls and direct tile arrangement. */
.quick-actions .quick-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:10px;border-radius:10px}
.quick-icon-button svg{width:22px;height:22px;flex:none}.quick-actions .quick-finish{background:var(--ui-success-solid);border-color:var(--ui-success);color:var(--ui-on-accent)}.quick-actions .quick-finish:hover{background:var(--ui-success-solid)}
.quick-actions .button:disabled{opacity:.5;cursor:default}.quick-collapse{overflow:hidden}.quick-collapse[hidden]{display:none!important}
.quick-arrange-hint{font-size:13px;line-height:1.5;color:var(--ui-warning);margin:0 0 12px}
.quick-arranging .quick-move-tile{position:relative;width:100%;font:inherit;text-align:left;background:var(--ui-warning-bg);border:2px solid var(--ui-warning);color:var(--ui-text);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:background .16s,box-shadow .16s,transform .16s;padding-right:32px}
.quick-move-tile>span:not(.quick-grip){color:var(--ui-muted)}.quick-move-tile .quick-grip{position:absolute;right:10px;top:12px;color:var(--ui-warning)}.quick-grip svg{width:18px;height:22px}
.quick-arranging .quick-move-tile[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ui-shadow);background:var(--ui-warning-bg)}
.quick-arranging .quick-dragging{transform:scale(.97);background:var(--ui-warning-bg);cursor:grabbing;opacity:.82}
.quick-arranging .quick-drop-target{box-shadow:inset 0 0 0 3px var(--ui-shadow);background:var(--ui-warning-bg);transform:scale(1.02)}
.quick-move-tile:focus-visible,.quick-icon-button:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.quick-arranging .quick-move-tile{transition:none}.quick-arranging .quick-dragging,.quick-arranging .quick-drop-target{transform:none}}

.topbar .library-shortcuts{width:100%}.library-shortcuts .library-greeting{margin-right:auto}.quick-save-status:empty{display:none}

/* Keep protocol category icons visible in both tablet orientations. */
.protocol-card .category-mark{display:grid;flex-shrink:0}
.weight-adjustments{display:flex;align-items:center;gap:8px;margin-top:8px}.weight-adjustments>span{font-size:12px;color:var(--ui-on-strong-muted);margin-right:auto}.patient-bar .weight-step{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;padding:8px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-strong-border);border-radius:8px}.weight-step svg{width:22px;height:22px}.weight-step:disabled{opacity:.5}.patient-bar #weight{appearance:textfield}.patient-bar #weight::-webkit-inner-spin-button,.patient-bar #weight::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* Align patient fields independently from their helper/adjustment rows. */
.patient-bar,.patient-bar:has(.weight-conversion-result){display:grid;grid-template-columns:minmax(140px,1fr) minmax(240px,1.5fr) minmax(180px,1fr);gap:20px;align-items:start}
.patient-bar .patient-kind{grid-column:1;grid-row:1;width:100%;min-width:0}.patient-bar .weight-entry{grid-column:2;grid-row:1;width:100%;min-width:0}
.patient-bar .patient-kind select{width:100%}.patient-bar .weight-input input{flex:1;width:100%;min-width:0}.patient-bar .weight-input select{flex-shrink:0}
.patient-bar .converted,.patient-bar:has(.weight-conversion-result) .converted{grid-column:3;grid-row:1;max-width:none;min-width:0;margin:0;padding-top:24px;line-height:1.6}
.patient-bar .converted:has(.weight-conversion-result){padding-top:0}.patient-bar .weight-conversion-result{min-width:0;width:100%;margin:0}
.patient-bar .patient-actions{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;border-top:1px solid color-mix(in srgb, var(--ui-border) 15%, transparent);padding-top:16px}
.patient-bar .patient-actions>.button{flex:0 1 auto;width:auto;margin:0;min-height:44px;grid-column:auto;grid-row:auto}.patient-bar .patient-actions>.button[hidden]{display:none}
@media(max-width:900px){.patient-bar,.patient-bar:has(.weight-conversion-result){grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px}.patient-bar .converted,.patient-bar:has(.weight-conversion-result) .converted{grid-column:1/-1;grid-row:2;padding-top:0}.patient-bar .patient-actions{grid-row:3}}
@media(max-width:600px){.patient-bar,.patient-bar:has(.weight-conversion-result){grid-template-columns:minmax(0,1fr)}.patient-bar .patient-kind{grid-column:1;grid-row:1}.patient-bar .weight-entry{grid-column:1;grid-row:2}.patient-bar .converted,.patient-bar:has(.weight-conversion-result) .converted{grid-column:1;grid-row:3}.patient-bar .patient-actions{grid-row:4;justify-content:stretch}.patient-bar .patient-actions>.button{flex:1 1 auto}}

/* Pointer-following preview keeps the drop targets in their original positions. */
.quick-move-tile.quick-held{box-shadow:0 0 0 3px var(--ui-shadow),0 8px 20px color-mix(in srgb, var(--ui-shadow) 13%, transparent);cursor:grabbing}
.quick-drag-preview{position:fixed!important;z-index:10000;pointer-events:none!important;margin:0!important;box-sizing:border-box;background:var(--ui-warning-bg)!important;border:2px solid var(--ui-warning)!important;box-shadow:0 16px 36px color-mix(in srgb, var(--ui-shadow) 27%, transparent);opacity:.96;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px;border-radius:12px;will-change:transform}
.quick-drag-preview svg{width:30px;height:30px}.quick-drag-preview .quick-grip{display:none}.quick-drag-preview strong{font-size:18px}.quick-drag-preview>span{font-size:14px}
.quick-move-tile.quick-dragging{opacity:.32!important}
@media(prefers-reduced-motion:reduce){.quick-held,.quick-drag-preview{animation:none!important;transition:none!important}}

.report-control{display:flex;align-items:flex-end;flex-direction:column;gap:10px;margin-top:24px}.report-flag{border:0!important;border-radius:50%!important;width:44px;height:44px;min-height:44px;display:grid;place-items:center;background:var(--ui-brand)!important;color:var(--ui-on-accent)!important;cursor:pointer;padding:10px!important}.report-flag:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.report-form{width:min(100%,520px);padding:20px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface)}.report-form p{font-size:14px}.report-form label{display:grid;gap:8px;font-weight:600}.report-form textarea{min-height:110px;width:100%;font:inherit;font-size:16px;padding:10px}.report-form .actions{margin-top:14px}.report-control>p{font-size:14px}

.report-actions{display:flex;gap:10px;margin-top:14px}.report-form[hidden]{display:none}

/* Scoped navigation permissions and the RSI Quick Tool treatment. */
.nav-link[data-agency-admin][hidden]{display:none}
.quick-card.rsi{background:var(--ui-subtle);border-color:var(--ui-border)}
.quick-card.rsi>.icon:first-child{color:var(--ui-link)}

.brand > span{font-size:18px;letter-spacing:.025em}.brand img{object-fit:contain;max-height:80px}.brand-sub{font-size:10px}

/* Preserve the supplied logo; clip only its exterior white canvas. */
.sidebar .brand img{height:auto;aspect-ratio:261/300;clip-path:polygon(1% 9%,6% 7%,13% 5%,21% 3.5%,32% 1.8%,42% 1%,50% .8%,64% 1.7%,76% 3.5%,87% 5.5%,96.5% 8.5%,97% 50%,96% 60%,94% 66.5%,90% 73.5%,85% 80%,78% 86.5%,66% 93%,55% 97%,49% 98%,42% 96%,30% 91%,19% 84%,11% 75%,5% 65%,1% 55%);}
