/* Student mobile app presentation. */
.pmx-app-tabs { display: none; }
@media (max-width: 767px) {
  body:has(.pmx-app-tabs) { background: #f3f6fc; }
  body:has(.pmx-app-tabs) .app-content { padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important; }
  .pmx-app-tabs { position: fixed; z-index: 1040; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)); background: linear-gradient(115deg, #19132f, #0f172a 55%, #10303b); border-top: 1px solid #a78bfa40; box-shadow: 0 -5px 24px #02061730; border-radius: 22px 22px 0 0; gap: 3px; box-sizing: border-box; width: 100%; height: calc(89px + env(safe-area-inset-bottom, 0px)); grid-template-rows: 72px; margin: 0; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  .pmx-app-tabs a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; height: 72px; min-height: 72px; min-width: 0; padding: 0; margin: 0; box-sizing: border-box; border: 0; border-radius: 16px; color: #cbd5e1; font-size: clamp(11px, 3.1vw, 13px); font-weight: 600; text-decoration: none; line-height: 1.5; touch-action: manipulation; }
  .pmx-app-tabs .pmx-nav-icon { width: 28px; height: 28px; flex-shrink: 0; pointer-events: none; }
  .pmx-app-tabs a:active { background-color: #ffffff14; }
  .pmx-app-tabs a[aria-current="page"] { background: linear-gradient(135deg, #6246dc, #9234cb 55%, #be247e); color: #fff; box-shadow: inset 0 1px 0 #ffffff30, 0 4px 14px #9333ea30; }
  .pmx-app-tabs a:focus-visible { outline: 2px solid #67e8f9; outline-offset: -2px; }
  .app-slide-off .pmx-app-tabs { visibility: hidden; }
  .pmx-app-dashboard .wrap-content.container { padding-left: 16px; padding-right: 16px; }
  .pmx-app-dashboard .page-header-custom { margin: 12px 0 20px; padding: 22px; border-radius: 24px; background: linear-gradient(125deg,#203d89,#526fe4); box-shadow: 0 10px 24px rgba(49,91,214,.15); }
  .pmx-app-dashboard .page-header-custom h1 { color: #fff; margin: 0; font-size: 21px; line-height: 1.6; }
  .pmx-app-dashboard .dashboard-card { border-radius: 22px; box-shadow: 0 5px 20px rgba(23,43,77,.06); border: 1px solid #e5ebf5; }
  .pmx-app-dashboard .btn-custom { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; white-space: normal; }
  .pmx-app-dashboard .certificate-profile-warning { border-radius: 18px; }
}
@media print { .pmx-app-tabs { display: none !important; } }

/* Tactile menu feedback without delaying navigation. */
.pmx-app-tabs a { position: relative; overflow: hidden; transition: none; -webkit-tap-highlight-color: transparent; }
.pmx-app-tabs a:active { background-color: #ffffff14; }
.pmx-app-tabs a span { white-space: nowrap; line-height: 20px; }
.pmx-app-tabs a.pmx-nav-pending { background: linear-gradient(135deg, #6246dc, #9234cb 55%, #be247e); color: #fff; box-shadow: inset 0 1px 0 #ffffff30, 0 4px 14px #9333ea30; }

@media (prefers-reduced-motion: reduce) { .pmx-app-tabs a { transition: none; } .pmx-app-tabs a:active { transform: none; } .pmx-app-tabs a.pmx-nav-tapped .pmx-nav-icon, .pmx-app-tabs a.pmx-nav-tapped::after { animation: none; } .pmx-app-tabs a.pmx-nav-tapped::after { display: none; } }

.pmx-app-tabs a.pmx-attendance-danger,.pmx-app-tabs a.pmx-attendance-danger[aria-current="page"],.pmx-app-tabs a.pmx-attendance-danger.pmx-nav-pending{background:linear-gradient(135deg,#ef4444,#c81e36)!important;color:#fff!important;box-shadow:0 3px 12px #dc262640}.pmx-app-tabs a .pmx-attendance-warning{position:absolute;top:4px;right:6px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#dc2626;font-size:12px;font-weight:700;line-height:1}
