/* OMI Pro V35 — mobile density, no-overlap navigation, compact home/admin controls. */
:root{--omi-v35-header:56px;--omi-v35-nav:58px;--omi-v35-side:9px;--omi-v35-gap:8px}

@media (max-width:899px){
  /* Keep the app chrome compact and make its clearance match the real fixed elements. */
  body.omi-layout:not(.legacy-app){
    padding-top:calc(var(--omi-v35-header) + env(safe-area-inset-top))!important;
    padding-bottom:calc(var(--omi-v35-nav) + 10px + env(safe-area-inset-bottom))!important;
  }
  body.omi-layout>#omi-fixed-header{
    height:var(--omi-v35-header)!important;min-height:var(--omi-v35-header)!important;
    padding:5px 8px!important;gap:6px!important;
  }
  body.omi-layout>#omi-fixed-header .omi-back,
  body.omi-layout>#omi-fixed-header .omi-sound-toggle,
  body.omi-layout>#omi-fixed-header .omi-menu-toggle{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:12px!important;
  }
  body.omi-layout>#omi-fixed-header .omi-brand-link{min-width:36px!important;padding:0!important}
  body.omi-layout>#omi-fixed-header .omi-brand-link img{width:34px!important;height:34px!important;border-radius:11px!important}
  body.omi-layout>#omi-fixed-header .omi-page-name{font-size:.86rem!important;line-height:1.05!important;text-align:left!important}

  body.omi-layout:not(.legacy-app):has(>#omi-fixed-header)>main,
  body.omi-layout:not(.legacy-app)>.archive-main,
  body.omi-layout:not(.legacy-app)>.guidance-main{
    margin:0 auto!important;padding-top:6px!important;padding-bottom:12px!important;min-height:0!important;
  }
  body.omi-layout main.wrap,body.omi-layout main.omi-page-shell,body.omi-layout main.omi-directory{
    padding-left:var(--omi-v35-side)!important;padding-right:var(--omi-v35-side)!important;gap:var(--omi-v35-gap)!important;
  }

  /* The bottom navigation stays reachable but occupies less of the phone screen. */
  body.omi-layout>.omi-primary-nav{
    height:var(--omi-v35-nav)!important;min-height:var(--omi-v35-nav)!important;
    padding:3px 5px max(3px,env(safe-area-inset-bottom))!important;
    border-radius:16px 16px 0 0!important;gap:1px!important;
  }
  body.omi-layout>.omi-primary-nav a{
    min-height:48px!important;padding:2px 1px!important;border-radius:12px!important;gap:1px!important;font-size:.66rem!important;
  }
  body.omi-layout>.omi-primary-nav .omi-nav-glyph{width:25px!important;height:25px!important}
  body.omi-layout>.omi-primary-nav svg{width:21px!important;height:21px!important}

  /* Long forms must always be scrollable above the fixed navigation. */
  body.omi-layout.omi-admin main.wrap,
  body.omi-layout.omi-assessment-settings main.wrap,
  body.omi-layout .v29-settings,
  body.omi-layout form:last-child{scroll-margin-bottom:calc(var(--omi-v35-nav) + 24px)!important}
  body.omi-layout .sticky-save{bottom:calc(var(--omi-v35-nav) + 6px + env(safe-area-inset-bottom))!important}

  /* HOME: no clipped quick-access labels and much less vertical waste. */
  body.omi-layout .omi-home{padding-top:5px!important;padding-bottom:7px!important}
  body.omi-layout .home-intro{padding:9px 11px!important;border-radius:17px!important;min-height:0!important}
  body.omi-layout .home-kicker{margin-bottom:3px!important;font-size:.68rem!important}
  body.omi-layout .home-intro h1{font-size:clamp(1.38rem,6.1vw,1.85rem)!important;line-height:1.06!important;margin:1px 0!important}
  body.omi-layout .home-focus{margin:7px 0 8px!important;gap:7px!important}
  body.omi-layout .home-focus-card{min-height:94px!important;padding:10px 11px!important;grid-template-columns:40px minmax(0,1fr)!important;gap:5px 10px!important;border-radius:17px!important}
  body.omi-layout .home-card-icon{width:40px!important;height:40px!important;border-radius:13px!important}
  body.omi-layout .home-focus-card small{font-size:.68rem!important;line-height:1.1!important}
  body.omi-layout .home-focus-card strong{font-size:1rem!important;line-height:1.15!important}
  body.omi-layout .home-focus-card>b{min-height:34px!important;padding:0 10px!important;font-size:.78rem!important;border-radius:10px!important}
  body.omi-layout .home-secondary{margin:3px 0 0!important}
  body.omi-layout .home-secondary>h2{font-size:1.14rem!important;margin:3px 0 6px!important}
  body.omi-layout .compact-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  body.omi-layout .compact-links a{
    min-width:0!important;min-height:82px!important;padding:8px 5px!important;border-radius:14px!important;
    flex-direction:column!important;justify-content:center!important;gap:5px!important;text-align:center!important;overflow:visible!important;
  }
  body.omi-layout .compact-links a::before{
    position:static!important;left:auto!important;top:auto!important;translate:none!important;
    width:35px!important;height:35px!important;border-radius:11px!important;font-size:15px!important;flex:none!important;
  }
  body.omi-layout .compact-links a>span:first-of-type{min-width:0!important;display:block!important}
  body.omi-layout .compact-links strong{display:block!important;font-size:.75rem!important;line-height:1.12!important;overflow-wrap:anywhere!important}
  body.omi-layout .compact-links small{display:none!important}
  body.omi-layout .compact-links a>span:last-child{display:none!important}

  /* Generic cards/sections: denser vertical rhythm without cramped text. */
  body.omi-layout .card,body.omi-layout .panel,body.omi-layout .portal-section,body.omi-layout .omi-admin-card{border-radius:16px!important}
  body.omi-layout .section-heading{margin:0 0 5px!important}
  body.omi-layout .section-heading h2{font-size:1.25rem!important;margin:0!important}
  body.omi-layout .section-heading p{margin:2px 0 0!important;line-height:1.35!important}

  /* Assessment settings: package activation is multi-select; default package stays a separate small radio. */
  body.omi-layout.omi-assessment-settings main.wrap{padding-top:5px!important;padding-bottom:calc(var(--omi-v35-nav) + 46px)!important}
  body.omi-layout.omi-assessment-settings main.wrap>h1{font-size:1.48rem!important;margin:2px 0 7px!important}
  body.omi-layout.omi-assessment-settings main.wrap>.page-kicker{font-size:.67rem!important}
  body.omi-layout.omi-assessment-settings .card{padding:11px!important;margin:0 0 7px!important}
  body.omi-layout.omi-assessment-settings .settings-disclosure>summary{min-height:44px!important;padding:2px 0!important}
  body.omi-layout.omi-assessment-settings .settings-body{padding-top:7px!important}
  body.omi-layout.omi-assessment-settings .grid{gap:7px!important}
  body.omi-layout.omi-assessment-settings label{gap:4px!important}
  body.omi-layout.omi-assessment-settings input[type="number"]{min-height:43px!important;padding:7px 10px!important}
  body.omi-layout.omi-assessment-settings .exam-package-card .section-heading p{display:none!important}
  body.omi-layout.omi-assessment-settings .package-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  body.omi-layout.omi-assessment-settings .package-option{min-height:62px!important;padding:8px 9px!important;border-radius:13px!important;gap:7px!important;grid-template-columns:auto minmax(0,1fr) auto!important}
  body.omi-layout.omi-assessment-settings .package-option>span{min-width:0!important}
  body.omi-layout.omi-assessment-settings .package-option b{font-size:.88rem!important;line-height:1.05!important}
  body.omi-layout.omi-assessment-settings .package-option small{display:none!important}
  body.omi-layout.omi-assessment-settings .package-option input[type="checkbox"]{width:20px!important;height:20px!important}
  body.omi-layout.omi-assessment-settings .package-option input[type="radio"]{width:20px!important;height:20px!important}
  body.omi-layout.omi-assessment-settings .exam-package-card>div:last-child{margin-top:7px!important}
  body.omi-layout.omi-assessment-settings .exam-package-card .btn.soft{min-height:42px!important;width:100%!important;justify-content:center!important;padding:8px!important}
  body.omi-layout.omi-assessment-settings .switch-row{min-height:48px!important;padding:7px 0!important}
  body.omi-layout.omi-assessment-settings .switch-row small{font-size:.73rem!important;line-height:1.25!important}
}

@media (max-width:370px){
  body.omi-layout .compact-links strong{font-size:.69rem!important}
  body.omi-layout .home-focus-card strong{font-size:.93rem!important}
  body.omi-layout.omi-assessment-settings .package-option{padding:7px!important}
}

/* Avoid browser-restored anchors and focused controls hiding under the fixed app bar. */
body.omi-layout [id],body.omi-layout input,body.omi-layout select,body.omi-layout textarea,body.omi-layout button{scroll-margin-top:calc(var(--omi-v35-header) + 12px);scroll-margin-bottom:calc(var(--omi-v35-nav) + 18px)}

@media (max-width:899px){
  /* Short pages keep the primary navigation in document flow: no artificial blank footer band. */
  body.omi-layout.omi-flow-nav:not(.legacy-app){padding-bottom:max(5px,env(safe-area-inset-bottom))!important}
  body.omi-layout.omi-flow-nav>.omi-primary-nav{
    position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    transform:none!important;width:calc(100% - 12px)!important;height:auto!important;min-height:var(--omi-v35-nav)!important;
    margin:5px auto max(5px,env(safe-area-inset-bottom))!important;z-index:30!important;
  }
}
