/* ============================================================================
   앱(Capacitor 웹뷰) edge-to-edge 안전영역 보정 — html.app-e2e 게이트 한정
   ----------------------------------------------------------------------------
   Android 16(API 36)+ 강제 edge-to-edge 대응 (campus/css/app-safe.css 와 동일
   배경, 2026-08-22). root layout 8/4 구제가 header(fixed) height+body offset 만
   덮어 하단 fixed·드로어·토스트가 뚫려 있던 것을 보정.
   env(safe-area-inset-*) 는 앱 UA(viewport-fit=cover)에서만 실값, 브라우저·
   iframe 문서에서는 0 → 이중 적용/부작용 없음.
   ========================================================================== */

/* 하단 고정 CTA 바 — 아래로만 확장이라 본문 가림 보정 불필요 */
html.app-e2e .bottom_bar {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* 상단 토스트(fixed top 40) */
html.app-e2e .box_toast {
  top: calc(40px + env(safe-area-inset-top, 0px));
}

/* 햄버거 드로어(fixed top 0) */
html.app-e2e header .menu_cont {
  padding-top: env(safe-area-inset-top, 0px);
}

/* 러닝 뷰어 상단 고정 헤더(fixed top 0, padding 24px 0) + 본문 오프셋(105px) */
html.app-e2e .learning_viewer .head_cont {
  padding-top: calc(24px + env(safe-area-inset-top, 0px));
}
html.app-e2e .learning_viewer .wrap_tab {
  margin-top: calc(105px + env(safe-area-inset-top, 0px));
}
/* 햄버거 드로어 첫 줄(로고·알림·X)은 absolute/fixed 라 .menu_cont 의 padding-top 을 안 받아
   iOS 상태바(노치)와 겹침(2026-09-17 아이폰 리포트) → 안전영역 높이만큼 내림 */
html.app-e2e header .menu_cont .sub_logo .link_logo,
html.app-e2e header .menu_cont .wrap_alarm,
html.app-e2e header .wrap_header .btn_close {
  transform: translateY(env(safe-area-inset-top, 0px));
}
/* 앱 헤더 '‹ 뒤로' 버튼(2026-09-17) — 앱 게이트 밖(브라우저)에선 렌더 자체가 안 됨 */
html.app-e2e header .wrap_header .btn_app_back {
  position: absolute; left: 6px; top: calc(12px + env(safe-area-inset-top, 0px));
  width: 32px; height: 28px; display: flex; align-items: center; justify-content: center;
  background: transparent; border: 0; padding: 0; z-index: 3;
}
html.app-e2e header .wrap_header.has_back .home_logo { transform: translateX(26px); }
html.app-e2e header .wrap_header.open .btn_app_back { display: none; }
