/* Core Connect Phase 33F.19G — Mobile, Accessibility and Final Usability */
:root{
  --cc-focus-ring:0 0 0 3px rgba(40,120,232,.28);
  --cc-phone-nav-height:72px;
}
.cc-visually-hidden33f19g{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.cc-mobile-accessibility33f19g :where(a,button,input,select,textarea,summary,[role="button"],[role="tab"],[tabindex]):focus-visible{outline:2px solid var(--cc-primary,#2878e8)!important;outline-offset:2px!important;box-shadow:var(--cc-focus-ring)!important}
body.cc-mobile-accessibility33f19g .skip-link33f{z-index:9999!important}
body.cc-mobile-accessibility33f19g [aria-invalid="true"]{border-color:var(--cc-danger,#c74444)!important;box-shadow:0 0 0 3px rgba(199,68,68,.12)!important}
body.cc-mobile-accessibility33f19g .cc-field-invalid33f19g>label{color:var(--cc-danger,#c74444)!important}
body.cc-mobile-accessibility33f19g .cc-required33f19g::after{content:" *";color:var(--cc-danger,#c74444)}
body.cc-mobile-accessibility33f19g .table-wrap[tabindex="0"]:focus-visible,body.cc-mobile-accessibility33f19g .cc-table-region[tabindex="0"]:focus-visible{outline:2px solid var(--cc-primary,#2878e8);outline-offset:2px;border-radius:var(--cc-radius-md,12px)}
body.cc-mobile-accessibility33f19g [inert]{pointer-events:none!important;user-select:none!important}
body.cc-mobile-accessibility33f19g .drawer[aria-hidden="true"]{visibility:hidden}
body.cc-mobile-accessibility33f19g .drawer.open[aria-hidden="false"]{visibility:visible}
body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g{display:grid;gap:9px;margin-top:14px}
body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g>div{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--cc-border,#dce3ea);border-radius:12px;background:#fff}
body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--cc-success-soft,#e7f8ef);color:var(--cc-success,#179c63);font-weight:900}
body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g>div.warning>span{background:var(--cc-warning-soft,#fff5df);color:#a96808}
body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g p{margin:0}.cc-final-check-list33f19g strong,.cc-final-check-list33f19g small{display:block}.cc-final-check-list33f19g small{margin-top:3px;color:var(--cc-muted,#667085);line-height:1.4}
.cc-mobile-nav33f19g{display:none}

@media(max-width:960px){
  body.cc-mobile-accessibility33f19g.nav-open{overflow:hidden;touch-action:none}
  body.cc-mobile-accessibility33f19g .sidebar{overscroll-behavior:contain}
  body.cc-mobile-accessibility33f19g .side-nav{padding-bottom:24px}
}

@media(max-width:760px){
  :root{--cc-phone-nav-height:74px}
  html{scroll-padding-top:72px}
  body.cc-mobile-accessibility33f19g{padding-bottom:calc(var(--cc-phone-nav-height) + env(safe-area-inset-bottom))!important;overscroll-behavior-y:none}
  body.cc-mobile-accessibility33f19g.cc-drawer-open{overflow:hidden;touch-action:none}
  body.cc-mobile-accessibility33f19g .content{padding-left:12px!important;padding-right:12px!important;padding-bottom:calc(var(--cc-phone-nav-height) + 28px + env(safe-area-inset-bottom))!important}
  body.cc-mobile-accessibility33f19g .topbar{min-height:64px!important;padding-inline:10px!important}
  body.cc-mobile-accessibility33f19g .page-head,body.cc-mobile-accessibility33f19g .title,body.cc-mobile-accessibility33f19g .cc-page-header,body.cc-mobile-accessibility33f19g .cc-advanced-page-header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important}
  body.cc-mobile-accessibility33f19g .page-head h1,body.cc-mobile-accessibility33f19g .title h1,body.cc-mobile-accessibility33f19g .cc-page-header h1,body.cc-mobile-accessibility33f19g .cc-advanced-page-header h1{font-size:24px!important;line-height:1.18!important;overflow-wrap:anywhere}
  body.cc-mobile-accessibility33f19g .page-actions33f,body.cc-mobile-accessibility33f19g .cc-advanced-page-actions{display:flex!important;width:100%!important;gap:8px!important;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  body.cc-mobile-accessibility33f19g .page-actions33f::-webkit-scrollbar,body.cc-mobile-accessibility33f19g .cc-advanced-page-actions::-webkit-scrollbar{display:none}
  body.cc-mobile-accessibility33f19g .page-actions33f>.btn,body.cc-mobile-accessibility33f19g .page-actions33f>.cc-split-action,body.cc-mobile-accessibility33f19g .cc-advanced-page-actions>.btn{flex:1 0 auto;min-width:min(100%,150px)}
  body.cc-mobile-accessibility33f19g :where(button,.btn,.icon-btn,input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea,summary,[role="button"],[role="tab"]){min-height:44px}
  body.cc-mobile-accessibility33f19g input,body.cc-mobile-accessibility33f19g select,body.cc-mobile-accessibility33f19g textarea{font-size:16px!important}
  body.cc-mobile-accessibility33f19g .grid.two,body.cc-mobile-accessibility33f19g .grid.three,body.cc-mobile-accessibility33f19g .grid.four,body.cc-mobile-accessibility33f19g .form-grid,body.cc-mobile-accessibility33f19g .cc-advanced-tool-grid{grid-template-columns:minmax(0,1fr)!important}
  body.cc-mobile-accessibility33f19g .card,body.cc-mobile-accessibility33f19g .section,body.cc-mobile-accessibility33f19g .cc-advanced-section{border-radius:12px!important;padding:14px!important}
  body.cc-mobile-accessibility33f19g .head,body.cc-mobile-accessibility33f19g .cc-advanced-section-head,body.cc-mobile-accessibility33f19g .cc-advanced-toolbar{align-items:flex-start!important;flex-direction:column!important}
  body.cc-mobile-accessibility33f19g .head>.btn,body.cc-mobile-accessibility33f19g .head>.cc-split-action{width:100%}
  body.cc-mobile-accessibility33f19g .cc-tabs,body.cc-mobile-accessibility33f19g [role="tablist"]{scroll-snap-type:x proximity;overscroll-behavior-x:contain}
  body.cc-mobile-accessibility33f19g [role="tab"]{scroll-snap-align:start;white-space:nowrap}
  body.cc-mobile-accessibility33f19g .drawer{height:100dvh!important;max-height:100dvh!important;overscroll-behavior:contain}
  body.cc-mobile-accessibility33f19g .drawer-head{padding-top:max(13px,env(safe-area-inset-top))!important}
  body.cc-mobile-accessibility33f19g .drawer-body{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
  body.cc-mobile-accessibility33f19g .sticky-actions33f11,body.cc-mobile-accessibility33f19g .settings-save-bar{position:sticky!important;bottom:calc(-16px + env(safe-area-inset-bottom));z-index:8;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--cc-border,#dce3ea);padding:12px 0 max(12px,env(safe-area-inset-bottom))!important}
  body.cc-mobile-accessibility33f19g .cc-attention-card33f19f,body.cc-mobile-accessibility33f19g .cc-business-app-hero33f19f{grid-template-columns:minmax(0,1fr)!important;display:grid!important}
  body.cc-mobile-accessibility33f19g .cc-attention-card-actions33f19f,body.cc-mobile-accessibility33f19g .cc-business-app-actions33f19f{display:grid!important;grid-template-columns:1fr!important;width:100%;max-width:none}
  body.cc-mobile-accessibility33f19g .cc-attention-card-actions33f19f .btn,body.cc-mobile-accessibility33f19g .cc-business-app-actions33f19f .btn{width:100%}
  .cc-mobile-nav33f19g{position:fixed;left:0;right:0;bottom:0;z-index:65;display:grid;grid-template-columns:repeat(var(--cc-mobile-nav-columns,5),minmax(0,1fr));gap:2px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--cc-border,#dce3ea);background:rgba(255,255,255,.97);box-shadow:0 -10px 28px rgba(15,23,42,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
  .cc-mobile-nav33f19g button{min-width:0;min-height:52px;padding:5px 2px;border:0;border-radius:10px;background:transparent;color:#667085;display:grid;place-items:center;align-content:center;gap:2px;font:inherit;cursor:pointer}
  .cc-mobile-nav33f19g button>span{font-size:19px;line-height:1}.cc-mobile-nav33f19g button>span svg{width:20px;height:20px}.cc-mobile-nav33f19g button>small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750;line-height:1.1}
  .cc-mobile-nav33f19g button.active,.cc-mobile-nav33f19g button[aria-current="page"]{background:#eaf2fd;color:var(--cc-primary,#2878e8)}
  body.cc-mobile-accessibility33f19g .application-only-shell33f18f{min-height:100dvh;padding:16px 12px calc(24px + env(safe-area-inset-bottom))}
  body.cc-mobile-accessibility33f19g .application-only-card33f18f{width:100%;max-width:560px;padding:18px!important}
  body.cc-mobile-accessibility33f19g .application-only-actions33f18f{display:grid!important;grid-template-columns:1fr!important}
  body.cc-mobile-accessibility33f19g .application-only-actions33f18f .btn{width:100%}
  body.cc-mobile-accessibility33f19g .toast{bottom:calc(var(--cc-phone-nav-height) + 12px + env(safe-area-inset-bottom))!important}
  body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g>div{grid-template-columns:36px minmax(0,1fr)}
  body.cc-mobile-accessibility33f19g .cc-final-check-list33f19g .pill{grid-column:2;justify-self:start}
}

@media(max-width:390px){
  .cc-mobile-nav33f19g{padding-inline:3px}.cc-mobile-nav33f19g button>small{font-size:9px}
  body.cc-mobile-accessibility33f19g .content{padding-inline:9px!important}
  body.cc-mobile-accessibility33f19g .card,body.cc-mobile-accessibility33f19g .section{padding:12px!important}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:960px){
  .cc-mobile-nav33f19g{padding-top:3px;padding-bottom:max(3px,env(safe-area-inset-bottom))}.cc-mobile-nav33f19g button{min-height:44px;grid-template-columns:auto auto;gap:5px}.cc-mobile-nav33f19g button>small{font-size:10px}
  body.cc-mobile-accessibility33f19g .drawer-head{min-height:54px!important}.drawer-body{height:calc(100dvh - 54px)!important}
}

@media(prefers-contrast:more){
  body.cc-mobile-accessibility33f19g :where(.card,.section,.table-wrap,.cc-table-region,.drawer,.btn,input,select,textarea){border-color:#8793a2!important}
  body.cc-mobile-accessibility33f19g .muted,body.cc-mobile-accessibility33f19g small{color:#44505f!important}
}

@media(forced-colors:active){
  body.cc-mobile-accessibility33f19g :where(.btn,.nav-btn,.pill,.card,.section,.drawer){forced-color-adjust:auto}
  .cc-mobile-nav33f19g{border-top:1px solid CanvasText;background:Canvas}
  .cc-mobile-nav33f19g button.active{outline:2px solid Highlight}
}

@media(prefers-reduced-motion:reduce){
  body.cc-mobile-accessibility33f19g *,body.cc-mobile-accessibility33f19g *::before,body.cc-mobile-accessibility33f19g *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

@media print{.cc-mobile-nav33f19g,.cc-final-usability-health33f19g{display:none!important}}

/* Phase 33F.19G.1 — Mobile document scrolling hotfix
 * Mobile browsers now use the document as the primary vertical scroll container.
 * This avoids viewport-height and stale overflow-lock failures in nested shells.
 */
@media(max-width:860px){
  html,body,#app{
    height:auto!important;
    min-height:100%!important;
  }
  html{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }
  body.cc-mobile-accessibility33f19g{
    min-height:100dvh!important;
    padding-bottom:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-x pan-y!important;
    -webkit-overflow-scrolling:touch;
  }
  body.cc-mobile-accessibility33f19g .shell{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }
  body.cc-mobile-accessibility33f19g .workspace{
    height:auto!important;
    min-height:100dvh!important;
    overflow:visible!important;
  }
  body.cc-mobile-accessibility33f19g .topbar{
    position:sticky!important;
    top:0;
    z-index:60!important;
  }
  body.cc-mobile-accessibility33f19g .content{
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:calc(100dvh - 66px)!important;
    overflow:visible!important;
    overscroll-behavior:visible!important;
    -webkit-overflow-scrolling:auto!important;
  }
  body.cc-mobile-accessibility33f19g.nav-open,
  body.cc-mobile-accessibility33f19g.cc-drawer-open,
  body.cc-mobile-accessibility33f19g.cc-scroll-locked33f19g1{
    overflow:hidden!important;
    touch-action:none!important;
  }
  body.cc-mobile-accessibility33f19g.cc-scroll-locked33f19g1{
    position:fixed!important;
    top:calc(-1 * var(--cc-mobile-scroll-y33f19g1,0px))!important;
    left:0;
    right:0;
    width:100%!important;
  }
}
