/* edo_linux_032：手機／平板下方快捷列＋「更多」面板（寬度 < 1200px，登入後） */
.mbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1035;
  display: flex; justify-content: space-around; align-items: stretch;
  background: rgba(255,255,255,.97); backdrop-filter: saturate(1.4) blur(8px);
  border-top: 1px solid var(--line, #d8e3ee);
  box-shadow: 0 -6px 20px rgba(11,31,58,.06);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.mbar-item {
  position: relative; flex: 1 1 0; min-width: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  padding: 7px 2px 6px; border: 0; background: none;
  color: #5b6b7f; font-size: .72rem; font-weight: 650; line-height: 1.1; text-decoration: none;
}
.mbar-item i { font-size: 1.32rem; line-height: 1; }
.mbar-item span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.mbar-item.on, .mbar-item:active { color: var(--navy, #0b1f3a); }
.mbar-item.on::before {
  content: ""; position: absolute; top: 0; left: 28%; right: 28%; height: 3px; border-radius: 0 0 3px 3px; background: var(--navy, #0b1f3a);
}
.mbar-badge {
  position: absolute; top: 3px; left: calc(50% + 6px);
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: #dc3545; color: #fff; font-size: .68rem; font-weight: 800; line-height: 18px; text-align: center;
  box-shadow: 0 0 0 2px #fff;
}

/* 有快捷列時，內容與其他浮動按鈕往上讓位 */
@media (max-width: 1199.98px) {
  body.has-mbar { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  body.has-mbar .pwa-install, body.has-mbar .pwa-back { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; }
  /* 「系統專區」與帳號選單改由快捷列進入，漢堡選單只留網站內容 */
  body.has-mbar .site-nav .mbar-hide { display: none !important; }
  body.has-mbar .savebar { bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }   /* 點名頁的儲存列浮在快捷列上方 */
}
@media (min-width: 1200px) { .mbar, .mbar-sheet { display: none !important; } }
@media print { .mbar { display: none !important; } body.has-mbar { padding-bottom: 0; } }

/* ---------------- 「更多」面板 */
.mbar-sheet.offcanvas-bottom { height: auto; max-height: 82vh; border-radius: 18px 18px 0 0; }
.mbar-sheet .offcanvas-header { padding: .9rem 1.1rem .4rem; }
.mbar-sheet .offcanvas-title { font-weight: 800; color: var(--navy, #0b1f3a); font-size: 1.05rem; }
.mbar-sheet .offcanvas-body { padding: .3rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px)); }
.mbar-search {
  width: 100%; display: flex; align-items: center; gap: .55rem; margin: .2rem 0 .7rem;
  padding: .65rem .9rem; border: 1px solid var(--line, #d8e3ee); border-radius: 12px; background: #f6f9fc;
  color: #6b7a8c; font-size: .92rem; text-align: left;
}
.mbar-group { border-top: 1px solid var(--line, #d8e3ee); }
.mbar-group > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: .4rem;
  padding: .7rem .1rem; font-weight: 800; color: var(--navy, #0b1f3a); font-size: .95rem;
}
.mbar-group > summary::-webkit-details-marker { display: none; }
.mbar-group > summary::after { content: "\F282"; font-family: "bootstrap-icons"; margin-left: auto; color: #8a97a8; transition: transform .2s; }
.mbar-group[open] > summary::after { transform: rotate(180deg); }
.mbar-group > summary small { font-weight: 600; color: #8a97a8; font-size: .75rem; }
.mbar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding: 0 0 .85rem; }
.mbar-grid a {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem;
  min-height: 74px; padding: .55rem .3rem; border-radius: 14px; background: var(--ice, #eef5fb);
  color: var(--ink, #152033); font-size: .8rem; font-weight: 650; text-align: center; text-decoration: none; line-height: 1.2;
}
.mbar-grid a i { font-size: 1.35rem; color: var(--navy-2, #163a63); }
.mbar-grid a:active { background: #dfe9f4; }
.mbar-account {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem;
  border-top: 1px solid var(--line, #d8e3ee); padding-top: .8rem; font-size: .9rem;
}
.mbar-account .mbar-who { flex: 1 1 100%; font-weight: 700; color: var(--navy, #0b1f3a); }
.mbar-account .mbar-who i { margin-right: .35rem; }
.mbar-account .mbar-who small { margin-left: .3rem; font-size: .68rem; padding: .1rem .4rem; border-radius: 6px; background: var(--ice, #eef5fb); color: #5b6b7f; }
.mbar-account a { color: #3f4f63; text-decoration: none; }
.mbar-account a i { margin-right: .25rem; }

/* edo_linux_034：測試學生模式提示列 */
.tester-bar { position: sticky; top: 76px; z-index: 1020; background: #ffd35c; color: #3d2c00; font-size: .9rem;
  background-image: repeating-linear-gradient(135deg, rgba(0,0,0,.05) 0 10px, transparent 10px 20px); }
.tester-bar .container { min-height: 34px; }
