/* v0.5.0 mobile overlap cleanup and anchored exercise action
   - exercise manager button is constrained to a true square
   - cloud access moves into the management dialog
   - save state becomes a transient toast
   - content receives enough bottom clearance for fixed actions
*/

@media (max-width: 760px) {
  .wl-ui-compact .record-heading {
    position: relative !important;
    padding-right: 72px !important;
    overflow: hidden;
  }

  .wl-ui-compact .exercise-manager-button,
  .wl-ui-compact .exercise-manager-button.wl-manager-button-fixed {
    position: absolute !important;
    inset: auto 13px auto auto !important;
    top: 50% !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    align-self: auto !important;
    flex: 0 0 44px !important;
    overflow: hidden !important;
    transform: translateY(-50%) !important;
    line-height: 1 !important;
  }

  .wl-ui-compact .exercise-manager-button::before {
    line-height: 1 !important;
  }

  /* The floating cloud control caused repeated content collisions.
     Cloud actions are now exposed from the existing management dialog. */
  .wl-cloud-button {
    display: none !important;
  }

  /* Saved is only confirmation, not a permanent floating control. */
  .wl-save-status {
    top: auto !important;
    right: auto !important;
    left: 50% !important;
    bottom: calc(158px + env(safe-area-inset-bottom)) !important;
    z-index: 45 !important;
    width: max-content !important;
    max-width: calc(100vw - 40px) !important;
    padding: 7px 11px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, 8px) !important;
    transition: opacity .18s ease, transform .18s ease !important;
  }

  .wl-save-status.is-saving,
  .wl-save-status.is-error,
  .wl-save-status.is-saved:not(.is-compact) {
    opacity: 1 !important;
    transform: translate(-50%, 0) !important;
  }

  .wl-save-status.is-compact {
    opacity: 0 !important;
    transform: translate(-50%, 8px) !important;
  }

  .wl-save-status strong {
    font-size: .67rem !important;
  }

  /* Fixed record action + bottom navigation occupy roughly 150 px. */
  .wl-ui-compact .record-column {
    padding-bottom: calc(190px + env(safe-area-inset-bottom)) !important;
  }

  .wl-cloud-tools-button {
    order: 1;
  }
}

@media (max-width: 390px) {
  .wl-ui-compact .record-heading {
    padding-right: 66px !important;
  }

  .wl-ui-compact .exercise-manager-button,
  .wl-ui-compact .exercise-manager-button.wl-manager-button-fixed {
    right: 11px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    flex-basis: 42px !important;
  }
}
