/* SWT consolidated mobile cleanup v54
   One final mobile override file loaded after page templates.
   Purpose: stop versioned hotfixes from fighting each other. */

@media (max-width: 760px) {
  html, body {
    max-width: 100vw;
    overflow-x: hidden;
  }

  /* Buttons should hug content unless a component intentionally makes them full-width. */
  .btn:not(.tab-btn):not(.bottom-nav-item):not(.modern-action-card-v199),
  button.btn:not(.tab-btn):not(.bottom-nav-item):not(.modern-action-card-v199),
  a.btn:not(.tab-btn):not(.bottom-nav-item):not(.modern-action-card-v199) {
    width: auto;
    max-width: 100%;
    white-space: nowrap;
  }

  /* Notes tab: compact overall Handouts/Screens summary. */
  #tab-interactions .notes-client-summary-v203,
  #tab-interactions .notes-client-summary-clean-v216,
  #tab-interactions .notes-attachment-summary-only-v37 {
    padding: 6px 8px !important;
    margin: 6px 0 8px !important;
    gap: 6px !important;
    display: block !important;
  }

  #tab-interactions .notes-client-attachment-actions-v222 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    width: 100% !important;
  }

  #tab-interactions .notes-overall-attachment-card-v222 {
    min-height: 30px !important;
    padding: 3px 6px !important;
    border-radius: 12px !important;
    gap: 5px !important;
    box-shadow: none !important;
  }

  #tab-interactions .notes-overall-icon-v222 {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    border-radius: 8px !important;
  }
  #tab-interactions .notes-overall-icon-v222 img {
    width: 13px !important;
    height: 13px !important;
  }
  #tab-interactions .notes-overall-copy-v222 strong {
    font-size: 11px !important;
    line-height: 1 !important;
  }
  #tab-interactions .notes-overall-copy-v222 small {
    font-size: 9px !important;
    line-height: 1 !important;
  }

  /* Note card menu: simple trigger only. The popover is created by swt_clean_mobile_v54.js. */
  #tab-interactions .interaction-note-card-v179,
  #tab-interactions .notes-note-card-v203 {
    position: relative !important;
    overflow: visible !important;
  }

  #tab-interactions .swt-note-card-actions {
    position: absolute !important;
    top: 10px !important;
    right: 8px !important;
    z-index: 80 !important;
  }

  #tab-interactions .swt-note-actions-trigger {
    width: 30px !important;
    height: 34px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.35rem !important;
    line-height: 1 !important;
    color: #006b79 !important;
  }

  /* Old menu is hidden if any old markup survives. */
  #tab-interactions .notes-more-menu-v216,
  #tab-interactions .notes-more-panel-v216 {
    display: none !important;
  }

  .swt-note-popover-v54 {
    position: fixed;
    z-index: 2147483000;
    width: 154px;
    min-width: 154px;
    max-width: calc(100vw - 16px);
    display: grid;
    gap: 6px;
    padding: 7px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(0,84,101,.22);
    box-shadow: 0 18px 44px rgba(0,55,71,.26);
    box-sizing: border-box;
  }
  .swt-note-popover-v54 button {
    width: 100%;
    border: 0;
    border-radius: 12px;
    padding: 9px 10px;
    text-align: left;
    background: #eef8fa;
    color: #003747;
    font-weight: 900;
    font-size: .86rem;
    line-height: 1.1;
    white-space: nowrap;
  }
  .swt-note-popover-v54 button.danger {
    background: #fff0f0;
    color: #9b111e;
  }

  /* Portal chat: compact composer, longer message window. */
  #tab-portal .practice-chat-thread {
    min-height: 320px !important;
    max-height: 420px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 8px !important;
  }
  #tab-portal .portal-chat-send-row-v41,
  #tab-portal .practice-chat-composer .portal-chat-send-row-v41 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: end !important;
    width: 100% !important;
  }
  #tab-portal #admin_portal_message_body {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    overflow: hidden !important;
    resize: none !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
  }
  #tab-portal .portal-send-btn-v41,
  #tab-portal .portal-send-icon-v28 {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #tab-portal .portal-send-text-v28,
  #tab-portal .portal-email-notice,
  #tab-portal .email-notice,
  #tab-portal .automatic-email-notice {
    display: none !important;
  }

  /* New/Edit Note screen compact controls. */
  .mobile-note-stats-v202 {
    display: flex !important;
    gap: 6px !important;
    padding: 5px 7px !important;
    margin: 5px 0 7px !important;
    min-height: 0 !important;
  }
  .mobile-note-stats-v202 button {
    width: auto !important;
    min-width: 94px !important;
    max-width: 130px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 4px 7px !important;
    border-radius: 13px !important;
    display: grid !important;
    grid-template-columns: 22px auto !important;
    grid-template-rows: auto auto !important;
    gap: 0 5px !important;
    align-items: center !important;
  }
  .mobile-note-stats-v202 button span {
    grid-row: 1 / 3 !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
  }
  .mobile-note-stats-v202 button img { width: 14px !important; height: 14px !important; }
  .mobile-note-stats-v202 button b { font-size: .72rem !important; line-height: 1 !important; margin: 0 !important; white-space: nowrap !important; }
  .mobile-note-stats-v202 button small { font-size: .58rem !important; line-height: 1 !important; margin: 0 !important; white-space: nowrap !important; }

  .note-attached-summary-v221,
  .note-attached-group-v221,
  .attached-handouts-v221,
  .attached-screens-v221,
  [class*="attached-summary"],
  [class*="attached-list"] {
    display: none !important;
    visibility: hidden !important;
  }

  .modern-bottom-actions-v199,
  .modern-bottom-actions-v209,
  .modern-bottom-actions-v199.open,
  .modern-bottom-actions-v209.open,
  .modern-bottom-actions-v199.locked,
  .modern-bottom-actions-v209.locked {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    grid-template-columns: none !important;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 0 !important;
  }
  .modern-bottom-actions-v199.locked,
  .modern-bottom-actions-v209.locked,
  .note-locked-v209 .modern-bottom-actions-v199,
  .note-locked-v209 .modern-bottom-actions-v209 {
    justify-content: flex-start !important;
    padding-left: 8px !important;
  }
  .modern-action-card-v199,
  .modern-action-card-v199.save,
  .modern-action-card-v199.complete,
  .modern-action-card-v199.lock,
  .modern-action-card-v199.unlocked-label-v209,
  .modern-action-card-v199.unlock-only-v209,
  .unlock-only-v209 {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    flex: 0 0 auto !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 5px 8px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }
  .modern-action-card-v199 span { width: 17px !important; height: 17px !important; min-width: 17px !important; margin: 0 !important; }
  .modern-action-card-v199 img { width: 14px !important; height: 14px !important; }
  .modern-action-card-v199 b,
  .modern-action-card-v199 .mark-complete-text-v220 {
    display: inline !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }
  .modern-action-card-v199 small { display: none !important; }

  /* Invoice send-to-portal icon and equal action buttons. */
  .swt-mobile-primary-row,
  .swt-compact-action-row-v223 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  .swt-compact-action-row-v223 form { margin: 0 !important; padding: 0 !important; display: flex !important; }
  .swt-compact-action-btn-v223,
  .swt-open-pdf-short-v28,
  .swt-send-portal-icon-v34 {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
  .swt-send-portal-img-v34,
  .invoice-send-portal-icon-v34 {
    width: 25px !important;
    min-width: 25px !important;
    height: 25px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.96) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 4px rgba(0,55,71,.12) !important;
  }
  .swt-send-portal-img-v34 img,
  .invoice-send-portal-icon-v34 img {
    width: 19px !important;
    height: 19px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .swt-send-arrow-v34,
  .invoice-send-arrow-v34 {
    font-size: 1.24rem !important;
    font-weight: 1000 !important;
    transform: scaleX(1.15) !important;
    line-height: 1 !important;
  }
}
