/* BravesPass Phase 42B - Kiosk Fit-to-Screen Mode */

/* Goal: keep Phase 40/42 kiosk usable on one Chromebook screen without running under the taskbar. */

body.phase40-kiosk,
.kiosk-body.phase40-kiosk {
  overflow: hidden !important;
}

/* reduce overall shell height pressure */
.phase40-header {
  padding: 8px 18px !important;
  min-height: 48px !important;
}

.phase40-brand {
  font-size: clamp(24px, 2.7vw, 34px) !important;
}

.phase40-room {
  font-size: clamp(16px, 2vw, 23px) !important;
}

.phase40-main {
  height: calc(100vh - 72px) !important;
  min-height: 0 !important;
  padding: 10px 14px !important;
  gap: 12px !important;
  box-sizing: border-box !important;
}

.phase40-entry,
.phase40-current {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 14px 18px !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
}

.phase40-entry {
  display: flex !important;
  flex-direction: column !important;
}

/* student selected panel */
.phase40-student-card {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

.phase40-student-name {
  font-size: clamp(28px, 3.25vw, 48px) !important;
  margin-bottom: 2px !important;
  line-height: .98 !important;
}

.phase40-student-id {
  font-size: 15px !important;
  margin-bottom: 8px !important;
}

.phase40-entry h1,
.phase40-current h1 {
  font-size: clamp(25px, 3vw, 42px) !important;
  margin: 0 0 8px 0 !important;
  line-height: 1.05 !important;
}

.phase40-student-card h1 {
  font-size: clamp(21px, 2.4vw, 32px) !important;
  margin: 6px 0 8px 0 !important;
}

.phase40-sub {
  margin: -2px 0 10px 0 !important;
  font-size: 15px !important;
}

/* category screen */
.phase40-category-title {
  font-size: clamp(20px, 2.35vw, 32px) !important;
  margin: 5px 0 8px 0 !important;
  line-height: 1.05 !important;
}

.phase40-category-panel {
  min-height: 0 !important;
  overflow: hidden !important;
}

.phase40-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.phase40-category-btn {
  min-height: 76px !important;
  padding: 10px 8px !important;
  font-size: clamp(17px, 1.9vw, 25px) !important;
  border-radius: 15px !important;
}

/* destination section */
.phase40-category-sections {
  min-height: 0 !important;
  flex: 1 !important;
  overflow: hidden !important;
}

.phase40-dest-category-section.active {
  min-height: 0 !important;
  flex: 1 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.phase40-back-category {
  margin-bottom: 7px !important;
  padding: 9px 12px !important;
  font-size: 16px !important;
  border-radius: 13px !important;
}

.phase40-category-dest-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}

.phase40-category-dest-grid .phase40-dest-btn {
  min-height: 68px !important;
  padding: 8px 8px !important;
  font-size: clamp(16px, 1.75vw, 22px) !important;
  border-radius: 15px !important;
}

.phase40-category-dest-grid .phase40-dest-btn span {
  font-size: 12px !important;
  margin-top: 2px !important;
}

.phase40-cancel {
  margin-top: 8px !important;
  padding: 9px 12px !important;
  font-size: 16px !important;
  border-radius: 13px !important;
}

/* currently out side */
.phase40-current {
  display: flex !important;
  flex-direction: column !important;
}

.phase40-list {
  max-height: none !important;
  flex: 1 !important;
  overflow-y: auto !important;
  gap: 8px !important;
}

.phase40-empty {
  padding: 22px !important;
  font-size: 19px !important;
  border-radius: 18px !important;
}

.phase40-out-row {
  padding: 10px 12px !important;
  border-radius: 14px !important;
}

.phase40-out-name {
  font-size: clamp(18px, 2vw, 25px) !important;
}

.phase40-out-meta {
  font-size: 13px !important;
}

.phase40-out-timer {
  font-size: clamp(21px, 2.4vw, 32px) !important;
}

/* hide footer in kiosk fit mode to save vertical space */
.phase40-footer {
  display: none !important;
}

.phase40-toast {
  top: 58px !important;
  right: 12px !important;
  padding: 9px 14px !important;
  font-size: 16px !important;
}

/* search mode also tighter */
.phase40-search-box input,
.phase40-search-input {
  font-size: clamp(24px, 3.5vw, 42px) !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
}

.phase40-search-results {
  max-height: 48vh !important;
}

.phase40-result {
  padding: 12px 14px !important;
}

.phase40-result strong {
  font-size: clamp(19px, 2.1vw, 26px) !important;
}

/* If screen is very short, compact even more */
@media (max-height: 760px) {
  .phase40-main {
    height: calc(100vh - 60px) !important;
    padding: 8px 12px !important;
  }

  .phase40-header {
    padding: 6px 16px !important;
  }

  .phase40-student-name {
    font-size: clamp(25px, 3vw, 40px) !important;
  }

  .phase40-category-btn {
    min-height: 64px !important;
  }

  .phase40-category-dest-grid .phase40-dest-btn {
    min-height: 58px !important;
  }

  .phase40-entry h1,
  .phase40-current h1 {
    font-size: clamp(23px, 2.7vw, 36px) !important;
  }
}
