/* Staff installation controls and containment for narrow app windows. */
.staff-install-card { margin: 1rem 0; padding: 1rem; border: 1px solid #d5dfc8; border-radius: 12px; background: #f8fff0; }
.staff-install-card p { margin: .5rem 0 .8rem; line-height: 1.5; }
.staff-app-button { background: #fff; color: #405922; border: 1px solid #5d7e31; border-radius: 9px; padding: .7rem 1rem; font: inherit; font-weight: 700; cursor: pointer; min-height: 44px; white-space: normal; }
.staff-app-button:focus-visible, #staff-app-dialog a:focus-visible { outline: 3px solid #405922; outline-offset: 3px; }
.staff-app-button:disabled { opacity: .6; cursor: wait; }
#staff-app-dialog { width: min(540px, calc(100% - 32px)); max-height: calc(100dvh - 48px); padding: 1.5rem; border: 1px solid #d5dfc8; border-top: 5px solid #5d7e31; border-radius: 16px; color: #20251b; background: white; overflow: auto; }
#staff-app-dialog::backdrop { background: rgb(20 35 12 / 55%); }
#staff-app-dialog h2 { margin: .7rem 0; font-size: 1.6rem; }
#staff-app-dialog p, #staff-app-dialog li { line-height: 1.6; }
#staff-app-dialog li { margin-bottom: .6rem; }
.staff-dialog-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.staff-dialog-top img { border-radius: 12px; }
.staff-dialog-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.staff-app-notice { position: fixed; z-index: 100; bottom: max(12px, env(safe-area-inset-bottom)); left: 12px; right: 12px; max-width: 620px; margin: 0 auto; padding: 1rem; border: 2px solid #5d7e31; border-radius: 12px; background: #fff; box-shadow: 0 4px 24px #20251b33; }
.staff-app-notice p { margin: 0 0 .6rem; line-height: 1.5; }
.staff-app-notice button { margin-right: .6rem; }
.staff-app-notice[hidden], #staff-app-dialog [hidden] { display: none !important; }
.workspace, .content, .panel, .record-card, .dashboard-grid > *, .two-column > * { min-width: 0; }
.record-card p, .record-card small, .evidence-chip, .language-message { overflow-wrap: anywhere; }
.panel input, .panel select, .panel textarea { max-width: 100%; min-width: 0; }
.sidebar { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
@media (max-width: 820px) {
  .login-panel { display: flex; flex-direction: column; align-items: stretch; }
  .staff-install-card { width: 100%; max-width: 480px; align-self: center; }
  .topbar { flex-wrap: wrap; padding-top: max(.75rem, env(safe-area-inset-top)); }
  .topbar-left { flex: 1 1 220px; min-width: 0; }
  .topbar-actions { flex-wrap: wrap; }
  .content { padding-left: max(1rem, env(safe-area-inset-left)); padding-right: max(1rem, env(safe-area-inset-right)); }
}
@media (max-width: 560px) {
  .topbar h2 { max-width: none; }
  .topbar-actions { width: 100%; justify-content: flex-end; }
  .panel input, .panel select, .panel textarea, .login-card input { font-size: 16px; }
}
