/* V210: reliable, accessible student bottom navigation and quick menu */
@media (max-width: 760px) {
  .portal.student-app-shell-v164 .content {
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }
  .portal.student-app-shell-v164 .mobile-bottom-nav {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    min-height: 68px !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 6px !important;
    border: 1px solid rgba(218, 227, 239, .98) !important;
    border-radius: 23px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 10px 34px rgba(14, 37, 66, .18) !important;
    z-index: 1200 !important;
    isolation: isolate !important;
    box-sizing: border-box !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
  }
  .portal.student-app-shell-v164 .mobile-nav-item {
    display: flex !important;
    min-width: 0 !important;
    min-height: 54px !important;
    width: 100% !important;
    padding: 5px 2px !important;
    border: 1px solid transparent !important;
    border-radius: 15px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    overflow: hidden !important;
    background: transparent !important;
    color: #64748b !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
  }
  .portal.student-app-shell-v164 .mobile-nav-item span {
    display: block !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }
  .portal.student-app-shell-v164 .mobile-nav-item small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: inherit !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .portal.student-app-shell-v164 .mobile-nav-item.active {
    color: #87631f !important;
    background: #fbf2d9 !important;
    border-color: #ead7a0 !important;
    box-shadow: inset 0 0 0 1px rgba(234,215,160,.22) !important;
  }
  .portal.student-app-shell-v164 .mobile-nav-item:focus-visible {
    outline: 3px solid #d7ad3d !important;
    outline-offset: 1px !important;
  }
}
@media (max-width: 380px) {
  .portal.student-app-shell-v164 .mobile-bottom-nav { left: 7px !important; right: 7px !important; gap: 2px !important; padding: 5px !important; }
  .portal.student-app-shell-v164 .mobile-nav-item span { font-size: 19px !important; }
  .portal.student-app-shell-v164 .mobile-nav-item small { font-size: 8px !important; }
}
.student-quick-menu-backdrop-v210 {
  position: fixed; inset: 0; z-index: 2200; display: flex; align-items: flex-end; justify-content: center;
  padding: 16px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(6, 18, 36, .48); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px);
}
.student-quick-menu-sheet-v210 {
  width: min(560px, 100%); max-height: min(78dvh, 720px); overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid #e1e8f1; border-radius: 26px; padding: 12px 16px 16px; background: #fff; color: #102541;
  box-shadow: 0 24px 80px rgba(3, 20, 43, .25); animation: studentQuickMenuInV210 .18s ease-out;
}
.student-quick-menu-grabber-v210 { width: 42px; height: 4px; margin: 0 auto 13px; border-radius: 99px; background: #d5deea; }
.student-quick-menu-head-v210 { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.student-quick-menu-head-v210 small { color: #a17a18; font-size: 10px; font-weight: 900; letter-spacing: 1.5px; }
.student-quick-menu-head-v210 h3 { margin: 3px 0 0; color: #102541; font-size: 23px; }
.student-quick-menu-close-v210 { flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #e2e8f0; border-radius: 13px; background: #f8fafc; color: #334155; font-size: 25px; cursor: pointer; }
.student-quick-menu-grid-v210 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.student-quick-menu-item-v210 { display: grid; grid-template-columns: 37px minmax(0,1fr) 12px; align-items: center; gap: 9px; min-height: 58px; padding: 9px; border: 1px solid #e3eaf3; border-radius: 15px; background: #fff; text-align: left; color: #183452; cursor: pointer; }
.student-quick-menu-item-v210:hover,.student-quick-menu-item-v210:focus-visible { border-color: #d9b34c; background: #fffcf2; outline: none; }
.student-quick-menu-item-v210 span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: #eef4fb; font-size: 19px; }
.student-quick-menu-item-v210 b { min-width: 0; font-size: 12px; line-height: 1.25; overflow-wrap: anywhere; }
.student-quick-menu-item-v210 strong { color: #bd941f; font-size: 20px; }
.student-quick-menu-logout-v210 { width: 100%; min-height: 44px; margin-top: 12px; border: 1px solid #f0d5d5; border-radius: 13px; background: #fff7f7; color: #a63131; font-size: 13px; font-weight: 800; cursor: pointer; }
@keyframes studentQuickMenuInV210 { from { transform: translateY(18px); opacity: .6; } to { transform: translateY(0); opacity: 1; } }
@media (min-width: 761px) { .student-quick-menu-backdrop-v210 { align-items: center; } }
@media (max-width: 360px) { .student-quick-menu-sheet-v210 { padding: 10px; border-radius: 21px; } .student-quick-menu-grid-v210 { gap: 7px; } .student-quick-menu-item-v210 { grid-template-columns: 30px minmax(0,1fr) 10px; gap: 6px; padding: 7px; } .student-quick-menu-item-v210 span { width: 30px; height: 30px; font-size: 16px; } .student-quick-menu-item-v210 b { font-size: 11px; } }
