/* Screen-only insets: never change existing PDF / print margins. No fixed
   orientation, zoom restriction, offline cache or device-specific auth path. */
@media screen {
  :root { --ifm-safe-top: env(safe-area-inset-top, 0px); --ifm-safe-right: env(safe-area-inset-right, 0px); --ifm-safe-bottom: env(safe-area-inset-bottom, 0px); --ifm-safe-left: env(safe-area-inset-left, 0px); }
  .shell, .login { min-height: 100dvh; }
  .content { padding-bottom: var(--ifm-safe-bottom); }
  .login-overview { padding-top: max(60px, var(--ifm-safe-top)); padding-left: max(40px, 7vw, var(--ifm-safe-left)); padding-right: max(40px, 7vw, var(--ifm-safe-right)); padding-bottom: max(60px, var(--ifm-safe-bottom)); }
  .login-main { padding-top: max(48px, var(--ifm-safe-top)); padding-right: max(48px, var(--ifm-safe-right)); padding-bottom: max(48px, var(--ifm-safe-bottom)); padding-left: max(48px, var(--ifm-safe-left)); }
  .home-screen-entry { margin-top: 12px; }
  .sidebar-bottom .home-screen-entry { color: #142c53; border-color: #d3dce8; width: 100%; }
  #home-screen-guide { width: min(620px, calc(100% - 32px - var(--ifm-safe-left) - var(--ifm-safe-right))); max-height: calc(100dvh - 32px - var(--ifm-safe-top) - var(--ifm-safe-bottom)); padding: 24px; overflow: auto; overscroll-behavior: contain; border: 1px solid #d3dce8; border-radius: 14px; background: #fff; color: #142c53; }
  #home-screen-guide::backdrop { background: #142c5380; }
  #home-screen-guide h2 { margin: 8px 0 12px; font-size: 28px; line-height: 1.15; }
  #home-screen-guide h3 { margin: 22px 0 10px; }
  #home-screen-guide p, #home-screen-guide li { font-size: 15px; line-height: 1.55; }
  #home-screen-guide ol, #home-screen-guide ul { padding-left: 22px; }
  #home-screen-guide li { margin-bottom: 10px; }
  #home-screen-guide summary { min-height: 44px; display: list-item; align-content: center; cursor: pointer; }
  .home-screen-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
  .home-screen-head img { width: 110px; height: auto; }
  .home-screen-brand { display: flex; align-items: center; gap: 10px; margin-top: 24px; padding-top: 18px; border-top: 1px solid #d3dce8; font-size: 11px; }
  .home-screen-brand img { width: 130px; height: auto; }
  @media (max-width: 1000px) {
    .login-overview { padding-top: max(48px, var(--ifm-safe-top)); padding-right: max(35px, var(--ifm-safe-right)); padding-bottom: max(48px, var(--ifm-safe-bottom)); padding-left: max(35px, var(--ifm-safe-left)); }
    .topbar { height: calc(76px + var(--ifm-safe-top)); padding-top: var(--ifm-safe-top); padding-left: max(22px, var(--ifm-safe-left)); padding-right: max(22px, var(--ifm-safe-right)); }
    .content { padding-left: max(24px, var(--ifm-safe-left)); padding-right: max(24px, var(--ifm-safe-right)); padding-bottom: var(--ifm-safe-bottom); }
    .login-main { padding-top: max(35px, var(--ifm-safe-top)); padding-right: max(25px, var(--ifm-safe-right)); padding-bottom: max(40px, var(--ifm-safe-bottom)); padding-left: max(25px, var(--ifm-safe-left)); }
    #mobile-menu { height: 100dvh; max-height: 100dvh; padding-top: max(18px, var(--ifm-safe-top)); padding-bottom: max(24px, var(--ifm-safe-bottom)); padding-left: max(18px, var(--ifm-safe-left)); }
    .panel, .report-heading, #entry-form, #summary-form { scroll-margin-top: calc(90px + var(--ifm-safe-top)); }
    input, select, textarea { font-size: 16px; }
  }
  @media (max-width: 700px) {
    .login-overview { padding-top: max(25px, var(--ifm-safe-top)); padding-right: max(26px, var(--ifm-safe-right)); padding-bottom: max(26px, var(--ifm-safe-bottom)); padding-left: max(26px, var(--ifm-safe-left)); }
    .topbar { height: calc(72px + var(--ifm-safe-top)); padding-left: max(15px, var(--ifm-safe-left)); padding-right: max(15px, var(--ifm-safe-right)); }
    .content { padding-left: max(16px, var(--ifm-safe-left)); padding-right: max(16px, var(--ifm-safe-right)); }
    .login-main { padding-top: max(29px, var(--ifm-safe-top)); }
    #home-screen-guide { padding: 20px; }
  }
  @media (max-height: 500px) and (max-width: 1000px) {
    .topbar { height: calc(62px + var(--ifm-safe-top)); }
    .panel, .report-heading, #entry-form, #summary-form { scroll-margin-top: 16px; }
  }
}
@media print { #home-screen-guide, .home-screen-entry { display: none !important; } }
