/* Shared option-bar UI for report and utility pages. */
.standard-options {
  box-sizing: border-box !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  margin: 16px auto !important;
  padding: 10px 12px !important;
  border: 1px solid #a9c5df !important;
  border-radius: 10px !important;
  background: #dceaf7 !important;
  box-shadow: 0 4px 12px rgba(31, 78, 121, .14) !important;
  color: #1f4e79;
  font-family: Arial, "Khmer OS Battambang", sans-serif !important;
  overflow: visible !important;
  white-space: normal !important;
}
.standard-options:not([hidden]) { display: flex; flex-wrap: wrap !important; }
.standard-options:has(>.toolbar-inner) { display: block; }
.standard-options .toolbar-inner { gap: 10px !important; align-items: center !important; }
.standard-options select,
.standard-options input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
.standard-options button,
.standard-options summary,
.standard-options .upload-button {
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 7px !important;
  padding: 8px 12px !important;
  font-family: Arial, "Khmer OS Battambang", sans-serif !important;
  font-size: 15px !important;
  line-height: normal !important;
}
.standard-options select,
.standard-options input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]) {
  background: #fff !important;
  border: 1px solid #b9d1e7 !important;
  color: #1f4e79 !important;
}
.standard-options>select { width: 220px !important; min-width: 0 !important; }
.standard-options>input[type="date"] { width: 170px !important; }
.standard-options button,
.standard-options summary,
.standard-options .upload-button {
  background: #1f4e79 !important;
  border: 0 !important;
  color: #fff !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.standard-options button:hover,
.standard-options summary:hover,
.standard-options .upload-button:hover { background: #163a59 !important; }
.standard-options button:disabled { opacity: .55; cursor: not-allowed; }
.standard-options :is(select,input,button,summary,.upload-button):focus-visible { outline: 2px solid #0070c0; outline-offset: 2px; }
.standard-options .print-button { min-width: 110px; }
.standard-options .date-picker { background: transparent !important; border: 0 !important; padding: 0 !important; color: #1f4e79 !important; }
.standard-options :is(.image-tools-menu,.score-image-menu,.ranking-image-menu,.schooldata-menu,.print-menu:not(details),.image-options,.print-options) {
  border: 1px solid #b8c6d8 !important;
  border-radius: 7px !important;
  padding: 7px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px #0003 !important;
}
.standard-options [hidden] { display: none !important; }
/* One scrolling row, pinned below the site header on every screen size. */
@media screen {
  .standard-options.standard-options:not([hidden]) {
    position: sticky !important;
    top: var(--options-top, 89px) !important;
    z-index: 900 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: safe center !important;
    width: var(--options-width, calc(100vw - 24px)) !important;
    max-width: var(--options-width, calc(100vw - 24px)) !important;
    margin-left: var(--options-margin-left, 0px) !important;
    margin-right: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    scrollbar-width: thin;
  }
  .standard-options.standard-options.options-pinned:not([hidden]) {
    position: fixed !important;
    left: var(--options-left) !important;
    width: var(--options-width) !important;
    max-width: var(--options-width) !important;
    margin: 0 !important;
  }
  .options-placeholder { visibility: hidden; pointer-events: none; }
  .standard-options.standard-options>.toolbar-inner,
  .standard-options.standard-options :is(.toolbar-actions,.print-actions,.layout-controls) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    grid-template-areas: none !important;
    gap: 10px !important;
    width: max-content !important;
    min-width: max-content !important;
    align-items: center !important;
  }
  .standard-options.standard-options>*,
  .standard-options.standard-options>.toolbar-inner>* {
    flex: 0 0 auto !important;
    grid-area: auto !important;
    grid-column: auto !important;
    width: auto;
    max-width: none !important;
  }
  .standard-options.standard-options select { width: 220px !important; min-width: 150px !important; }
  .standard-options.standard-options input[type="date"] { width: 170px !important; min-width: 150px !important; }
  .standard-options.standard-options input[type="search"] { width: 320px !important; min-width: 200px !important; }
  .standard-options.standard-options button,
  .standard-options.standard-options summary { width: auto !important; white-space: nowrap !important; }
  .standard-options.standard-options .control-box { min-width: 170px !important; }
  .standard-options.standard-options .date-picker { width: auto !important; flex-wrap: nowrap !important; }
  .standard-options .options-floating-menu { position: fixed !important; z-index: 2000 !important; max-height: 65vh; overflow-y: auto; }
}
@media print {
  .standard-options,.options-placeholder { display: none !important; }
}
/* Consistent page background around white work panels. */
@media screen {
  body { background: #eef3f8 !important; }
  :is(.sheet,.certificate,.paper,.card,.panel,.report-a4-sheet,.score-a4-sheet,.a4-preview-sheet),
  #pages>.empty,
  .notice {
    background: #fff !important;
  }
}
/* Match the certificate page's 16px gap below the site menu. */
@media screen {
  .standard-options.standard-options:not([hidden]):not(.options-pinned) {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  :is(.page,.card,.panel,.attendance-page,main):has(>.standard-options),
  :is(.page,main):has(>:is(.card,.panel)>.standard-options) {
    padding-top: 0 !important;
    margin-top: 0 !important;
    display: flow-root;
    overflow: visible !important;
  }
}
/* Option bars scroll with the page; phone controls fit without horizontal scrolling. */
@media screen {
  .standard-options.standard-options:not([hidden]) {
    position: relative !important;
    top: auto !important;
  }
}
@media screen and (max-width: 700px) {
  .standard-options.standard-options.standard-options:not([hidden]),
  .standard-options.standard-options.standard-options>.toolbar-inner,
  .standard-options.standard-options.standard-options :is(.toolbar-actions,.print-actions,.layout-controls) {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-areas: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 10px !important;
  }
  .standard-options.standard-options.standard-options:not([hidden]) {
    width: var(--options-width,calc(100vw - 24px)) !important;
    max-width: var(--options-width,calc(100vw - 24px)) !important;
    overflow: visible !important;
    padding: 10px !important;
    white-space: normal !important;
  }
  .standard-options.standard-options.standard-options>*,
  .standard-options.standard-options.standard-options .toolbar-inner>* {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-area: auto !important;
    grid-column: auto !important;
  }
  .standard-options.standard-options.standard-options :is(select,button,summary,.upload-button),
  .standard-options.standard-options.standard-options input:not([type="file"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
  }
  .standard-options.standard-options.standard-options .date-picker {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: 100% !important;
  }
  .standard-options.standard-options.standard-options .control-box { min-width: 0 !important; }
  .standard-options.standard-options.standard-options button { white-space: normal !important; }
  .standard-options.standard-options.standard-options .options-floating-menu button { height: auto !important; }
}
@media screen {
  .standard-options.standard-options[data-options-sticky] { z-index: 40 !important; }
  .standard-options.standard-options[data-options-sticky].options-pinned:not([hidden]) {
    position: fixed !important;
    top: var(--options-top) !important;
    left: var(--options-left) !important;
    width: var(--options-width) !important;
    max-width: var(--options-width) !important;
    margin: 0 !important;
  }
}
/* Static option bars pass behind the site's sticky navigation while scrolling. */
@media screen {
  .standard-options.standard-options[data-options-static]:not([hidden]) {
    position: relative !important;
    top: auto !important;
    z-index: 40 !important;
  }
}
/* All option bars scroll away underneath the site navigation. */
@media screen {
  .standard-options.standard-options.standard-options:not([hidden]) {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
  }
}