/* RentTrack Pro — Hotfix visual v15.14.3
   Ajustes puntuales tras pruebas reales de uso. */

/* 1) Tarjetas de conceptos: símbolo "+" completo, centrado y dentro de la tarjeta */
.personal-concept-card,
.quick-concept-btn {
  position: relative !important;
  overflow: hidden !important;
  padding-right: 44px !important;
}

.personal-concept-card::before,
.quick-concept-btn::before {
  content: "" !important;
  position: absolute !important;
  right: 10px !important;
  bottom: 9px !important;
  width: 25px !important;
  height: 25px !important;
  border: 1px solid rgba(18, 191, 166, 0.24) !important;
  border-radius: 50% !important;
  background: rgba(231, 250, 246, 0.96) !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.personal-concept-card::after,
.quick-concept-btn::after {
  content: "+" !important;
  position: absolute !important;
  right: 10px !important;
  bottom: 9px !important;
  display: grid !important;
  place-items: center !important;
  width: 25px !important;
  height: 25px !important;
  color: var(--rt-turquoise-deep, #078D7E) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transform: none !important;
  pointer-events: none !important;
}

/* 2) Eliminar el elemento decorativo que aparece como una línea bajo la cifra */
.today-main-metric::after,
.today-main-metric::before,
.today-main-metric hr,
.today-main-metric .metric-divider,
.today-main-metric .metric-separator,
.today-main-metric .metric-line,
.today-main-metric .metric-progress,
.today-main-metric .progress-line {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.today-main-metric {
  align-content: center !important;
  justify-content: start !important;
  overflow: hidden !important;
}

.today-main-metric > span,
.today-main-metric > strong {
  position: relative !important;
  z-index: 1 !important;
}

/* 3) Modal y editor: ocupar el viewport útil y permitir desplazamiento real */
html.modal-ui-open,
body.modal-ui-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: auto !important;
}

.sale-modal-backdrop,
.sale-editor-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding:
    max(12px, env(safe-area-inset-top))
    12px
    max(12px, env(safe-area-inset-bottom))
    12px !important;
  background: rgba(7, 26, 38, 0.34) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
}

.sale-modal-card,
.sale-editor-card {
  position: relative !important;
  display: block !important;
  width: min(100%, 620px) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: calc(100svh - 24px) !important;
  max-height: calc(100dvh - 24px) !important;
  margin: auto !important;
  padding:
    16px
    16px
    calc(18px + env(safe-area-inset-bottom)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 1px solid var(--rt-border, #DFE8E7) !important;
  border-radius: 20px !important;
  background: #FFFFFF !important;
  box-shadow: 0 14px 42px rgba(7, 26, 38, 0.18) !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior-y: contain !important;
  touch-action: pan-y !important;
  scrollbar-gutter: stable;
}

.sale-modal-card > *,
.sale-editor-card > *,
.sale-modal-card .form-grid,
.sale-editor-card .form-grid {
  min-width: 0 !important;
}

.sale-modal-card .dashboard-fast-sale-actions,
.sale-editor-card .dashboard-fast-sale-actions,
.sale-modal-card .concept-action-grid,
.sale-editor-card .concept-action-grid,
.sale-modal-card .objective-action-grid,
.sale-editor-card .objective-action-grid {
  position: relative !important;
  z-index: 3 !important;
  bottom: auto !important;
  margin-top: 4px !important;
  padding-top: 8px !important;
  padding-bottom: 2px !important;
  background: #FFFFFF !important;
}

.sale-modal-card .primary-btn,
.sale-modal-card .secondary-btn,
.sale-modal-card .big-save-btn,
.sale-editor-card .primary-btn,
.sale-editor-card .secondary-btn,
.sale-editor-card .big-save-btn {
  min-height: 48px !important;
}

/* El menú fijo nunca debe cubrir el modal */
html.modal-ui-open .bottom-nav,
body.modal-ui-open .bottom-nav,
body:has(.sale-modal-backdrop) .bottom-nav,
body:has(.sale-editor-backdrop) .bottom-nav {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Móvil: hoja inferior que usa todo el alto disponible y puede desplazarse */
@media (max-width: 699px) {
  .sale-modal-backdrop,
  .sale-editor-backdrop {
    align-items: stretch !important;
    justify-content: flex-end !important;
    padding:
      max(8px, env(safe-area-inset-top))
      0
      0
      0 !important;
  }

  .sale-modal-card,
  .sale-editor-card {
    width: 100% !important;
    max-height: calc(100svh - 8px) !important;
    max-height: calc(100dvh - 8px) !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    border-radius: 20px 20px 0 0 !important;
  }
}

/* Escritorio: centrado, con alto máximo y scroll interno */
@media (min-width: 700px) {
  .sale-modal-card,
  .sale-editor-card {
    max-height: min(88dvh, 820px) !important;
  }
}

/* 4) Ajuste final de alineación en Hoy */
.today-metric-grid {
  align-items: stretch !important;
}
