/*
 * CODSHIPX AI CRM
 * MOBILE SETUP STABILITY R4
 *
 * Mobile Codi onboarding only.
 * Performance + layout correction.
 */

@media (max-width:820px){

  /* Single stable scroll owner. */
  html body
  .codi-mandatory-gate.r7-r31-r4-setup-active,
  html body
  .codi-mandatory-gate.r7-r30r1-setup-reveal{
    box-sizing:border-box !important;

    position:fixed !important;
    inset:0 !important;

    width:100vw !important;
    max-width:100vw !important;

    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;

    overflow-x:hidden !important;
    overflow-y:auto !important;

    -webkit-overflow-scrolling:touch !important;

    overscroll-behavior-y:contain !important;

    touch-action:pan-y pinch-zoom !important;

    scroll-behavior:auto !important;

    filter:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    perspective:none !important;
  }


  /* Remove expensive cinematic layers on phones. */
  html body .codi-mandatory-gate .codi-mandatory-grid,
  html body .codi-mandatory-gate .codi-mandatory-stream,
  html body .codi-mandatory-gate .codi-mandatory-node{
    display:none !important;
  }


  /* Stop repaint-heavy animation/compositing on large surfaces. */
  html body .codi-mandatory-gate .codi-mandatory-ring,
  html body .codi-mandatory-gate .codi-thinking-start i,
  html body .codi-mandatory-gate .codi-chat-row.thinking i{
    animation:none !important;
    transition:none !important;
  }

  html body .codi-mandatory-gate .codi-mandatory-language,
  html body .codi-mandatory-gate .codi-mandatory-identity,
  html body .codi-mandatory-gate .codi-mandatory-language-panel,
  html body .codi-mandatory-gate .codi-setup-conversation,
  html body .codi-mandatory-gate .codi-conversation-side,
  html body .codi-mandatory-gate .codi-side-status-bar,
  html body .codi-mandatory-gate .codi-conversation-main,
  html body .codi-mandatory-gate .codi-conversation-messages,
  html body .codi-mandatory-gate .codi-conversation-composer{
    animation:none !important;
    transition:none !important;

    filter:none !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    will-change:auto !important;

    contain:none !important;
    content-visibility:visible !important;
  }


  /* Preserve clean one-column language flow. */
  html body .codi-mandatory-gate .codi-mandatory-language{
    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:100% !important;

    height:auto !important;
    min-height:100dvh !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;

    transform:none !important;
  }

  html body .codi-mandatory-gate .codi-mandatory-identity,
  html body .codi-mandatory-gate .codi-mandatory-language-panel{
    position:relative !important;
    inset:auto !important;

    box-sizing:border-box !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:auto !important;
    max-height:none !important;

    transform:none !important;
  }

  html body .codi-mandatory-gate .codi-mandatory-identity{
    padding:26px 18px 30px !important;

    box-shadow:none !important;
  }

  html body .codi-mandatory-gate .codi-mandatory-language-panel{
    padding:30px 18px 38px !important;

    overflow:visible !important;

    border-radius:0 !important;
    box-shadow:none !important;
  }


  /* True mobile conversation flow. */
  html body .codi-mandatory-gate .codi-setup-conversation{
    display:flex !important;
    flex-direction:column !important;

    grid-template-columns:none !important;
    grid-template-rows:none !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:100dvh !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    overflow:visible !important;

    transform:none !important;
  }


  /* Compact setup summary instead of desktop-sized panel. */
  html body .codi-mandatory-gate .codi-conversation-side{
    position:relative !important;
    inset:auto !important;

    box-sizing:border-box !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;

    padding:15px 12px 13px !important;

    overflow:visible !important;

    transform:none !important;

    border-radius:0 !important;
    box-shadow:none !important;
  }

  html body
  .codi-mandatory-gate
  .codi-conversation-side
  > .codi-mandatory-mini-reactor,

  html body
  .codi-mandatory-gate
  .codi-conversation-side
  > .codi-mandatory-live{
    display:none !important;
  }

  html body .codi-mandatory-gate .codi-conversation-side h2{
    margin:0 0 4px !important;

    font-size:27px !important;
    line-height:1.05 !important;
  }

  html body .codi-mandatory-gate .codi-conversation-side > p{
    margin:0 0 10px !important;

    font-size:12.5px !important;
    line-height:1.4 !important;
  }


  /* Progress + product button in one compact strip. */
  html body .codi-mandatory-gate .codi-side-status-bar{
    display:grid !important;

    grid-template-columns:minmax(0,1fr) 94px !important;

    gap:8px !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  html body .codi-mandatory-gate .codi-conversation-progress{
    grid-column:1 !important;
    grid-row:1 !important;

    box-sizing:border-box !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;

    padding:10px 11px !important;

    border-radius:15px !important;

    transform:none !important;
  }

  html body .codi-mandatory-gate .codi-products-launch{
    grid-column:2 !important;
    grid-row:1 !important;

    box-sizing:border-box !important;

    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;

    min-height:100% !important;

    margin:0 !important;

    padding:8px 6px !important;

    transform:none !important;
    transition:none !important;
  }

  html body .codi-mandatory-gate .codi-conversation-context{
    grid-column:1 / -1 !important;

    box-sizing:border-box !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;
    max-width:100% !important;

    min-height:40px !important;

    margin:0 !important;

    padding:7px 10px !important;

    gap:8px !important;
  }

  html body
  .codi-mandatory-gate
  .codi-conversation-context::before,

  html body
  .codi-mandatory-gate
  .codi-conversation-context::after{
    display:none !important;
  }


  /* Chat immediately follows setup summary. */
  html body .codi-mandatory-gate .codi-conversation-main{
    position:relative !important;
    inset:auto !important;

    box-sizing:border-box !important;

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;

    overflow:visible !important;

    transform:none !important;

    background:#fff !important;

    border-radius:20px 20px 0 0 !important;

    box-shadow:none !important;
  }

  html body
  .codi-mandatory-gate
  .codi-conversation-main > header{
    box-sizing:border-box !important;

    width:100% !important;

    min-height:64px !important;

    padding:8px 11px !important;

    background:#fff !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    box-shadow:
      0 1px 0 rgba(16,34,55,.08) !important;
  }


  /* No nested desktop-height message scroller. */
  html body .codi-mandatory-gate .codi-conversation-messages{
    box-sizing:border-box !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:140px !important;
    max-height:none !important;

    padding:12px 10px 15px !important;

    overflow:visible !important;

    scroll-behavior:auto !important;

    contain:none !important;
    content-visibility:visible !important;

    transform:none !important;
  }

  html body .codi-mandatory-gate .codi-thinking-start{
    min-height:110px !important;

    padding:18px 10px !important;

    animation:none !important;
    transform:none !important;
    filter:none !important;
  }

  html body .codi-mandatory-gate .codi-chat-row{
    box-sizing:border-box !important;

    width:100% !important;
    max-width:100% !important;

    margin:7px 0 !important;

    gap:7px !important;

    animation:none !important;
    transition:none !important;
    transform:none !important;
  }

  html body
  .codi-mandatory-gate
  .codi-chat-row.assistant > img{
    width:28px !important;
    height:28px !important;

    flex:0 0 28px !important;
  }

  html body
  .codi-mandatory-gate
  .codi-chat-row.assistant > div{
    max-width:calc(100% - 38px) !important;

    overflow-wrap:anywhere !important;
  }

  html body
  .codi-mandatory-gate
  .codi-chat-row.user > div{
    max-width:88% !important;

    margin-left:auto !important;

    overflow-wrap:anywhere !important;
  }


  /* Mobile-safe composer. */
  html body .codi-mandatory-gate .codi-conversation-composer{
    position:relative !important;
    inset:auto !important;

    box-sizing:border-box !important;

    display:grid !important;

    grid-template-columns:
      minmax(0,1fr)
      auto
      auto !important;

    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    padding:
      8px
      9px
      calc(12px + env(safe-area-inset-bottom))
      !important;

    gap:7px !important;

    background:#fff !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    box-shadow:
      0 -1px 0 rgba(16,34,55,.08) !important;
  }

  html body
  .codi-mandatory-gate
  .codi-conversation-composer textarea{
    box-sizing:border-box !important;

    width:100% !important;
    min-width:0 !important;

    min-height:46px !important;
    max-height:136px !important;

    font-size:16px !important;
  }

  html body .codi-mandatory-gate .codi-composer-add,
  html body .codi-mandatory-gate .codi-composer-send{
    min-width:42px !important;
    min-height:42px !important;

    touch-action:manipulation !important;
  }


  /* Product/file subview remains independently usable. */
  html body .codi-mandatory-gate .codi-product-tools{
    scroll-behavior:auto !important;

    filter:none !important;

    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    will-change:auto !important;
  }
}

/* END CODSHIPX_AI_CRM_MOBILE_SETUP_STABILITY_R4 */
