[hidden] {
  /* biome-ignore lint/complexity/noImportantStyles: Visibility of offline and install controls overrides layout display. */
  display: none !important;
}
#pwa-status {
  position: sticky;
  top: 0;
  z-index: 1100;
  padding: 12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));
  background: #ffdf80;
  color: #262000;
  font-weight: bold;
  border-block: 2px solid #715400;
}
.pwa-help {
  font:
    1rem / 1.6 system-ui,
    sans-serif;
  margin: 0;
  color: #242424;
  background: #fff;
}
.pwa-help main {
  max-width: 48rem;
  margin: auto;
  padding: 20px;
}
.pwa-help a {
  color: #673468;
}
.pwa-help button {
  padding: 12px 16px;
  font: inherit;
}
body {
  padding-bottom: env(safe-area-inset-bottom);
}
@media (max-width: 767px) {
  #header {
    padding-inline: max(16px, env(safe-area-inset-left));
    gap: 12px;
  }
  #content {
    padding: 16px;
    min-width: 0;
  }
  #user-tools,
  .admin-language-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
  }
  :is(.object-tools, .pwa-help, #user-tools) a,
  #user-tools button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  input:not([type="checkbox"], [type="radio"], [type="hidden"]),
  select,
  textarea {
    font-size: 16px;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 44px;
  }
  :is(button, input[type="submit"], summary) {
    min-height: 44px;
  }
  .select2-container--admin-autocomplete {
    min-width: 0;
    max-width: 100%;
  }
  .form-row,
  .form-row > div {
    min-width: 0;
  }
  .tabular,
  #minister_detail,
  .directory-details {
    max-width: 100%;
    overflow-x: auto;
  }
  #course {
    display: block;
    overflow-x: auto;
    max-width: 100%;
  }
  :is(#minister_detail, .directory-details) td {
    overflow-wrap: anywhere;
  }
  #minister_detail img,
  .directory-photo {
    max-width: 100%;
    height: auto;
  }
}
/* Compact app management follows the admin theme, including dark mode. */
#pwa-controls {
  display: flex;
  flex-wrap: wrap;
  padding: 8px 20px;
  gap: 12px;
  align-items: center;
  font-size: 0.8125rem;
  border-top: 1px solid var(--hairline-color, #ddd);
}
:is(#pwa-controls, .pwa-settings-main, .offline-management) button {
  font: inherit;
  color: var(--link-fg, #417690);
  background: var(--body-bg, #fff);
  border: 1px solid var(--border-color, #ccc);
  border-radius: 4px;
  padding: 6px 10px;
  cursor: pointer;
}
.pwa-settings-main {
  max-width: 64rem;
}
.pwa-setting-group {
  margin: 12px 0;
  padding: 10px 14px;
  border: 1px solid var(--hairline-color);
  border-radius: 4px;
}
.pwa-setting-group summary,
.offline-options summary {
  cursor: pointer;
  font-weight: 600;
}
.pwa-settings #offline-yearbooks {
  margin-block: 12px;
}
.offline-yearbook-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 0 0 12px;
}
.offline-yearbook-tabs a {
  padding: 8px 12px;
  border: 1px solid var(--hairline-color);
  border-radius: 4px;
}
.offline-yearbook-tabs a[aria-current="page"] {
  background: var(--selected-bg);
  font-weight: 600;
}
.offline-download-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: var(--darkened-bg);
  border-block: 1px solid var(--hairline-color);
}
.offline-download-row label {
  margin: 0;
  font-size: 0.8125rem;
}
#offline-passphrase {
  width: min(100%, 16rem);
  padding: 7px 9px;
  font: inherit;
}
.offline-options {
  flex-basis: 100%;
  padding-top: 4px;
}
.offline-options summary {
  font-size: 0.8125rem;
}
.offline-options .help {
  max-width: 48rem;
}
.offline-header-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.8125rem;
}
.offline-changelist #changelist {
  display: block;
}
.offline-changelist #offline-yearbooks {
  margin: 0;
  width: 100%;
}
.offline-changelist #offline-yearbooks > :not(.results) {
  margin-inline: 12px;
}
.offline-changelist .offline-download-row {
  margin-inline: -12px;
}
.offline-list-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 0;
}
#offline-search {
  width: min(100%, 22rem);
  padding: 7px 9px;
  font: inherit;
}
#offline-results {
  overflow-x: auto;
  max-width: 100%;
}
#offline-results #result_list {
  width: 100%;
}
#offline-results #result_list th,
#offline-results #result_list td {
  vertical-align: middle;
}
#offline-results button {
  font: inherit;
  cursor: pointer;
  color: var(--link-fg);
  background: transparent;
  border: 0;
  padding: 4px;
  text-align: start;
}
#offline-results button:focus-visible {
  outline: 2px solid var(--link-fg);
  outline-offset: 2px;
}
#offline-results td dl {
  display: grid;
  grid-template-columns: minmax(7rem, 25%) minmax(0, 1fr);
  gap: 8px 16px;
  margin: 8px;
}
#offline-results dd {
  overflow-wrap: anywhere;
}
#offline-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
}
#offline-pagination button {
  font: inherit;
  padding: 5px 9px;
  color: var(--link-fg);
  background: var(--body-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px;
}
@media (max-width: 767px) {
  .offline-download-row {
    align-items: stretch;
  }
  #offline-passphrase {
    width: 100%;
  }
  .offline-download-row > label {
    flex-basis: 100%;
  }
  .offline-management button,
  #offline-pagination button,
  #pwa-controls button {
    min-height: 44px;
  }
  #offline-results td dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}
