/* Shared OPAT artwork and optional install help; no clinical layout replacement. */
.brand-logo { width: 48px; height: 48px; flex: 0 0 auto; object-fit: contain; border-radius: 12px; }
.mobile-brand { display: none; }
.public-header-actions { display: flex; align-items: center; gap: 14px; }
button.nav-link.install-help { width: 100%; border: 0; background: transparent; text-align: left; font-family: inherit; cursor: pointer; }
button.nav-link.install-help:hover { background: #22433d; }
.install-card { display: flex; align-items: center; gap: 16px; padding: 18px 20px; margin: 0 auto 26px; max-width: 1080px; border: 1px solid #cadbd5; border-radius: 14px; background: #f0f6f3; }
.install-card img { flex: 0 0 auto; border-radius: 10px; }
.install-card strong { font-size: 14px; color: var(--ink); }
.install-card p { margin: 4px 0 0; font-size: 12px; line-height: 1.6; }
.install-card-actions { display: flex; gap: 8px; flex: 0 0 auto; margin-left: auto; align-items: center; }
.install-later { background: transparent; }
.install-dialog { width: min(540px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); border: 1px solid var(--line); border-radius: 20px; padding: 28px; color: var(--ink); background: #fff; box-shadow: 0 20px 90px #10241b40; overflow: auto; }
.install-dialog::backdrop { background: #13282099; }
.install-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 18px; }
.install-dialog-heading img { border-radius: 15px; }
.install-dialog h2 { font-size: 25px; }
.install-dialog p, .install-dialog li { font-size: 14px; line-height: 1.7; }
.install-dialog details { border-top: 1px solid var(--line); padding: 14px 0; }
.install-dialog summary { font-size: 14px; font-weight: 650; cursor: pointer; min-height: 24px; }
.install-dialog ol { padding-left: 22px; margin-bottom: 0; }
.install-dialog details p { margin-bottom: 0; }
.install-dialog .install-footnote { color: var(--muted); font-size: 12px; margin: 14px 0 0; }
#opat-install-status:empty { display: none; }
[data-install-control][hidden], #opat-native-install[hidden] { display: none !important; }
@media (max-width: 1150px) { .install-card { flex-wrap: wrap; } .install-card-actions { margin-left: 64px; } .install-card > div:not(.install-card-actions) { flex: 1; min-width: 150px; } }
@media (max-width: 900px) { .mobile-brand { display: flex; flex: 0 0 auto; } .mobile-brand img { width: 32px; height: 32px; border-radius: 8px; } .breadcrumb { min-width: 0; } }
@media (max-width: 600px) {
  .top-actions .demo-tag, .public-header-actions .demo-tag { display: none; }
  .public-header { gap: 12px; }
  .public-header .brand { gap: 8px; font-size: 21px; }
  .public-header .brand small { font-size: 7px; letter-spacing: .5px; }
  .public-header .brand-logo { width: 40px; height: 40px; }
  .public-header-actions { flex: 0 0 104px; }
  .public-header-actions .install-help { white-space: normal; padding: 9px; line-height: 1.4; font-size: 11px; }
  .install-card { padding: 16px; gap: 12px; margin-bottom: 22px; }
  .install-card-actions { margin-left: 0; width: 100%; flex-wrap: wrap; }
  .install-dialog { padding: 22px; }
}
@media (display-mode: standalone), (display-mode: fullscreen) {
  body { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
  .shell { min-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  [data-install-control] { display: none !important; }
}
