/* Mobile refinement pass: each instrument reflows instead of shrinking. */
@media (max-width: 768px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  button,
  input,
  select,
  textarea {
    touch-action: manipulation;
  }

  .mv7-menu-button,
  .mv7-topbar .mv7-icon-button,
  .mv7-topbar .mv7-avatar {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .mv7-topbar {
    gap: 12px;
    padding-inline: 14px;
  }

  .mv7-page-identity h1 {
    font-size: 16px;
  }

  .mv7-page-identity p {
    max-width: min(54vw, 270px);
    line-height: 1.35;
  }

  .mv7-primary-button,
  .mv7-secondary-button,
  .mv7-danger-button,
  .mv7-period-control,
  .mv7-tx-select,
  .mv7-tx-type-filter {
    min-height: 44px;
  }

  /* Inicio: a deliberate, finger-snapping metric rail. */
  .mv7-metric-grid {
    padding: 0 18px 4px 0;
    scroll-padding-inline: 0 18px;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .mv7-metric {
    width: calc(100vw - 48px);
    min-width: calc(100vw - 48px);
    min-height: 166px;
    scroll-snap-stop: always;
  }

  .mv7-transaction-row {
    grid-template-columns: 34px minmax(0, 1fr) auto;
    padding-inline: 10px;
  }

  .mv7-transaction-row > .mv7-transaction-token {
    display: grid;
  }

  .mv7-transaction-copy strong {
    font-size: var(--v2-text-sm);
  }

  .mv7-transaction-copy span {
    font-size: var(--v2-text-micro);
  }

  .mv7-transaction-amount {
    max-width: 126px;
    font-size: var(--v2-text-micro);
  }

  /* Movimientos: keep complete values and comfortable filter targets. */
  .mv7-tx-summary-item:nth-child(2) strong,
  .mv7-tx-summary-item:nth-child(3) strong {
    font-size: clamp(14px, 4.1vw, 17px);
    letter-spacing: -0.055em;
  }

  .mv7-tx-search,
  .mv7-tx-select,
  .mv7-tx-type-filter {
    height: 44px;
  }

  .mv7-tx-type-filter button {
    min-height: 36px;
    padding-inline: 11px;
  }

  .mv7-tx-row {
    min-height: 72px;
  }

  /* Cuentas: compress the selected context without losing the map. */
  .mv7-money-map-canvas {
    gap: 11px;
    padding: 13px;
  }

  .mv7-money-source {
    min-height: 105px;
    padding: 16px;
  }

  .mv7-money-node {
    min-height: 60px;
  }

  .mv7-account-focus-main {
    padding: 19px 18px 18px;
  }

  .mv7-account-focus-heading {
    margin-bottom: 18px;
  }

  .mv7-account-focus-main > strong {
    font-size: clamp(25px, 7.7vw, 30px);
  }

  .mv7-account-actions {
    margin-top: 18px;
  }

  .mv7-account-focus-insight {
    padding: 16px 18px 17px;
  }

  .mv7-account-focus-insight > svg {
    height: 88px;
    margin-block: 2px;
  }

  .mv7-account-insight-stats {
    padding-top: 10px;
  }

  .mv7-account-layer {
    min-height: 72px;
  }

  /* Presupuestos: only the active lane expands; the rest become readable sparklines. */
  .mv7-budget-lane-main,
  .mv7-budget-lane.is-expanded .mv7-budget-lane-main {
    padding: 13px 14px 9px;
  }

  .mv7-budget-lane:not(.is-expanded) .mv7-budget-lane-track {
    height: 48px;
  }

  .mv7-budget-lane.is-expanded .mv7-budget-lane-track {
    height: 92px;
  }

  .mv7-budget-lane-detail {
    gap: 12px;
    padding-bottom: 14px;
  }

  .mv7-budget-lane-controls {
    padding-top: 10px;
  }

  .mv7-budget-lane-controls .mv7-secondary-button {
    min-height: 42px;
  }

  /* Objetivos: retain the monoliths, with less empty vertical travel. */
  .mv7-future-scene-header {
    min-height: 104px;
  }

  .mv7-goal-selected {
    min-height: 420px;
    grid-template-columns: 102px minmax(112px, 1fr);
    padding-bottom: 22px;
  }

  .mv7-goal-selected .mv7-goal-monolith {
    min-height: 275px;
  }

  .mv7-goal-compact {
    min-height: 210px;
    padding-block: 12px 20px;
  }

  .mv7-goal-compact .mv7-goal-monolith {
    min-height: 138px;
  }

  .mv7-goal-milestones {
    min-height: 0;
  }

  /* Calendario: a smaller runway that centers the active commitment. */
  .mv7-calendar-heading .mv7-primary-button,
  .mv7-recurring-heading .mv7-primary-button,
  .mv7-networth-heading .mv7-primary-button,
  .mv7-goals-heading-actions .mv7-secondary-button {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }

  .mv7-calendar-controls .mv7-icon-button {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }

  .mv7-calendar-scroll {
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .mv7-calendar-scroll::-webkit-scrollbar {
    display: none;
  }

  .mv7-calendar-runway {
    min-width: 720px;
  }

  .mv7-calendar-event {
    scroll-snap-align: center;
  }

  .mv7-calendar-event:not(.is-selected) {
    width: 46px;
    min-height: 46px;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 8px;
    border-radius: 50%;
  }

  .mv7-calendar-event:not(.is-selected) > div {
    display: none;
  }

  .mv7-calendar-event:not(.is-selected) > svg {
    width: 28px;
    height: 28px;
    padding: 6px;
  }

  .mv7-calendar-event.is-selected {
    width: 276px;
    min-height: 108px;
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 14px 15px;
  }

  .mv7-calendar-event.is-selected > svg {
    width: 40px;
    height: 40px;
    padding: 8px;
  }

  .mv7-calendar-event.is-selected > div strong {
    font-size: 16px;
  }

  .mv7-calendar-event.is-selected > div span {
    font-size: 12px;
  }

  .mv7-calendar-event footer {
    margin-top: 6px;
    padding-top: 8px;
  }

  .mv7-calendar-event footer span {
    font-size: var(--v2-text-micro);
  }

  .mv7-calendar-event footer span + span::before {
    margin-inline: 6px;
  }

  .mv7-calendar-landing {
    width: 98px;
    padding-left: 12px;
  }

  /* Recurrentes: the orbit fits the phone; services live in a tactile rail. */
  .mv7-orbit-scroll {
    overflow: visible;
    border: 1px solid var(--v2-line);
    border-radius: 13px 13px 0 0;
  }

  .mv7-orbit-field {
    width: 100%;
    min-width: 0;
    height: 620px;
    overflow: hidden;
  }

  .mv7-orbit-track {
    top: 25%;
    left: 50%;
  }

  .mv7-orbit-track-essential {
    width: 76%;
    height: 35%;
  }

  .mv7-orbit-track-review {
    width: 110%;
    height: 50%;
  }

  .mv7-orbit-track-optional {
    width: 140%;
    height: 65%;
  }

  .mv7-orbit-track-essential > span {
    top: -24px;
    left: 34%;
  }

  .mv7-orbit-track-review > span,
  .mv7-orbit-track-optional > span {
    display: none;
  }

  .mv7-orbit-core {
    top: 25%;
    left: 50%;
    width: 172px;
    height: 172px;
  }

  .mv7-orbit-core strong {
    font-size: 16px;
  }

  .mv7-orbit-core span {
    font-size: var(--v2-text-xs);
  }

  .mv7-orbit-nodes {
    position: absolute;
    z-index: 15;
    display: flex;
    gap: 8px;
    padding: 5px 12px 12px;
    overflow-x: auto;
    inset: 282px 0 auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .mv7-orbit-nodes::-webkit-scrollbar {
    display: none;
  }

  .mv7-recurring-node {
    position: relative;
    min-width: 118px;
    min-height: 62px;
    flex: 0 0 118px;
    gap: 7px;
    padding: 8px;
    border: 1px solid color-mix(in srgb, var(--node-color) 26%, transparent);
    border-radius: 12px;
    background: color-mix(in srgb, var(--node-color) 6%, rgba(5, 9, 8, 0.94));
    left: auto !important;
    top: auto !important;
    transform: none;
    scroll-snap-align: start;
  }

  .mv7-recurring-node:hover,
  .mv7-recurring-node:focus-visible {
    transform: none;
  }

  .mv7-recurring-node.is-selected {
    display: none;
  }

  .mv7-recurring-node > span:first-child {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .mv7-recurring-node > span:first-child svg {
    width: 19px;
    height: 19px;
  }

  .mv7-recurring-node > span:last-child {
    min-width: 0;
  }

  .mv7-recurring-node strong,
  .mv7-recurring-node small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-orbit-analysis {
    top: 360px;
    right: 12px;
    left: 12px;
    width: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 15px;
    border-left: 1px solid #58d6ff;
    border-radius: 14px;
  }

  .mv7-recurring-analysis-identity {
    gap: 10px;
    transform: none;
  }

  .mv7-recurring-analysis-identity > span {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .mv7-recurring-analysis-identity svg {
    width: 24px;
    height: 24px;
  }

  .mv7-orbit-analysis dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mv7-orbit-analysis dl > div {
    gap: 4px;
    padding: 7px 9px;
    text-align: left;
  }

  .mv7-orbit-analysis dl > div:nth-child(odd) {
    border-left: 0;
  }

  .mv7-orbit-analysis dd {
    white-space: nowrap;
  }

  .mv7-recurring-analysis-actions {
    grid-template-columns: 1fr 1fr;
  }

  .mv7-recurring-analysis-actions button {
    min-height: 42px;
  }

  .mv7-recurring-impact,
  .mv7-recurring-alert {
    display: none;
  }

  .mv7-recurring-simulator {
    min-height: 196px;
  }

  /* Patrimonio: preserve depth and enlarge the layers as tap targets. */
  .mv7-networth-primary h3 {
    font-size: clamp(30px, 9vw, 36px);
    white-space: nowrap;
  }

  .mv7-networth-layer-surface {
    min-height: 52px;
  }

  .mv7-networth-layer.is-selected .mv7-networth-layer-surface {
    min-height: 68px;
  }

  .mv7-networth-layer-copy strong {
    font-size: var(--v2-text-xs);
  }
}

@media (max-width: 390px) {
  .mv7-topbar-actions .mv7-icon-button:nth-child(2) {
    display: none;
  }

  .mv7-tx-summary-item:nth-child(2) strong,
  .mv7-tx-summary-item:nth-child(3) strong {
    font-size: 14px;
  }

  .mv7-calendar-controls {
    gap: 6px;
  }

  .mv7-calendar-controls h3 {
    min-width: 106px;
    margin-inline: 0;
  }

  .mv7-calendar-controls .mv7-secondary-button {
    padding-inline: 11px;
  }
}

/* Inicio motion language: value direction, depth and financial flow. */
.mv7-preview-badge {
  pointer-events: none;
}

@media (max-width: 768px) {
  .mv7-preview-badge {
    display: none;
  }
}

#overview-view .mv7-money-roll-char {
  display: inline-block;
  transform-origin: 50% 70%;
}

#overview-view .mv7-money-roll-char.is-up {
  animation: v2-money-roll-up 640ms cubic-bezier(0.16, 1, 0.3, 1) var(--roll-delay, 0ms) both;
}

#overview-view .mv7-money-roll-char.is-down {
  animation: v2-money-roll-down 640ms cubic-bezier(0.16, 1, 0.3, 1) var(--roll-delay, 0ms) both;
}

#overview-view .mv7-metric.is-value-up {
  animation: v2-balance-glow-up 820ms ease-out both;
}

#overview-view .mv7-metric.is-value-down {
  animation: v2-balance-glow-down 820ms ease-out both;
}

#overview-view .mv7-spark-line.is-drawing,
#overview-view .mv7-chart-line.is-drawing {
  stroke-dasharray: var(--overview-path-length);
  stroke-dashoffset: var(--overview-path-length);
  animation: v2-chart-draw 920ms cubic-bezier(0.22, 0.72, 0.18, 1) 80ms forwards;
}

#overview-view.is-entering .mv7-section-heading,
#overview-view.is-entering .mv7-metric,
#overview-view.is-entering .mv7-cashflow-panel,
#overview-view.is-entering .mv7-accounts-panel,
#overview-view.is-entering .mv7-activity-panel {
  animation: v2-overview-depth-in 620ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

#overview-view.is-entering .mv7-metric:nth-child(1) {
  animation-delay: 50ms;
}

#overview-view.is-entering .mv7-metric:nth-child(2) {
  animation-delay: 105ms;
}

#overview-view.is-entering .mv7-metric:nth-child(3) {
  animation-delay: 160ms;
}

#overview-view.is-entering .mv7-cashflow-panel {
  animation-delay: 190ms;
}

#overview-view.is-entering .mv7-accounts-panel {
  animation-delay: 245ms;
}

#overview-view.is-entering .mv7-activity-panel {
  animation-delay: 300ms;
}

#overview-view .mv7-transaction-list.is-entering .mv7-transaction-row {
  animation: v2-activity-rise 480ms cubic-bezier(0.16, 1, 0.3, 1)
    calc(250ms + var(--activity-index, 0) * 48ms) both;
}

#overview-view.is-entering .mv7-chart-area,
#overview-view.is-entering .mv7-spark-fill {
  animation: v2-chart-area-reveal 900ms ease-out 280ms both;
}

#overview-view.is-entering .mv7-chart-point {
  animation: v2-chart-point-pop 520ms cubic-bezier(0.16, 1, 0.3, 1) 920ms both;
}

@keyframes v2-money-roll-up {
  from {
    opacity: 0;
    filter: blur(4px);
    transform: translateY(72%) rotateX(-42deg);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) rotateX(0);
  }
}

@keyframes v2-money-roll-down {
  from {
    opacity: 0;
    filter: blur(4px);
    transform: translateY(-72%) rotateX(42deg);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) rotateX(0);
  }
}

@keyframes v2-balance-glow-up {
  0%,
  100% {
    border-color: rgba(255, 255, 255, 0.105);
  }
  38% {
    border-color: rgba(45, 222, 152, 0.42);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.1),
      0 0 34px rgba(45, 222, 152, 0.13),
      0 20px 52px -30px rgba(45, 222, 152, 0.34);
  }
}

@keyframes v2-balance-glow-down {
  0%,
  100% {
    border-color: rgba(255, 255, 255, 0.105);
  }
  38% {
    border-color: rgba(255, 159, 67, 0.4);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.1),
      0 0 34px rgba(255, 159, 67, 0.12),
      0 20px 52px -30px rgba(255, 159, 67, 0.3);
  }
}

@keyframes v2-chart-draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes v2-overview-depth-in {
  from {
    opacity: 0;
    filter: blur(7px);
    transform: translateY(16px) scale(0.985);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0) scale(1);
  }
}

@keyframes v2-activity-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes v2-chart-area-reveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes v2-chart-point-pop {
  from {
    opacity: 0;
    filter: blur(4px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  #overview-view *,
  #overview-view *::before,
  #overview-view *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* ─── Inicio: accesos rápidos, personalización, ahorro/facturas/objetivos ─── */

/* Accesos rápidos: en producción (js/sections/dashboard.js,
   updateMobileHome) son exclusivos de Inicio en móvil — acá se respeta lo
   mismo, ocultos por default y visibles solo en el breakpoint móvil. */
.mv7-quick-actions-row,
#edit-quick-actions {
  display: none;
}

@media (max-width: 768px) {
  .mv7-quick-actions-row {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  #edit-quick-actions {
    display: grid;
  }
}

.mv7-overview-secondary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.mv7-overview-secondary-grid .mv7-panel-header > div {
  min-width: 0;
  flex: 1 1 auto;
}

.mv7-overview-secondary-grid .mv7-text-link {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 1120px) {
  .mv7-overview-secondary-grid {
    grid-template-columns: 1fr 1fr;
  }

  .mv7-savings-total-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .mv7-overview-secondary-grid {
    grid-template-columns: 1fr;
  }

  .mv7-savings-total-panel {
    grid-column: auto;
  }
}

.mv7-savings-total-panel {
  padding: 20px;
}

.mv7-savings-total-value {
  position: relative;
  z-index: 2;
  display: block;
  margin: 14px 0 4px;
  font-family: var(--v2-font);
  font-size: clamp(24px, 2vw, 28px);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

.mv7-savings-total-caption {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--v2-muted);
  font-size: 12px;
}

.mv7-bills-list,
.mv7-goals-progress-list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 15px 15px;
}

.mv7-bill-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  transition: background 150ms ease;
}

.mv7-bill-row:hover {
  background: rgba(255, 255, 255, 0.055);
}

.mv7-bill-day {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--v2-muted);
  font-family: var(--v2-font);
  font-size: var(--v2-text-sm);
  font-weight: 650;
}

.mv7-bill-row-today .mv7-bill-day {
  background: rgba(255, 159, 67, 0.16);
  color: var(--v2-amber);
}

.mv7-bill-row-overdue .mv7-bill-day {
  background: rgba(255, 98, 89, 0.16);
  color: var(--v2-red);
}

.mv7-bill-row-paid .mv7-bill-day {
  background: var(--v2-green-soft);
  color: var(--v2-green);
}

.mv7-bill-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.mv7-bill-copy strong {
  overflow: hidden;
  font-size: 12px;
  font-weight: 590;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-bill-copy span {
  color: var(--v2-dim);
  font-size: var(--v2-text-xs);
}

.mv7-bill-amount {
  font-family: var(--v2-font);
  font-size: 12px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.mv7-bill-toggle {
  display: grid;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  place-items: center;
  border: 1px solid var(--v2-line);
  border-radius: 50%;
  background: transparent;
  color: var(--v2-dim);
  cursor: pointer;
  transition:
    background 140ms ease,
    color 140ms ease,
    border-color 140ms ease;
}

.mv7-bill-toggle svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.mv7-bill-toggle.is-paid {
  border-color: rgba(45, 222, 152, 0.3);
  background: var(--v2-green-soft);
  color: var(--v2-green);
}

.mv7-goal-progress-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

.mv7-goal-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}

.mv7-goal-progress-head > span:first-child {
  overflow: hidden;
  font-weight: 590;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-goal-progress-head .mv7-private-value {
  color: var(--v2-muted);
  font-family: var(--v2-font);
  font-size: var(--v2-text-sm);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.mv7-goal-progress-head .mv7-private-value.is-complete {
  color: var(--v2-green);
}

.mv7-goal-progress-track {
  height: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.06);
}

.mv7-goal-progress-fill {
  height: 100%;
  border-radius: 2px;
  background: var(--v2-green);
}

.mv7-goal-progress-fill.is-complete {
  background: var(--v2-green-bright);
}

/* Diálogos sin <form> (solo header/contenido/footer): .mv7-dialog form ya
   trae el padding de 21px para los diálogos con formulario; estos usan
   .mv7-dialog-body en su lugar para el mismo padding. */
.mv7-dialog-body {
  padding: 21px;
}

.mv7-qa-picker-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.mv7-qa-picker-item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 10px;
  border: 1px solid var(--v2-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--v2-muted);
  cursor: pointer;
  transition:
    background 140ms ease,
    border-color 140ms ease,
    color 140ms ease;
}

.mv7-qa-picker-item:hover {
  border-color: var(--v2-line-strong);
  background: rgba(255, 255, 255, 0.055);
}

.mv7-qa-picker-item svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.mv7-qa-picker-item span {
  font-size: var(--v2-text-sm);
  font-weight: 550;
}

.mv7-qa-picker-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 14px;
  height: 14px;
  opacity: 0;
  color: var(--v2-green);
  transition: opacity 140ms ease;
}

.mv7-qa-picker-item.is-selected {
  border-color: rgba(45, 222, 152, 0.35);
  background: var(--v2-green-soft);
  color: var(--v2-text);
}

.mv7-qa-picker-item.is-selected .mv7-qa-picker-check {
  opacity: 1;
}

.mv7-dashboard-config-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}

.mv7-config-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--v2-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.mv7-config-item-ghost {
  opacity: 0.4;
}

.mv7-config-drag-handle {
  display: grid;
  flex: 0 0 20px;
  place-items: center;
  color: var(--v2-dim);
  cursor: grab;
}

.mv7-config-drag-handle svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.mv7-config-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-switch {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 34px;
  height: 20px;
}

.mv7-switch input {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.mv7-switch-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  transition: background 160ms ease;
}

.mv7-switch-slider::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #f4f7f5;
  transition: transform 160ms ease;
}

.mv7-switch input:checked + .mv7-switch-slider {
  background: var(--v2-green);
}

.mv7-switch input:checked + .mv7-switch-slider::before {
  transform: translateX(14px);
}

/* ─── Inicio móvil: llevar los widgets nuevos al mismo nivel de pulido que
   el resto del sistema mobile de v2 (targets táctiles de 44px, tipografía
   y densidad consistentes — ver bloques @media(max-width:768px) en 4655 y
   7742 para la referencia de ese sistema). Solo CSS, mismo HTML/JS que
   escritorio. ─── */
@media (max-width: 768px) {
  /* La cabecera de Inicio pasa de la grilla rígida original (pensada para
     insignia + selector de período + botón) a flex-wrap, porque ahora
     también vive ahí la fila de accesos rápidos y los 2 botones de
     personalizar — reordenados con `order` para que el período y el botón
     de movimiento sigan juntos en la primera fila (comportamiento
     probado, sin cambios), accesos rápidos ocupe su propia fila completa,
     y los 2 íconos de edición queden juntos en una tercera fila chica. */
  .mv7-heading-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
  }

  .mv7-period-control {
    order: 1;
    flex: 1 1 auto;
  }

  #open-composer {
    order: 2;
  }

  .mv7-quick-actions-row {
    order: 3;
    flex: 1 1 100%;
    justify-content: center;
    gap: 10px;
    padding: 2px 0;
  }

  #edit-quick-actions,
  #open-dashboard-config {
    order: 4;
  }

  /* Estaba calibrado (top: 88px) para la cabecera de una sola fila; ahora
     que la cabecera crece a 3 filas, se ancla arriba del todo en vez de
     recalcular un offset mágico que dependa de cuántas filas hay. */
  .mv7-preview-badge {
    top: 2px;
  }

  .mv7-quick-actions-row .mv7-quick-action-btn {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }

  /* Ahorro total: mini-hero, número grande legible de un vistazo. */
  .mv7-savings-total-panel {
    padding: 18px 18px 20px;
  }

  .mv7-savings-total-value {
    margin: 12px 0 6px;
    font-size: clamp(26px, 8vw, 32px);
  }

  /* Área táctil real de 44px en los links "Ver X" de los paneles nuevos,
     sin mover el texto (padding + margen negativo compensan el offset). */
  .mv7-savings-total-panel .mv7-text-link,
  .mv7-bills-panel .mv7-text-link,
  .mv7-goals-progress-panel .mv7-text-link {
    padding: 14px 4px;
    margin: -14px -4px;
  }

  /* Próximas facturas: fila más aireada y botón de pago a tamaño táctil
     real (26px → 44px, igual que el resto de botones icon de mobile). */
  .mv7-bills-list,
  .mv7-goals-progress-list {
    padding: 8px 14px 16px;
    gap: 8px;
  }

  .mv7-bill-row {
    grid-template-columns: 36px minmax(0, 1fr) auto auto;
    min-height: 60px;
    padding: 8px 10px 8px 12px;
  }

  .mv7-bill-copy strong {
    font-size: 13px;
  }

  .mv7-bill-toggle {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
  }

  .mv7-bill-toggle svg {
    width: 16px;
    height: 16px;
  }

  /* Progreso de objetivos: barra más gruesa para que se perciba bien en
     pantalla chica, filas con más aire entre sí. */
  .mv7-goal-progress-row {
    padding: 12px 14px;
  }

  .mv7-goal-progress-track {
    height: 6px;
  }

  /* La grilla secundaria ya colapsa a 1 columna (regla ≤860px existente);
     acá solo se empareja el respiro vertical con el resto de Inicio. */
  .mv7-overview-secondary-grid {
    gap: 10px;
    margin-top: 10px;
  }

  /* Targets táctiles de 44px dentro de los 2 diálogos nuevos. */
  .mv7-qa-picker-item {
    min-height: 76px;
  }

  .mv7-config-item {
    min-height: 44px;
  }

  .mv7-config-drag-handle {
    width: 44px;
    flex-basis: 44px;
    margin: -10px 0;
  }

  .mv7-switch {
    width: 40px;
    height: 24px;
  }

  .mv7-switch-slider::before {
    width: 20px;
    height: 20px;
  }

  .mv7-switch input:checked + .mv7-switch-slider::before {
    transform: translateX(16px);
  }
}

/* ─── Inicio móvil: misma UBICACIÓN de tarjetas que el Inicio viejo
   (html/view-dashboard.html, #mobile-home-layout — ver captura de
   referencia), con el diseño propio de v2. Bienvenida → período →
   balance-hero + ingresos/gastos → accesos rápidos → resto. Escritorio no
   se toca (todo dentro de @media max-width:768px). ─── */

.mv7-welcome-card {
  display: none;
}

@media (max-width: 768px) {
  /* Contenedor de Inicio pasa a flex column: es lo que permite reordenar
     con `order` secciones que en el DOM no son hermanas directas (ver
     display:contents más abajo). Solo afecta #overview-view — .mv7-content
     no se reutiliza en ninguna otra vista. */
  #overview-view.mv7-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  #overview-view.mv7-content[hidden] {
    display: none;
  }

  /* Estas ya no necesitan su propio margin-top: el gap del contenedor
     reemplaza el espaciado que tenían pensado para flujo normal. */
  .mv7-analysis-grid,
  .mv7-overview-secondary-grid,
  .mv7-activity-panel {
    margin-top: 0;
  }

  .mv7-welcome-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    order: 1;
  }

  /* El avatar ya está en la topbar (arriba a la derecha) — repetirlo acá
     abajo a la izquierda leía como si fueran dos usuarios distintos. */
  .mv7-avatar.mv7-welcome-avatar {
    display: none;
  }

  .mv7-welcome-copy {
    min-width: 0;
    flex: 1;
  }

  /* Estado de cuenta/racha: repite info decorativa que no cambia la
     lectura del resto de Inicio — se saca para que el saludo quede
     como único elemento de la tarjeta de bienvenida. */
  .mv7-welcome-badges {
    display: none;
  }

  .mv7-welcome-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: var(--v2-text-xs);
    font-weight: 650;
    letter-spacing: 0.01em;
    white-space: nowrap;
  }

  .mv7-welcome-badge-active {
    border: 1px solid rgba(45, 222, 152, 0.25);
    background: var(--v2-green-soft);
    color: var(--v2-green);
  }

  .mv7-welcome-badge-streak {
    border: 1px solid rgba(255, 159, 67, 0.25);
    background: rgba(255, 159, 67, 0.12);
    color: var(--v2-amber);
  }

  .mv7-welcome-badge-streak svg {
    width: 11px;
    height: 11px;
    fill: currentColor;
  }

  .mv7-welcome-hint {
    color: var(--v2-dim);
    font-size: var(--v2-text-xs);
  }

  .mv7-welcome-title {
    margin: 0;
    font-size: 27px;
    font-weight: 650;
    letter-spacing: -0.02em;
  }

  .mv7-welcome-subtitle {
    display: block;
    margin: 4px 0 0;
    color: var(--v2-muted);
    font-size: 14px;
  }

  /* Avatar de la topbar un poco más presente en mobile, más cerca de la
     proporción de la referencia. */
  .mv7-topbar .mv7-avatar {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    font-size: 16px;
  }

  /* La insignia "Vista previa" pasa de position:absolute (con un offset
     fijo calibrado para la cabecera vieja de 1 fila) a un item de flex
     más: con la bienvenida arriba y la cabecera aplanada más abajo, un
     `top` fijo en px ya no tiene ningún punto de referencia estable. */
  .mv7-preview-badge {
    position: static;
    order: 2;
    align-self: flex-start;
  }

  /* La tarjeta de bienvenida cubre el saludo, pero "Panorama" sigue
     siendo el rótulo real de la sección de estadísticas de abajo — la
     referencia lo muestra, así que vuelve a aparecer (antes se ocultaba
     por completo). La fecha tipo "HOY" sí se saca, es la única parte
     redundante. Los controles reales (período, accesos rápidos, botón
     de movimiento) se "aplanan" para que sus hijos participen directo
     del flex de #overview-view y puedan reordenarse con `order` junto
     al resto de secciones de Inicio. */
  .mv7-section-heading {
    display: contents;
  }

  .mv7-section-heading > div:first-child {
    order: 2;
  }

  #overview-view .mv7-eyebrow {
    display: none;
  }

  .mv7-section-heading h2 {
    margin: 18px 0 0;
    font-size: 26px;
  }

  .mv7-heading-tools {
    display: contents;
  }

  .mv7-period-control {
    order: 3;
  }

  /* Botón de agregar movimiento: pasa de ocupar su propia fila suelta
     (una tarjeta más en un Inicio que ya tiene demasiadas) a un FAB fijo
     abajo a la derecha — patrón estándar en apps mobile, no compite por
     espacio con el resto del contenido. No hay tab bar inferior con la
     que choque. */
  #open-composer {
    position: fixed;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 40;
    width: 52px;
    height: 52px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.55);
  }

  .mv7-metric-grid {
    order: 5;
  }

  .mv7-quick-actions-row {
    order: 6;
  }

  /* Editar accesos rápidos / personalizar Inicio: controles de
     configuración, no de lectura diaria — se sacan de la vista mobile
     para bajar la cantidad de tarjetas/controles en pantalla. Siguen
     disponibles en escritorio. */
  .mv7-heading-icon-tools {
    display: none;
  }

  /* Flujo de dinero + Cuentas: se sacan por ahora (a pedido explícito,
     2026-08-06) mientras se termina de ajustar el resto de Inicio en
     mobile — Cuentas ya vive en su propia sección del nav, repetirla acá
     era una tarjeta más en un Inicio que ya tenía demasiadas. */
  .mv7-analysis-grid {
    display: none;
  }

  /* Ahorro total / Próximas facturas / Progreso de objetivos: cada una
     ya tiene su vista dedicada (Objetivos, Calendario) — en mobile
     Inicio se queda con balance, ingresos/gastos, flujo y actividad
     reciente nada más. */
  .mv7-overview-secondary-grid {
    display: none;
  }

  .mv7-activity-panel {
    order: 10;
  }

  /* Balance como hero de ancho completo + ingresos/gastos en 2 columnas
     debajo (igual ubicación que .mh-balance-card + .mh-stats-grid en el
     Inicio viejo) — reemplaza a propósito el rail de scroll horizontal
     de arriba (bloque "a deliberate, finger-snapping metric rail"): acá
     el balance necesita ser standalone, no una tarjeta más del rail. */
  .mv7-metric-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding-right: 0;
    margin-right: 0;
    overflow-x: visible;
    scroll-snap-type: none;
  }

  .mv7-metric-primary {
    grid-column: 1 / -1;
  }

  .mv7-metric {
    width: auto;
    min-width: 0;
    scroll-snap-align: none;
  }

  .mv7-metric-income,
  .mv7-metric-expense {
    min-height: 132px;
    padding: 16px 16px 14px;
  }

  /* Ingresos/Gastos en tarjetas de ~168px: el título + tag ("N
     registros") no entraban en una sola línea (el título se comprimía
     por flex:1 y su texto desbordaba encima del tag), y la descripción
     larga no aportaba nada que el título ya no dijera. Se sacan ambas,
     mismo criterio que el resto del recorte de Inicio en mobile: menos
     texto secundario, la cifra queda como protagonista. */
  .mv7-metric-income .mv7-metric-tag,
  .mv7-metric-expense .mv7-metric-tag,
  .mv7-metric-income > p,
  .mv7-metric-expense > p {
    display: none;
  }

  /* El monto ("Gs. 10.200.000") se salía de la tarjeta a 24-30px en un
     ancho de ~135px — se achica solo acá, no en el balance hero. */
  .mv7-metric-income > strong,
  .mv7-metric-expense > strong {
    margin-top: 10px;
    overflow: hidden;
    font-size: clamp(15px, 4.6vw, 18px);
    text-overflow: ellipsis;
  }

  /* #overview-view es flex-column con align-items:stretch por default —
     sin esto, los controles chicos (botón +, período) se estiran al
     ancho completo en vez de quedarse a su tamaño natural. */
  .mv7-period-control {
    align-self: flex-start;
  }

  /* Accesos rápidos como en el Inicio viejo: ícono en círculo + etiqueta
     abajo, en vez de solo íconos sin texto — se entiende de un vistazo
     qué hace cada botón sin tener que tocarlo. */
  .mv7-quick-actions-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-self: stretch;
    gap: 8px;
  }

  .mv7-quick-actions-row .mv7-quick-action-btn {
    display: flex;
    width: auto;
    height: auto;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 4px 10px;
    border-radius: 16px;
  }

  .mv7-quick-actions-row .mv7-quick-action-btn svg {
    width: 18px;
    height: 18px;
  }

  .mv7-quick-action-label {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--v2-muted);
    font-size: var(--v2-text-xs);
    font-weight: 600;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* En Inicio, la tarjeta de bienvenida ya cumple el rol de cabecera
     (saludo + contexto) — mostrar además "Inicio" en la topbar de arriba
     duplicaba el mismo mensaje dos veces seguidas. Se oculta solo para
     esta vista (selector con atributo le gana en especificidad a
     `.mv7-page-identity` sin importar en qué bloque @media caiga esa
     regla); el resto de las vistas (Movimientos, Cuentas, etc.) no
     tienen tarjeta de bienvenida propia, así que ahí se deja como está. */
  body[data-v2-view='overview'] .mv7-page-identity {
    display: none;
  }
}

/* Aviso de cuenta suspendida/cerrada por el Owner — ver js/v2-acct-block.js.
   Mismo mecanismo real de producción (Realtime sobre owner_user_notices),
   reconstruido acá con los tokens de v2 en vez de los colores hardcodeados
   que tenía la versión vieja. */
.mv7-acct-block-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 999999;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(3, 5, 4, 0.92);
  backdrop-filter: blur(20px) saturate(1.3);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
}
.mv7-acct-block-overlay.is-active { display: flex; }
.mv7-acct-block-card {
  width: 100%;
  max-width: 400px;
  padding: 36px 28px 28px;
  border-radius: var(--v2-radius);
  text-align: center;
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 98, 89, 0.3);
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.8);
}
.mv7-acct-block-icon {
  display: grid;
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  place-items: center;
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(255, 98, 89, 0.32), rgba(255, 98, 89, 0.1));
  color: var(--v2-red);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), inset 0 0 0 1px rgba(255, 98, 89, 0.25);
}
.mv7-acct-block-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.mv7-acct-block-overlay.is-kicked .mv7-acct-block-icon {
  background: linear-gradient(155deg, rgba(255, 159, 67, 0.32), rgba(255, 159, 67, 0.1));
  color: var(--v2-amber);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.18), inset 0 0 0 1px rgba(255, 159, 67, 0.25);
}
.mv7-acct-block-card h2 { margin: 0 0 10px; font-size: 19px; font-weight: 700; color: var(--v2-text); letter-spacing: -0.02em; }
.mv7-acct-block-card p { margin: 0 0 26px; color: var(--v2-muted); font-size: 12px; line-height: 1.55; }
.mv7-acct-block-card .mv7-primary-button { width: 100%; }

/* Ayuda / FAQ — acordeón simple, contenido nuevo (ver js/v2.js FAQ_DATA),
   nunca existió en v2 antes. */
.mv7-faq-item { border-bottom: 1px solid rgba(255,255,255,.065); }
.mv7-faq-item:last-child { border-bottom: 0; }
.mv7-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 2px;
  cursor: pointer;
  color: var(--v2-text);
  font-size: 12px;
  font-weight: 550;
}
.mv7-faq-question svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: var(--v2-muted); stroke-width: 1.6; transition: transform .2s; }
.mv7-faq-item.is-open .mv7-faq-question svg { transform: rotate(180deg); stroke: var(--v2-green-bright); }
.mv7-faq-answer { display: none; }
.mv7-faq-answer > p { margin: 0; padding: 0 2px 15px; color: var(--v2-muted); font-size: var(--v2-text-sm); line-height: 1.6; }
.mv7-faq-item.is-open .mv7-faq-answer { display: block; }

/* Calendar — desktop monthly redesign. Existing event actions remain intact. */
.mv7-calendar-view{display:grid!important;grid-template-columns:minmax(0,1fr) 290px;gap:16px;padding:26px 28px 30px;align-items:start}.mv7-calendar-view[hidden]{display:none!important}
.mv7-calendar-heading{grid-column:1/-1;margin:0}.mv7-calendar-heading h2{font-size:38px;letter-spacing:-.045em;margin:5px 0}.mv7-calendar-heading>div>p:last-child{color:var(--v2-muted)}.mv7-calendar-heading>.mv7-primary-button{position:absolute;right:28px;top:116px}
.mv7-calendar-desktop-redesign{display:flex;flex-direction:column;min-width:0;padding:0;border:0;background:none;box-shadow:none}.mv7-calendar-controls{order:-2;width:max-content;margin:0 170px 14px auto;padding:0;gap:9px;background:none;border:0;position:relative;z-index:4}.mv7-calendar-controls h3{display:none}.mv7-calendar-controls #calendar-prev{order:-2}.mv7-calendar-controls #calendar-next{order:0}.mv7-calendar-controls #calendar-today{order:1}.mv7-calendar-bills-summary{display:none}
.mv7-calendar-scroll{order:2;overflow:visible}.mv7-calendar-runway{width:100%;min-width:0;height:auto;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}.mv7-calendar-runway::before{content:"LUN      MAR      MIÉ      JUE      VIE      SÁB      DOM";position:static;display:flex;align-items:center;justify-content:space-around;height:43px;white-space:pre;color:var(--v2-muted);font:700 10px/1 sans-serif;border-bottom:1px solid rgba(255,255,255,.1);background:none}
.mv7-calendar-days{position:static;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:auto}.mv7-calendar-day{display:block;position:relative!important;left:auto!important;top:auto;transform:none!important;width:auto;height:105px;padding:11px 8px;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}.mv7-calendar-day:nth-child(7n){border-right:0}.mv7-calendar-day:nth-last-child(-n+7){border-bottom:0}.mv7-calendar-day::after,.mv7-calendar-day>span{display:none}.mv7-calendar-day>strong{display:block;font-size:12px;line-height:16px}.mv7-calendar-day.is-outside{color:rgba(255,255,255,.24);background:rgba(0,0,0,.08)}.mv7-calendar-day.is-today{outline:2px solid var(--v2-green);outline-offset:-2px;background:rgba(45,222,152,.045)}.mv7-calendar-day.is-today>strong{color:var(--v2-green);font-size:17px}.mv7-calendar-day.is-today>strong::after{content:"Hoy";font-size:var(--v2-text-micro);margin-left:6px;padding:3px 6px;border-radius:9px;background:rgba(45,222,152,.12)}
.mv7-calendar-events,.mv7-calendar-today-axis,.mv7-calendar-scale,.mv7-calendar-zero-line,.mv7-calendar-runway>.mv7-calendar-balance,.mv7-calendar-landing{display:none!important}.mv7-calendar-day .mv7-calendar-event{position:relative;top:auto!important;left:auto!important;transform:none;width:100%;min-height:25px;margin-top:6px;padding:4px 6px;border:0;border-radius:7px;box-shadow:none;background:color-mix(in srgb,var(--event-color) 17%,transparent)}.mv7-calendar-day .mv7-calendar-event:hover,.mv7-calendar-day .mv7-calendar-event.is-selected{transform:none;outline:1px solid var(--event-color)}.mv7-calendar-day .mv7-calendar-event>svg,.mv7-calendar-day .mv7-calendar-event footer,.mv7-calendar-day .mv7-calendar-event::before,.mv7-calendar-day .mv7-calendar-event::after,.mv7-calendar-day .mv7-calendar-event-toggle,.mv7-calendar-day .mv7-calendar-event-delete,.mv7-calendar-day .mv7-calendar-event-edit{display:none}.mv7-calendar-day .mv7-calendar-event.is-selected{padding-right:56px}.mv7-calendar-day .mv7-calendar-event.is-selected .mv7-calendar-event-toggle,.mv7-calendar-day .mv7-calendar-event.is-selected .mv7-calendar-event-delete,.mv7-calendar-day .mv7-calendar-event.is-selected .mv7-calendar-event-edit{display:grid;position:absolute;top:4px;width:16px;height:16px;border:0;background:rgba(0,0,0,.32)}.mv7-calendar-day .mv7-calendar-event.is-selected .mv7-calendar-event-toggle{right:20px}.mv7-calendar-day .mv7-calendar-event.is-selected .mv7-calendar-event-delete{right:3px}.mv7-calendar-day .mv7-calendar-event.is-selected .mv7-calendar-event-edit{right:37px;left:auto}.mv7-calendar-day .mv7-calendar-event.is-source-transaction.is-selected .mv7-calendar-event-edit,.mv7-calendar-day .mv7-calendar-event.is-source-subscription.is-selected .mv7-calendar-event-edit{right:3px}.mv7-calendar-day .mv7-calendar-event.is-selected button svg{width:9px;height:9px}.mv7-calendar-day .mv7-calendar-event>div{display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:4px}.mv7-calendar-day .mv7-calendar-event>div strong,.mv7-calendar-day .mv7-calendar-event>div span{font-size:var(--v2-text-micro);line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mv7-calendar-more{display:block;margin:4px;padding:0;border:0;background:none;color:var(--v2-muted);font:inherit;font-size:var(--v2-text-micro);cursor:pointer}.mv7-calendar-more::after{content:none}.mv7-calendar-more:hover,.mv7-calendar-more:focus-visible{color:var(--v2-green);outline:none}
.mv7-calendar-summary{order:1;display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0 0 14px;padding:0;background:none;border:0}.mv7-calendar-summary-label{display:none}.mv7-calendar-summary dl{display:contents}.mv7-calendar-summary dl>div{position:relative;min-height:86px;padding:16px 14px 12px 58px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.mv7-calendar-summary dl>div::before{position:absolute;left:15px;top:18px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:17px;background:rgba(45,222,152,.11);color:var(--v2-green)}.mv7-calendar-summary dl>div:nth-child(1)::before{content:"↗"}.mv7-calendar-summary dl>div:nth-child(2)::before{content:"↘";color:#f5a524;background:rgba(245,165,36,.11)}.mv7-calendar-summary dl>div:nth-child(3)::before{content:"▥"}.mv7-calendar-summary dt{font-size:var(--v2-text-xs);letter-spacing:0;color:var(--v2-muted)}.mv7-calendar-summary dd{font-size:17px;margin-top:5px}.mv7-calendar-summary dl>div:first-child dd{color:var(--v2-green)}.mv7-calendar-summary dl>div:nth-child(2) dd{color:#f5a524}
.mv7-calendar-sidebar{grid-column:2;display:flex;flex-direction:column;gap:13px}.mv7-calendar-side-card{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.mv7-calendar-side-card h3{font-size:12px;margin:0 0 12px}.mv7-calendar-upcoming-row{width:100%;display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:8px;padding:7px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:rgba(255,255,255,.015);color:inherit;text-align:left;margin-top:6px}.mv7-calendar-upcoming-row time{display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.08)}.mv7-calendar-upcoming-row time strong{font-size:13px}.mv7-calendar-upcoming-row small{display:block;color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-calendar-upcoming-row>span>strong{font-size:var(--v2-text-xs)}.mv7-calendar-upcoming-row>b{font-size:var(--v2-text-micro);color:#f5a524}.mv7-calendar-upcoming-row.is-income>b{color:var(--v2-green)}.mv7-calendar-no-upcoming{font-size:var(--v2-text-xs);color:var(--v2-muted)}
.mv7-calendar-flow>div{display:flex;justify-content:space-between}.mv7-calendar-flow>div span{font-size:var(--v2-text-micro);color:var(--v2-muted)}.mv7-calendar-flow>div strong{display:block;margin-top:3px;font-size:var(--v2-text-xs);color:var(--v2-text)}.mv7-calendar-flow-line{display:block;height:72px;margin-top:9px;background:linear-gradient(180deg,rgba(45,222,152,.2),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 75'%3E%3Cpath d='M0 58 L25 43 L50 51 L75 49 L100 48 L125 32 L150 29 L175 18 L200 15 L225 18 L250 17 L275 9 L300 5' fill='none' stroke='%232dde98' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat}.mv7-calendar-reminder{display:flex;justify-content:space-between;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:8px;font-size:var(--v2-text-xs)}.mv7-calendar-reminder small{display:block;color:var(--v2-muted);margin-top:2px;font-size:var(--v2-text-micro)}.mv7-calendar-empty-reminder{display:flex;gap:8px;align-items:center;margin:14px 4px 2px;color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-calendar-empty-reminder svg{width:22px;height:22px;fill:none;stroke:currentColor}.mv7-calendar-empty-reminder small{display:block;font-size:inherit}
@media(max-width:1100px){.mv7-calendar-view{grid-template-columns:1fr}.mv7-calendar-sidebar{grid-column:1;display:grid;grid-template-columns:repeat(3,1fr)}.mv7-calendar-heading>.mv7-primary-button{position:static}.mv7-calendar-controls{margin:0 0 14px auto}.mv7-calendar-day{height:94px}}
@media(max-width:720px){.mv7-calendar-view{padding:18px 14px}.mv7-calendar-heading h2{font-size:28px}.mv7-calendar-heading>.mv7-primary-button span{display:none}.mv7-calendar-controls{width:100%;margin:0 0 12px}.mv7-calendar-controls h3{flex:1}.mv7-calendar-summary{grid-template-columns:1fr}.mv7-calendar-runway{overflow-x:auto}.mv7-calendar-runway::before,.mv7-calendar-days{min-width:700px}.mv7-calendar-sidebar{display:flex}}

/* Recurring — service control table while retaining composer and item actions. */
.mv7-recurring-view{display:grid!important;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:25px 28px 30px;align-items:start}.mv7-recurring-view[hidden]{display:none!important}.mv7-recurring-heading,.mv7-vampire-alert,.mv7-recurring-kpis{grid-column:1/-1}.mv7-recurring-heading{margin:0}.mv7-recurring-heading h2{font-size:31px;letter-spacing:-.04em;margin:5px 0}.mv7-recurring-heading>div>p:last-child{color:var(--v2-muted)}
.mv7-recurring-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mv7-recurring-kpis article{min-height:100px;padding:18px;display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.mv7-recurring-kpis article>span{font-size:var(--v2-text-sm);color:var(--v2-muted)}.mv7-recurring-kpis strong{display:block;margin:8px 0 6px;font-size:20px;color:var(--v2-text)}.mv7-recurring-kpis small{display:block;font-size:var(--v2-text-xs);color:var(--v2-muted)}.mv7-recurring-kpis article:first-child strong,.mv7-recurring-kpis .is-saving strong{color:var(--v2-green)}.mv7-recurring-kpis .is-saving{border-color:rgba(45,222,152,.42);background:linear-gradient(145deg,rgba(45,222,152,.08),rgba(255,255,255,.012))}.mv7-recurring-kpis article>i{width:55px;height:55px;display:grid;place-items:center}.mv7-recurring-kpis .is-line{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 50'%3E%3Cpath d='M2 44 L14 34 L25 39 L38 25 L48 27 L58 7' fill='none' stroke='%232dde98' stroke-width='2'/%3E%3Cpath d='M2 44 L14 34 L25 39 L38 25 L48 27 L58 7 V50 H2Z' fill='%232dde98' opacity='.12'/%3E%3C/svg%3E") center/contain no-repeat}.mv7-recurring-kpis .is-bars{background:linear-gradient(90deg,transparent 8%,rgba(255,255,255,.3) 8% 19%,transparent 19% 25%,rgba(255,255,255,.42) 25% 38%,transparent 38% 44%,rgba(255,255,255,.55) 44% 57%,transparent 57% 63%,rgba(255,255,255,.7) 63% 78%,transparent 78% 84%,rgba(255,255,255,.85) 84% 97%,transparent 97%) bottom/100% 75% no-repeat}.mv7-recurring-kpis .is-services svg{width:28px;height:28px;fill:none;stroke:var(--v2-muted)}.mv7-recurring-kpis .is-ring{border:7px solid rgba(45,222,152,.16);border-top-color:var(--v2-green);border-right-color:var(--v2-green);border-radius:50%;color:var(--v2-green);font-style:normal;font-weight:800}
.mv7-orbit-system{grid-column:1;min-width:0;min-height:0;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01));overflow:hidden}.mv7-orbit-scroll{overflow:visible}.mv7-orbit-field{width:100%;min-width:0;height:auto;min-height:0;padding:0;background:none}.mv7-orbit-field::before{content:"Servicios recurrentes";position:static!important;display:block;padding:19px 20px 15px;font-size:16px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.08);background:none;mask-image:none}.mv7-orbit-track,.mv7-orbit-core,.mv7-recurring-impact,.mv7-recurring-alert{display:none}.mv7-orbit-nodes{position:static;display:flex;flex-direction:column;padding:0 12px 12px}.mv7-orbit-nodes::before{content:"SERVICIO        ESTADO        PRÓXIMO COBRO        CUENTA        COSTO MENSUAL        CAMBIO        ACCIONES";display:block;padding:13px 8px;color:var(--v2-muted);font:700 8px/1 sans-serif;word-spacing:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.mv7-recurring-node{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%;height:55px;display:grid;grid-template-columns:34px 1.25fr .9fr .75fr 1fr .85fr .75fr .65fr;align-items:center;gap:8px;padding:7px;border:0;border-bottom:1px solid rgba(255,255,255,.07);border-radius:0;background:none;text-align:left}.mv7-recurring-node:hover,.mv7-recurring-node:focus-visible,.mv7-recurring-node.is-selected{transform:none!important;background:rgba(255,255,255,.035);box-shadow:none}.mv7-recurring-node.is-selected{opacity:1;pointer-events:auto;outline:1px solid color-mix(in srgb,var(--v2-green) 45%,transparent);border-radius:8px}.mv7-recurring-node>span:first-child{width:30px;height:30px;border-radius:7px}.mv7-recurring-node>span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:2px}.mv7-recurring-node>span:last-child{display:block}.mv7-recurring-node>span:nth-child(2) strong{font-size:var(--v2-text-xs)}.mv7-recurring-node>span:nth-child(2) small{font-size:var(--v2-text-xs);color:var(--v2-text)}.mv7-recurring-row-status{justify-self:start;padding:5px 7px;border-radius:6px;background:rgba(45,222,152,.08);color:var(--v2-green);font-size:var(--v2-text-micro)}.is-review .mv7-recurring-row-status{background:rgba(245,165,36,.1);color:#f5a524}.is-optional .mv7-recurring-row-status{background:rgba(255,93,93,.1);color:#ff6767}.mv7-recurring-row-due,.mv7-recurring-row-account,.mv7-recurring-row-change,.mv7-recurring-row-action{font-size:var(--v2-text-micro);color:var(--v2-muted)}.mv7-recurring-row-due{color:var(--v2-text);font-weight:700}.mv7-recurring-row-change{color:#f5a524}.mv7-recurring-row-action{padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:6px;text-align:center;color:var(--v2-text)}
.mv7-orbit-analysis{position:static;width:auto;margin:0 12px 12px;padding:12px;border-radius:10px;display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:center;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08)}.mv7-recurring-analysis-identity{margin:0}.mv7-orbit-analysis dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0}.mv7-orbit-analysis dl>div{padding:0;border:0}.mv7-recurring-analysis-actions{margin:0;flex-direction:column}.mv7-recurring-analysis-actions button{min-height:28px;font-size:var(--v2-text-micro)}.mv7-recurring-simulator{margin:0;border:0;border-top:1px solid rgba(255,255,255,.08);border-radius:0;background:rgba(255,255,255,.015)}
.mv7-recurring-sidebar{grid-column:2;display:flex;flex-direction:column;gap:13px}.mv7-recurring-side-card{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.mv7-recurring-side-card h3{font-size:12px;margin:0 0 12px}.mv7-recurring-upcoming-row,.mv7-recurring-increase-row{width:100%;min-height:45px;display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:6px 0;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:none;color:inherit;text-align:left}.mv7-recurring-upcoming-row time{border-right:1px solid rgba(255,255,255,.09)}.mv7-recurring-upcoming-row time strong{font-size:13px}.mv7-recurring-upcoming-row time small{display:block;font-size:var(--v2-text-micro);color:var(--v2-muted)}.mv7-recurring-upcoming-row>span,.mv7-recurring-increase-row>span{font-size:var(--v2-text-xs)}.mv7-recurring-upcoming-row>b{font-size:var(--v2-text-micro);color:var(--v2-muted)}.mv7-recurring-side-card footer{display:flex;justify-content:space-between;padding-top:12px;font-size:var(--v2-text-xs)}.mv7-recurring-side-card footer strong{color:var(--v2-green)}.mv7-recurring-increase-row{grid-template-columns:1fr auto auto}.mv7-recurring-increase-row b{font-size:var(--v2-text-micro)}.mv7-recurring-increase-row em{font-size:var(--v2-text-micro);color:#f5a524}.mv7-recurring-no-increases{font-size:var(--v2-text-xs);color:var(--v2-muted)}
@media(max-width:1150px){.mv7-recurring-view{grid-template-columns:1fr}.mv7-recurring-sidebar{grid-column:1;display:grid;grid-template-columns:1fr 1fr}.mv7-recurring-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.mv7-recurring-view{padding:18px 14px}.mv7-recurring-heading h2{font-size:25px}.mv7-recurring-kpis{display:flex;overflow-x:auto}.mv7-recurring-kpis article{min-width:240px}.mv7-orbit-scroll{overflow-x:auto}.mv7-orbit-field{min-width:830px}.mv7-recurring-sidebar{display:flex}.mv7-orbit-analysis{grid-template-columns:1fr}.mv7-recurring-simulator{min-width:830px}}

/* Settings alignment audit — shared geometry and overflow safeguards. */
.mv7-settings-stage,.mv7-settings-tab,.mv7-tab-layout,.mv7-tab-main,.mv7-tab-rail,.mv7-settings-card,.mv7-settings-context-card{min-width:0}
.mv7-settings-title{min-height:46px;display:flex;flex-direction:column;justify-content:center}.mv7-settings-title h3,.mv7-settings-title p{max-width:100%;overflow-wrap:anywhere}
.mv7-settings-card svg,.mv7-settings-context-card svg,.mv7-settings-nav-item svg{flex-shrink:0}.mv7-settings-card button,.mv7-settings-context-card button{align-items:center;justify-content:center}.mv7-settings-card button>svg,.mv7-settings-context-card button>svg{flex:0 0 auto}
.mv7-settings-row>span,.mv7-notification-row>span:nth-child(2),.mv7-security-access-row>span:nth-child(2){min-width:0}.mv7-settings-row strong,.mv7-settings-row small,.mv7-notification-row strong,.mv7-notification-row small,.mv7-security-access-row strong,.mv7-security-access-row small{overflow-wrap:anywhere}
.mv7-notifications-title{text-align:left;margin:1px 2px 4px;align-items:flex-start}.mv7-notifications-title h3,.mv7-notifications-title p{text-align:left}
.mv7-settings-hub:has(.mv7-settings-tab[data-settings-panel='faq']:not([hidden])),.mv7-settings-hub:has(.mv7-settings-tab[data-settings-panel='danger']:not([hidden])){grid-template-columns:228px minmax(0,1fr)}
.mv7-settings-hub:has(.mv7-settings-tab[data-settings-panel='faq']:not([hidden]))>.mv7-settings-context,.mv7-settings-hub:has(.mv7-settings-tab[data-settings-panel='danger']:not([hidden]))>.mv7-settings-context{display:none}
.mv7-settings-tab[data-settings-panel='faq'] .mv7-settings-card,.mv7-settings-tab[data-settings-panel='danger'] .mv7-settings-card{max-width:none;width:100%}
.mv7-category-empty{min-height:280px}.mv7-category-inspector-empty{min-height:240px}.mv7-category-toolbar>*{min-width:0}.mv7-category-filters{min-width:270px}.mv7-category-toolbar>.mv7-primary-button{display:flex;align-items:center;gap:7px}
.mv7-how-grid>div{min-width:0;overflow:hidden}.mv7-how-grid strong,.mv7-how-grid small{max-width:100%;overflow-wrap:anywhere;text-align:center}.mv7-how-grid svg{max-width:38px}.mv7-sync-settings-list>div{min-width:0}.mv7-sync-settings-list span{min-width:0;overflow-wrap:anywhere}
.mv7-privacy-visibility-options button{min-width:0}.mv7-privacy-visibility-options button span{min-width:0}.mv7-privacy-visibility-options strong,.mv7-privacy-visibility-options small{overflow-wrap:anywhere}
.mv7-profile-workspace .mv7-settings-fields input,.mv7-profile-workspace .mv7-settings-fields select{width:100%;min-width:0}.mv7-profile-region .mv7-settings-row>select{max-width:48%}
.mv7-notification-row select{max-width:116px}.mv7-notification-row .mv7-switch,.mv7-settings-row .mv7-switch,.mv7-notifications-master .mv7-switch{flex:0 0 40px}
.mv7-security-hero-card>*{min-width:0}.mv7-security-hero-copy,.mv7-security-score{overflow-wrap:anywhere}.mv7-security-recommendation-row>span,.mv7-security-activity-row>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.mv7-notifications-layout,.mv7-tab-layout,.mv7-profile-workspace .mv7-tab-layout,.mv7-security-layout,.mv7-category-workspace{grid-template-columns:1fr}.mv7-category-inspector{grid-template-columns:1fr 1fr}.mv7-notification-preview-stage{min-height:220px}}

/* Security card: switch before its middle column becomes too narrow (tablet / scaled mobile). */
.mv7-security-hero-copy{overflow-wrap:normal;word-break:normal}.mv7-security-score{overflow-wrap:normal;word-break:normal}
@media(max-width:1100px){
  .mv7-security-hero{grid-template-columns:100px minmax(0,1fr);gap:16px;min-height:0;padding:18px}
  .mv7-security-shield{width:88px;height:88px}
  .mv7-security-shield>svg:first-child{width:60px;height:60px}
  .mv7-security-shield .mv7-security-check{width:29px;height:29px}
  .mv7-security-score{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;margin-top:4px}
  .mv7-security-score progress{grid-column:1/-1}
}
@media(max-width:520px){
  .mv7-security-hero{grid-template-columns:1fr;justify-items:center;text-align:center;padding:20px 16px}
  .mv7-security-hero-copy{justify-items:center;width:100%}
  .mv7-security-hero-copy p{max-width:30ch}
  .mv7-security-score{width:100%;grid-column:1;justify-self:stretch;text-align:left}
}

/* Keep theme illustrations useful when the settings column becomes narrow. */
.mv7-settings-card:has(>.mv7-theme-grid){container-type:inline-size}
.mv7-theme-grid button{align-items:stretch!important;justify-content:stretch!important;min-width:0}
.mv7-theme-preview{display:grid;width:100%;min-width:0;box-sizing:border-box}
@container(max-width:430px){
  .mv7-theme-grid{grid-template-columns:1fr}
  .mv7-theme-grid button{grid-template-columns:132px minmax(0,1fr);align-items:center!important;gap:13px;padding:9px}
  .mv7-theme-preview{display:grid;height:92px}
  .mv7-theme-preview-rail{gap:7px;padding:8px 6px}
  .mv7-theme-preview-rail i:first-child{margin-bottom:2px}
  .mv7-theme-preview-canvas{grid-template-rows:11px 19px minmax(0,1fr);gap:6px;padding:8px}
  .mv7-theme-preview-chart{padding:5px 4px 3px}
  .mv7-theme-option-copy{padding-right:26px}
  .mv7-theme-option-state{top:12px;right:12px}
}
@container(max-width:350px){
  .mv7-theme-grid button{grid-template-columns:112px minmax(0,1fr);gap:11px}
}

/* Mobile settings refinement pass. */
@media(max-width:600px){
  .mv7-appearance-workspace .mv7-tab-rail{grid-template-columns:1fr}
  .mv7-appearance-workspace .mv7-settings-row-slider{display:grid;grid-template-columns:1fr;gap:8px}
  .mv7-appearance-workspace .mv7-settings-row-slider input[type="range"]{width:100%}
  .mv7-category-inspector{grid-template-columns:1fr}
  .mv7-category-inspector-empty{min-height:170px}
  .mv7-category-tip{min-height:0}
  .mv7-settings-summary .mv7-settings-metric:last-child:nth-child(odd){grid-column:1/-1}
  .mv7-settings-tab[data-settings-panel="backup"] .mv7-settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mv7-settings-tab[data-settings-panel="backup"] .mv7-settings-actions>*{width:100%;min-width:0;margin:0}
  .mv7-settings-tab[data-settings-panel="backup"] .mv7-settings-actions>*:last-child:nth-child(odd){grid-column:1/-1}
  .mv7-sync-flow .mv7-how-grid{display:grid;grid-template-columns:1fr;gap:8px}
  .mv7-sync-flow .mv7-how-grid>div{min-height:0;grid-template-columns:30px 42px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;align-items:center;gap:2px 10px;padding:13px;text-align:left;overflow:visible}
  .mv7-sync-flow .mv7-how-grid b{position:static;grid-column:1;grid-row:1/-1}
  .mv7-sync-flow .mv7-how-grid i{grid-column:2;grid-row:1/-1;width:38px;height:38px}
  .mv7-sync-flow .mv7-how-grid i svg{width:29px;height:29px}
  .mv7-sync-flow .mv7-how-grid strong{grid-column:3;grid-row:1;text-align:left}
  .mv7-sync-flow .mv7-how-grid small{grid-column:3;grid-row:2;text-align:left}
  .mv7-notification-preview-stage{min-height:190px}
  .mv7-notification-toast{grid-template-columns:36px minmax(0,1fr) auto;padding:11px}
  .mv7-notification-toast i{width:34px;height:34px}
  .mv7-privacy-workspace .mv7-tab-layout{display:flex;flex-direction:column;gap:14px}
  .mv7-privacy-workspace .mv7-tab-main,.mv7-privacy-workspace .mv7-tab-rail{display:contents}
  .mv7-privacy-workspace .mv7-tab-layout{align-items:stretch}
  .mv7-privacy-score-card,.mv7-privacy-session-card,.mv7-privacy-policy,.mv7-privacy-actions{width:100%;box-sizing:border-box}
  .mv7-privacy-score-card{order:1}
  .mv7-privacy-workspace .mv7-tab-main>.mv7-privacy-section:first-child{order:2}
  .mv7-privacy-workspace .mv7-tab-main>.mv7-privacy-section:nth-child(2){order:3}
  .mv7-privacy-visibility{order:4}
  .mv7-privacy-actions{order:5}
  .mv7-privacy-session-card{order:6}
  .mv7-privacy-policy{order:7}
  .mv7-profile-workspace .mv7-tab-layout{display:flex;flex-direction:column;align-items:stretch;gap:14px}
  .mv7-profile-workspace .mv7-tab-main,.mv7-profile-workspace .mv7-tab-rail{display:contents}
  .mv7-profile-card{order:1}
  .mv7-profile-progress-card{order:2}
  .mv7-profile-region{order:3}
  .mv7-profile-workspace .mv7-tab-main>.mv7-settings-card:not(.mv7-profile-card):not(.mv7-profile-region){order:4}
  .mv7-profile-public-card{order:5}
  .mv7-profile-session-button{order:6;width:100%}
  .mv7-settings-tab[data-settings-panel="danger"] .mv7-danger-card{display:grid;grid-template-columns:1fr;gap:14px}
  .mv7-settings-tab[data-settings-panel="danger"] .mv7-danger-card button{width:100%;min-height:44px}
}

/* Panel de notificaciones (campanita) — historial curado, no cada toast.
   Ver js/v2-notifications.js. */
.mv7-notif-dialog { width: min(400px, calc(100% - 28px)); }
.mv7-notif-filters { display: flex; gap: 8px; margin: 4px 0 12px; }
.mv7-notif-filters button { padding: 7px 14px; border: 1px solid var(--v2-line); border-radius: 999px; background: transparent; color: var(--v2-muted); cursor: pointer; font-size: var(--v2-text-sm); }
.mv7-notif-filters button.is-active { border-color: rgba(45,222,152,.4); background: var(--v2-green-soft); color: var(--v2-green-bright); }
.mv7-notif-list { display: grid; gap: 2px; max-height: 360px; overflow-y: auto; margin: 0 -4px; }
.mv7-notif-item { display: grid; grid-template-columns: 32px 1fr; gap: 11px; align-items: start; padding: 11px 4px; border-radius: 10px; }
.mv7-notif-item.is-read { opacity: .55; }
.mv7-notif-item-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--v2-green-soft); color: var(--v2-green-bright); }
.mv7-notif-item-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.mv7-notif-item p { margin: 0 0 3px; color: var(--v2-text); font-size: 12px; line-height: 1.4; }
.mv7-notif-item small { color: var(--v2-muted); font-size: var(--v2-text-xs); }
.mv7-notif-empty { display: grid; justify-items: center; gap: 8px; padding: 44px 20px; text-align: center; }
.mv7-notif-empty svg { width: 26px; height: 26px; fill: none; stroke: var(--v2-muted); stroke-width: 1.4; }
.mv7-notif-empty strong { font-size: 13px; }
.mv7-notif-empty p { margin: 0; color: var(--v2-muted); font-size: var(--v2-text-sm); }

/* Banner de anuncios del Owner (admin_broadcasts, tiempo real) */
.mv7-broadcast-banner {
  position: fixed;
  top: calc(var(--v2-topbar-height) + 14px);
  left: calc(var(--v2-sidebar-width) + (100% - var(--v2-sidebar-width)) / 2);
  z-index: 999998;
  display: flex;
  gap: 14px;
  align-items: center;
  width: min(520px, calc(100% - var(--v2-sidebar-width) - 28px));
  padding: 14px 16px;
  border: 1px solid rgba(45,222,152,.3);
  border-radius: 14px;
  background: linear-gradient(165deg, rgba(20,24,21,.97), rgba(10,13,11,.97));
  box-shadow: 0 20px 50px -20px rgba(0,0,0,.7);
  opacity: 0;
  transform: translate(-50%, -14px);
  transition: opacity .3s ease, transform .3s ease;
}
.mv7-broadcast-banner.is-visible { opacity: 1; transform: translate(-50%, 0); }
.mv7-broadcast-banner[hidden] { display: none; }
.mv7-broadcast-copy { flex: 1; min-width: 0; }
.mv7-broadcast-copy strong { display: block; margin-bottom: 4px; color: var(--v2-green-bright); font-size: var(--v2-text-xs); letter-spacing: .04em; text-transform: uppercase; }
.mv7-broadcast-copy p { margin: 0; color: var(--v2-text); font-size: 12px; line-height: 1.45; }
.mv7-broadcast-copy p b { font-weight: 650; }
.mv7-broadcast-copy p span { color: var(--v2-muted); }
@media (max-width: 768px) {
  .mv7-broadcast-banner {
    top: 8px;
    left: 50%;
    width: calc(100% - 16px);
  }
}

/* Multi-perfil — switcher local por dispositivo (js/v2-profiles.js).
   Cada perfil aísla sus propios datos financieros vía scopedKey(); no
   tiene relación con la cuenta de Supabase (esa sigue siendo aura_profile,
   sin tocar). */
.mv7-profile-switcher { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 8px; }
.mv7-profile-chip { display: grid; justify-items: center; gap: 7px; width: 76px; cursor: pointer; background: transparent; border: 0; color: inherit; }
.mv7-profile-chip-avatar { position: relative; display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; overflow: hidden; color: #fff; font-size: 18px; font-weight: 650; }
.mv7-profile-chip-avatar img { width: 100%; height: 100%; object-fit: cover; }
.mv7-profile-chip.is-active .mv7-profile-chip-avatar { box-shadow: 0 0 0 3px var(--v2-canvas), 0 0 0 5px var(--v2-green); }
.mv7-profile-chip span { max-width: 100%; overflow: hidden; color: var(--v2-muted); font-size: var(--v2-text-xs); text-overflow: ellipsis; white-space: nowrap; }
.mv7-profile-chip.is-active span { color: var(--v2-text); font-weight: 550; }
.mv7-profile-chip-edit { position: absolute; right: -2px; bottom: -2px; display: grid; width: 20px; height: 20px; place-items: center; border: 2px solid var(--v2-canvas); border-radius: 50%; background: rgba(0,0,0,.65); color: #fff; }
.mv7-profile-chip-edit svg { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 2; }
.mv7-profile-chip-add .mv7-profile-chip-avatar { border: 1.5px dashed var(--v2-line-strong); background: transparent; color: var(--v2-muted); }
.mv7-profile-chip-add .mv7-profile-chip-avatar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }

.mv7-profile-colors { display: flex; gap: 15px; margin: 10px 0 8px; }
.mv7-profile-colors button { width: 35px; height: 35px; border: 3px solid transparent; border-radius: 50%; cursor: pointer; }
.mv7-profile-colors button:nth-child(1) { background: #0A84FF; }
.mv7-profile-colors button:nth-child(2) { background: #FF453A; }
.mv7-profile-colors button:nth-child(3) { background: #30D158; }
.mv7-profile-colors button:nth-child(4) { background: #0ea5e9; }
.mv7-profile-colors button:nth-child(5) { background: #BF5AF2; }
.mv7-profile-colors button.is-selected { box-shadow: 0 0 0 2px #0b0e0c, 0 0 0 4px var(--v2-text); }
#profile-composer-avatar { margin: 0 auto; }
.mv7-profile-avatar-zone { display: grid; justify-items: center; gap: 8px; margin-bottom: 6px; }
.mv7-profile-composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mv7-profile-composer-footer:has(#profile-composer-delete[hidden]) { justify-content: flex-end; }

/* Chip de estado de sincronización — puerto de js/core/sync-panel.js.
   Oculto cuando todo está sincronizado (mismo criterio que producción:
   solo interrumpe si hay algo que decir). */
.mv7-conn-status-chip svg { stroke: var(--v2-muted); }
.mv7-conn-status-chip.is-offline svg { stroke: var(--v2-amber); }
.mv7-conn-status-chip.is-pending svg { stroke: var(--v2-amber); }
.mv7-conn-status-chip.is-error svg { stroke: var(--v2-red); }
.mv7-conn-status-chip.is-syncing svg { stroke: var(--v2-green-bright); animation: mv7ConnSpin 1s linear infinite; }
@keyframes mv7ConnSpin { to { transform: rotate(360deg); } }

/* Comunidad Fase 2A — toolbar, leaderboard, perfil completo. */
.mv7-community-toolbar { display: flex; justify-content: flex-end; padding: 10px 20px 0; }
.mv7-community-toolbar .mv7-icon-button svg { stroke: var(--v2-muted); }
.mv7-community-toolbar .mv7-icon-button:hover svg { stroke: var(--v2-green-bright); }
.mv7-community-tool-label{display:none}
.mv7-community-view button:focus-visible,.mv7-community-view a:focus-visible,.mv7-community-view input:focus-visible,.mv7-community-view textarea:focus-visible,.mv7-dm-dialog button:focus-visible,.mv7-dm-dialog input:focus-visible,.mv7-dm-dialog textarea:focus-visible,#community-leaderboard-dialog button:focus-visible{outline:2px solid var(--v2-green-bright);outline-offset:2px}
.mv7-community-tabs button:focus-visible{outline-offset:-4px}.mv7-community-post-actions button:focus-visible,.mv7-community-post-body>header button:focus-visible{background:rgba(45,222,152,.09)}

#community-leaderboard-list { display: grid; gap: 2px; max-height: 400px; overflow-y: auto; margin-top: 10px; }
.mv7-leaderboard-row { display: grid; grid-template-columns: 26px 34px 1fr auto; gap: 11px; align-items: center; padding: 10px 4px; border-radius: 10px; cursor: pointer; }
.mv7-leaderboard-row:hover,.mv7-leaderboard-row:focus-within { background: rgba(255,255,255,.03); }
.mv7-leaderboard-row.is-you { background: var(--v2-green-soft); }
.mv7-leaderboard-rank { text-align: center; color: var(--v2-muted); font-size: 13px; font-weight: 650; }
.mv7-leaderboard-name { overflow: hidden; color: var(--v2-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.mv7-leaderboard-row strong { color: var(--v2-green-bright); font-size: var(--v2-text-sm); }
.mv7-leaderboard-separator { margin: 10px 0 2px; color: var(--v2-muted); font-size: var(--v2-text-xs); text-transform: uppercase; letter-spacing: .04em; }

#community-profile-panel { padding: 20px 24px; max-width: 720px; margin: 0 auto; }
#community-profile-back { margin-bottom: 14px; }
#community-profile-back svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; margin-right: 6px; vertical-align: -2px; }
.mv7-community-profile-header { display: flex; align-items: center; gap: 16px; }
.mv7-community-profile-avatar { width: 64px; height: 64px; flex: 0 0 64px; font-size: 20px; }
.mv7-community-profile-identity { flex: 1; min-width: 0; }
.mv7-community-profile-identity h2 { overflow-wrap:anywhere; margin: 0 0 3px; font-size: 19px; }
.mv7-community-profile-identity p { overflow:hidden; margin: 0; color: var(--v2-muted); font-size: var(--v2-text-sm); text-overflow:ellipsis; white-space:nowrap; }
.mv7-community-profile-stats { display: flex; gap: 28px; margin: 18px 0; padding: 16px 0; border-top: 1px solid var(--v2-line); border-bottom: 1px solid var(--v2-line); }
.mv7-community-profile-stats div { display: flex; flex-direction: column; gap: 3px; }
.mv7-community-profile-stats strong { font-size: 17px; }
.mv7-community-profile-stats span { color: var(--v2-muted); font-size: var(--v2-text-xs); }
.mv7-community-profile-onboarding { padding: 16px; margin-bottom: 18px; border: 1px solid var(--v2-line); border-radius: 14px; background: rgba(255,255,255,.02); }
.mv7-community-profile-onboarding h4 { margin: 0 0 10px; font-size: 13px; }
.mv7-community-onboarding-step { display: flex; align-items: center; gap: 10px; padding: 6px 0; color: var(--v2-muted); font-size: var(--v2-text-sm); }
.mv7-community-onboarding-step span:first-child { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid var(--v2-line-strong); border-radius: 50%; }
.mv7-community-onboarding-step.is-done { color: var(--v2-text); }
.mv7-community-onboarding-step.is-done span:first-child { border-color: var(--v2-green); background: var(--v2-green-soft); color: var(--v2-green-bright); }
.mv7-community-onboarding-step svg { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 2.5; }
.mv7-community-profile-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--v2-line); }
.mv7-community-profile-tabs button { padding: 10px 4px; margin-right: 18px; border-bottom: 2px solid transparent; background: transparent; color: var(--v2-muted); cursor: pointer; font-size: 12px; }
.mv7-community-profile-tabs button.is-active { border-bottom-color: var(--v2-green); color: var(--v2-text); }
#community-profile-tab-caption { margin: 10px 0; }
.mv7-community-profile-item { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.045); }
.mv7-community-profile-item p { overflow-wrap:anywhere; margin: 0 0 5px; color: var(--v2-text); font-size: 12px; line-height: 1.5; }
.mv7-community-profile-item small { color: var(--v2-muted); font-size: var(--v2-text-xs); }
.mv7-community-profile-item img { width: 100%; max-width: 220px; margin-top: 6px; border-radius: 10px; }

/* Pulso de la comunidad — reemplazo real del community_stats de
   producción (esa tabla quedó en 0/0/0 desde su creación, sin trigger ni
   función que la actualice en todo el stack — no tenía sentido portar un
   número muerto). Estos 2 valores salen de queries en vivo. */
.mv7-community-pulse-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mv7-community-pulse-stats div { display: grid; gap: 3px; padding: 10px; border-radius: 10px; background: rgba(255, 255, 255, 0.025); text-align: center; }
.mv7-community-pulse-stats strong { font-size: 18px; }
.mv7-community-pulse-stats span { color: var(--v2-muted); font-size: var(--v2-text-xs); }

/* Comunidad Fase 2B — Mensajes directos. Dialog propio con dos vistas
   internas (lista ↔ hilo), sin el reparenting de producción. */
.mv7-community-dm-toggle { position: relative; }
.mv7-community-dm-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  display: grid;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  place-items: center;
  border: 1px solid var(--v2-surface);
  border-radius: 999px;
  background: var(--v2-red);
  color: #fff;
  font-size: var(--v2-text-xs);
  font-weight: 650;
  line-height: 1;
}
.mv7-community-dm-badge[hidden] { display: none; }

.mv7-dm-dialog { width: min(420px, calc(100% - 28px)); }
.mv7-dm-dialog .mv7-dialog-body { display: flex; flex-direction: column; height: min(560px, calc(100vh - 56px)); padding: 0; }
#community-dm-list-view,
#community-dm-thread-view { display: flex; flex-direction: column; height: 100%; }
#community-dm-list-view[hidden],
#community-dm-thread-view[hidden] { display: none; }
.mv7-dm-dialog header { flex: 0 0 auto; padding: 21px 21px 0; margin-bottom: 14px; }
#community-dm-conversations { flex: 1; overflow-y: auto; padding: 0 12px 16px; }

.mv7-dm-conversation-row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.mv7-dm-conversation-row:hover { background: rgba(255, 255, 255, 0.03); }
.mv7-dm-conversation-row div { min-width: 0; }
.mv7-dm-conversation-row strong { display: block; margin-bottom: 2px; color: var(--v2-muted); font-size: 12px; }
.mv7-dm-conversation-row.is-unread strong { color: var(--v2-text); }
.mv7-dm-conversation-row p { margin: 0; overflow: hidden; color: var(--v2-muted); font-size: var(--v2-text-sm); text-overflow: ellipsis; white-space: nowrap; }
.mv7-dm-conversation-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.mv7-dm-conversation-meta small { color: var(--v2-muted); font-size: var(--v2-text-xs); }
.mv7-dm-conversation-unread {
  display: grid;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  place-items: center;
  border-radius: 999px;
  background: var(--v2-green-bright);
  color: #04150c;
  font-size: var(--v2-text-xs);
  font-weight: 700;
}

#community-dm-thread-view header { display: flex; align-items: center; gap: 10px; }
#community-dm-thread-back { flex: 0 0 auto; }
.mv7-dm-thread-identity { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.mv7-dm-thread-identity strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }

#community-dm-messages { flex: 1; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; padding: 0 21px 12px; }
.mv7-dm-bubble { max-width: 78%; padding: 9px 12px; border-radius: 14px; }
.mv7-dm-bubble p { margin: 0; font-size: 12px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
.mv7-dm-bubble small { display: block; margin-top: 4px; font-size: var(--v2-text-micro); opacity: 0.6; }
.mv7-dm-bubble.is-mine { align-self: flex-end; border-bottom-right-radius: 4px; background: var(--v2-green-soft); color: var(--v2-text); }
.mv7-dm-bubble.is-theirs { align-self: flex-start; border-bottom-left-radius: 4px; background: rgba(255, 255, 255, 0.045); color: var(--v2-text); }

.mv7-dm-composer { display: flex; flex: 0 0 auto; align-items: flex-end; gap: 10px; padding: 12px 21px 21px; border-top: 1px solid var(--v2-line); }
.mv7-dm-composer textarea {
  flex: 1;
  max-height: 96px;
  padding: 9px 12px;
  resize: none;
  border: 1px solid var(--v2-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--v2-text);
  font: inherit;
  font-size: 12px;
}
.mv7-dm-composer textarea:focus { outline: none; border-color: var(--v2-green); }
.mv7-dm-composer .mv7-icon-button { flex: 0 0 36px; }

@media (max-width: 768px) {
  .mv7-community-toolbar { padding: 8px 14px 0; }
  #community-profile-panel { padding: 16px; }
  .mv7-community-profile-header { flex-wrap: wrap; }
  .mv7-community-profile-actions { width: 100%; }
  .mv7-community-profile-actions button { width: 100%; }
  .mv7-community-profile-stats { gap: 20px; }
  .mv7-community-profile-tabs { overflow-x: auto; }
  .mv7-leaderboard-row { grid-template-columns: 22px 30px 1fr auto; }
  .mv7-dm-dialog .mv7-dialog-body { height: calc(100vh - 32px); }
  /* La toolbar mobile de otra sesión agrega un ::after genérico a todo
     .mv7-icon-button dentro de .mv7-community-toolbar con texto "Ranking"
     — no estaba escrito pensando en un segundo botón (Mensajes). Se
     corrige acá por ID en vez de tocar esa regla ajena. */
  #community-dm-open::after { content: none; }
}

/* Final mobile precedence: these rules intentionally follow the desktop redesign blocks. */
@media(max-width:760px){
  .mv7-recurring-kpis{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important;gap:9px!important}
  .mv7-recurring-kpis article{min-width:0!important;min-height:112px;padding:14px}
  .mv7-orbit-scroll{overflow:visible!important}
  .mv7-orbit-field{width:100%!important;min-width:0!important}
  .mv7-orbit-nodes::before{content:"Servicios recurrentes"!important;padding:12px 4px!important;font-size:var(--v2-text-xs)!important;word-spacing:normal!important}
  .mv7-recurring-node{height:auto!important;min-height:116px!important;grid-template-columns:36px minmax(0,1fr) auto!important;grid-template-rows:auto auto auto!important;gap:7px 9px!important;padding:12px 4px!important}
  .mv7-recurring-node>span:first-child{grid-column:1;grid-row:1/3}.mv7-recurring-node>span:nth-child(2){grid-column:2;grid-row:1}.mv7-recurring-row-status{grid-column:3;grid-row:1}.mv7-recurring-row-due{grid-column:2;grid-row:2}.mv7-recurring-row-account{grid-column:2;grid-row:3}.mv7-recurring-row-change{grid-column:3;grid-row:2}.mv7-recurring-row-action{grid-column:3;grid-row:3}.mv7-recurring-node>span:last-child{grid-column:2/4;grid-row:3}
  .mv7-orbit-analysis{margin:10px!important;grid-template-columns:1fr!important}
  .mv7-recurring-simulator{min-width:0!important;display:grid!important;grid-template-columns:1fr!important;gap:13px!important;padding:16px!important}
  .mv7-recurring-simulator-action,.mv7-recurring-saving,.mv7-recurring-projection{width:100%;min-width:0}.mv7-recurring-projection{padding-top:12px;border-top:1px solid var(--v2-line)}
  .mv7-community-feed{position:relative}.mv7-community-toolbar{position:static!important;height:48px;align-items:center;gap:8px;padding:6px 14px!important;border-bottom:1px solid var(--v2-line)}.mv7-community-toolbar .mv7-icon-button{display:flex;width:auto;min-width:0;height:36px;gap:7px;padding:0 11px;background:rgba(255,255,255,.035)}.mv7-community-toolbar .mv7-icon-button::after{content:none!important}.mv7-community-tool-label{display:inline;color:var(--v2-muted);font-size:var(--v2-text-xs);white-space:nowrap}.mv7-community-tabs{padding-right:0;scroll-snap-type:x proximity}.mv7-community-tabs button{min-width:max-content!important;white-space:nowrap;scroll-snap-align:start}
  .mv7-tx-ledger:has(.mv7-tx-empty){min-height:0!important}.mv7-tx-list:has(.mv7-tx-empty){min-height:210px!important}.mv7-tx-empty{align-self:center}
  .mv7-goal-empty{min-height:260px!important;padding:20px 14px}.mv7-future-stage:has(.mv7-goal-empty){min-height:260px!important;display:block}.mv7-goal-empty strong,.mv7-goal-empty p{max-width:280px;text-align:center}
  .mv7-orbit-nodes:empty::before{content:"Todavía no hay servicios recurrentes"!important;min-height:48px;display:grid!important;place-items:center;color:var(--v2-muted)!important;font-weight:500!important}
}
@media(max-width:390px){.mv7-recurring-kpis{grid-template-columns:1fr!important}}

/* Racha y misiones — progression workspace derived from real V2 activity. */
.mv7-streak-view{padding:26px 28px 34px}.mv7-streak-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}.mv7-streak-heading h2{margin:6px 0 4px;font-size:30px;font-weight:520;letter-spacing:-.04em}.mv7-streak-heading>div:first-child>p:last-child{color:var(--v2-muted)}.mv7-streak-heading>div:last-child{display:flex;gap:10px}.mv7-streak-heading button svg{width:15px;height:15px;fill:none;stroke:currentColor}.mv7-streak-primary{display:flex;min-height:40px;align-items:center;gap:8px;padding:0 18px;border:1px solid rgba(176,98,255,.65);border-radius:12px;background:linear-gradient(135deg,#6840ca,#a157eb);color:white;box-shadow:0 12px 24px -12px rgba(155,86,255,.75);font-weight:650;cursor:pointer}.mv7-streak-hero{display:grid;grid-template-columns:1fr 1.02fr;gap:12px;margin-bottom:12px}.mv7-streak-hero article,.mv7-missions-card,.mv7-streak-completed,.mv7-streak-rail section{border:1px solid var(--v2-line-strong);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.mv7-streak-current{display:flex;min-height:198px;align-items:center;justify-content:space-between;padding:20px 22px}.mv7-streak-current h3,.mv7-streak-level h3,.mv7-missions-card h3,.mv7-streak-completed h3,.mv7-streak-rail h3{margin:0;font-size:13px}.mv7-streak-current>div>strong{display:block;margin:10px 0 3px;background:linear-gradient(90deg,#a974ff,#e873c5,#ff9a47);background-clip:text;color:transparent;font-size:38px;font-weight:500;letter-spacing:-.035em}.mv7-streak-current p{margin:0 0 11px;color:var(--v2-muted);font-size:var(--v2-text-sm)}.mv7-streak-current p b{color:var(--v2-text);font-weight:500}.mv7-streak-current>div>small{display:block;margin-top:9px;color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-streak-flame{display:grid;width:135px;height:135px;flex:0 0 135px;place-items:center;border:8px solid transparent;border-right-color:#ff9b46;border-bottom-color:#e98691;border-left-color:#874bd9;border-radius:50%;background:radial-gradient(circle,rgba(149,79,255,.18),transparent 60%);transform:rotate(-20deg)}.mv7-streak-flame svg{width:58px;height:58px;fill:url(#none);stroke:#bf76ff;stroke-width:1.3;transform:rotate(20deg);filter:drop-shadow(0 0 12px rgba(178,93,255,.55))}.mv7-streak-week,.mv7-challenge-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.mv7-streak-week span,.mv7-challenge-days span{display:grid;justify-items:center;gap:5px}.mv7-streak-week small,.mv7-challenge-days small{color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-streak-week i,.mv7-challenge-days i{display:grid;width:20px;height:20px;place-items:center;border:1px solid #675578;border-radius:50%;color:white;font-size:var(--v2-text-xs);font-style:normal}.mv7-streak-week .is-done i,.mv7-challenge-days .is-done i{border-color:#a56aff;background:#8050cb;box-shadow:0 0 12px rgba(153,83,244,.3)}
.mv7-streak-level{display:grid;grid-template-columns:minmax(0,1fr) 210px;min-height:198px;padding:16px 18px}.mv7-level-main{padding-right:18px;border-right:1px solid var(--v2-line-strong)}.mv7-level-main>div{display:flex;align-items:center;gap:16px;margin:12px 0}.mv7-level-badge{display:grid;width:62px;height:62px;place-items:center;clip-path:polygon(50% 0,93% 24%,93% 76%,50% 100%,7% 76%,7% 24%);background:linear-gradient(145deg,#ac67ef,#39265a);color:#ba77ff;font-size:25px}.mv7-level-main p{display:grid;flex:1;gap:7px;margin:0}.mv7-level-main p strong{font-size:14px}.mv7-level-main p small,.mv7-level-main>small{color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-level-main p i{height:7px;overflow:hidden;border-radius:9px;background:rgba(255,255,255,.08)}.mv7-level-main p i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9e5ee8,#bb7cff)}.mv7-level-main>button{display:grid;width:100%;grid-template-columns:30px 1fr 15px;align-items:center;gap:8px;margin-top:6px;padding:7px;border:0;border-radius:8px;background:rgba(255,255,255,.02);color:var(--v2-text);text-align:left;cursor:pointer}.mv7-level-main>button svg{width:17px;height:17px;fill:none;stroke:#b26cff}.mv7-streak-level dl{display:grid;margin:0;padding-left:18px}.mv7-streak-level dl div{display:grid;align-content:center;padding:0 0 0 48px;border-bottom:1px solid var(--v2-line);background-position:8px center;background-repeat:no-repeat}.mv7-streak-level dl div:last-child{border:0}.mv7-streak-level dt{font-size:16px}.mv7-streak-level dd{margin:3px 0 0;color:var(--v2-muted);font-size:var(--v2-text-xs)}
.mv7-streak-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr);gap:12px}.mv7-streak-maincol,.mv7-streak-rail{display:flex;min-width:0;flex-direction:column;gap:12px}.mv7-missions-card{padding:17px 10px 10px}.mv7-missions-card>h3{padding:0 8px}.mv7-missions-card nav{display:flex;gap:22px;margin:6px 8px 8px;border-bottom:1px solid var(--v2-line)}.mv7-missions-card nav button{padding:10px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--v2-muted);font-size:var(--v2-text-sm);cursor:pointer}.mv7-missions-card nav button.is-active{border-color:#a760ed;color:#bf7cff}.mv7-mission-row{display:grid;grid-template-columns:40px minmax(0,1fr) 70px 130px 86px;align-items:center;gap:10px;min-height:59px;padding:7px 9px;border:1px solid var(--v2-line);border-radius:10px;background:rgba(255,255,255,.018);margin-top:6px}.mv7-mission-row:first-child{border-color:#a862ed;box-shadow:inset 0 0 18px rgba(150,75,230,.07)}.mv7-mission-row>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:rgba(164,91,238,.13);color:#b96cff}.mv7-mission-row>span svg{width:18px;height:18px;fill:none;stroke:currentColor}.mv7-mission-row>div:nth-child(2){display:grid;gap:4px;min-width:0}.mv7-mission-row>div strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mv7-mission-row>div small{overflow:hidden;color:var(--v2-muted);font-size:var(--v2-text-xs);text-overflow:ellipsis;white-space:nowrap}.mv7-mission-row>b{color:#b66bff;font-size:var(--v2-text-xs)}.mv7-mission-progress{display:grid!important;gap:5px}.mv7-mission-progress em{color:var(--v2-muted);font-size:var(--v2-text-xs);font-style:normal;text-align:right}.mv7-mission-progress i{height:5px;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.07)}.mv7-mission-progress u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9b5bea,#bc73f2);text-decoration:none}.mv7-mission-row>button{min-height:32px;border:1px solid var(--v2-line-strong);border-radius:8px;background:rgba(255,255,255,.03);color:var(--v2-text);font-size:var(--v2-text-xs);cursor:pointer}.mv7-mission-row>button:disabled{color:var(--v2-green);opacity:.7}.mv7-streak-completed{padding:17px 18px}.mv7-streak-completed>div{margin-top:9px}.mv7-streak-completed p{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;margin:0;padding:9px 0;border-top:1px solid var(--v2-line);font-size:var(--v2-text-xs)}.mv7-streak-completed p i{color:var(--v2-green);font-style:normal}.mv7-streak-completed p small{color:#b970f4}.mv7-streak-rail section{padding:16px 18px}.mv7-weekly-challenge header{display:flex;align-items:center;gap:8px;color:#bd72f5;font-size:var(--v2-text-xs)}.mv7-weekly-challenge header svg{width:17px;height:17px;fill:none;stroke:currentColor}.mv7-weekly-challenge h3{margin:11px 0 5px;font-size:16px}.mv7-weekly-challenge>strong{display:block;margin-bottom:12px;font-size:var(--v2-text-sm)}.mv7-weekly-challenge>small{display:block;margin-top:14px;color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-weekly-challenge>p{display:flex;gap:20px;margin:8px 0 0;font-size:var(--v2-text-xs)}.mv7-weekly-challenge>p b{color:#c27aff}.mv7-weekly-challenge>p span{color:var(--v2-muted)}.mv7-next-rewards>div{position:relative;margin-top:12px;padding-left:24px}.mv7-next-rewards>div::before{position:absolute;top:5px;bottom:5px;left:7px;width:2px;background:linear-gradient(#bf78ff,#49345e);content:''}.mv7-next-rewards p{position:relative;display:grid;grid-template-columns:75px 1fr;margin:0;padding:8px 0;font-size:var(--v2-text-xs)}.mv7-next-rewards p::before{position:absolute;left:-22px;top:10px;width:10px;height:10px;border:3px solid #73519c;border-radius:50%;background:#b86ff5;content:''}.mv7-next-rewards p span{color:var(--v2-muted)}.mv7-month-rhythm header{display:flex;justify-content:space-between}.mv7-month-rhythm header span{color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-month-rhythm>div{display:grid;grid-template-columns:repeat(16,1fr);gap:5px;margin-top:14px}.mv7-month-rhythm>div i{aspect-ratio:1;border-radius:3px;background:rgba(255,255,255,.055)}.mv7-month-rhythm>div i.is-active{background:#277347}.mv7-month-rhythm>div i.is-high{background:#3fc976;box-shadow:0 0 8px rgba(63,201,118,.25)}.mv7-month-rhythm footer{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-month-rhythm footer i{height:7px;flex:1;border-radius:8px;background:linear-gradient(90deg,rgba(45,222,152,.08),#36c974)}
@media(max-width:1050px){.mv7-streak-hero{grid-template-columns:1fr}.mv7-streak-grid{grid-template-columns:1fr}.mv7-streak-rail{display:grid;grid-template-columns:1fr 1fr}.mv7-month-rhythm{grid-column:1/-1}}
@media(max-width:768px){.mv7-streak-view{padding:18px 14px 30px}.mv7-streak-heading{align-items:flex-start;flex-direction:column}.mv7-streak-heading h2{font-size:27px}.mv7-streak-heading>div:last-child{width:100%}.mv7-streak-heading button{flex:1;justify-content:center}.mv7-streak-current{min-height:0;padding:18px}.mv7-streak-flame{width:92px;height:92px;flex-basis:92px;border-width:6px}.mv7-streak-flame svg{width:40px;height:40px}.mv7-streak-current>div>strong{font-size:31px}.mv7-streak-level{grid-template-columns:1fr}.mv7-level-main{padding:0 0 14px;border-right:0;border-bottom:1px solid var(--v2-line)}.mv7-streak-level dl{grid-template-columns:repeat(3,1fr);padding:10px 0 0}.mv7-streak-level dl div{padding:8px;text-align:center;border-right:1px solid var(--v2-line);border-bottom:0}.mv7-streak-level dl div:last-child{border-right:0}.mv7-mission-row{grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:6px 9px;padding:10px}.mv7-mission-row>span{grid-row:1/3}.mv7-mission-row>b{grid-column:3;grid-row:1}.mv7-mission-progress{grid-column:2;grid-row:2}.mv7-mission-row>button{grid-column:3;grid-row:2;padding:0 9px}.mv7-missions-card nav{gap:0;justify-content:space-between;overflow-x:auto}.mv7-missions-card nav button{padding-inline:7px;white-space:nowrap}.mv7-streak-rail{display:flex}.mv7-month-rhythm{grid-column:auto}}
@media(max-width:420px){.mv7-streak-current{align-items:flex-start}.mv7-streak-flame{width:72px;height:72px;flex-basis:72px}.mv7-streak-week{gap:4px}.mv7-streak-week i{width:18px;height:18px}.mv7-streak-level dl{grid-template-columns:1fr}.mv7-streak-level dl div{border-right:0;border-bottom:1px solid var(--v2-line)}.mv7-mission-row{grid-template-columns:34px minmax(0,1fr)}.mv7-mission-row>b{grid-column:2;grid-row:2}.mv7-mission-progress{grid-column:2;grid-row:3}.mv7-mission-row>button{grid-column:1/-1;grid-row:4}.mv7-month-rhythm>div{grid-template-columns:repeat(8,1fr)}}

/* Owner — business command center. Visibility/authorization is intentionally delegated. */
.mv7-owner-nav-item{--owner-accent:#9b5cf4}.mv7-owner-nav-item.is-active{border-color:rgba(155,92,244,.28);background:linear-gradient(90deg,rgba(155,92,244,.14),rgba(255,255,255,.025))}.mv7-owner-nav-item.is-active::before{background:#a45df6}.mv7-owner-nav-item.is-active svg{stroke:#a96bff}.mv7-owner-view{padding:24px 30px 34px}.mv7-owner-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.mv7-owner-heading h2{margin:5px 0 4px;font-size:28px;font-weight:550;letter-spacing:-.04em}.mv7-owner-heading>div:first-child>p:last-child{color:var(--v2-muted)}.mv7-owner-heading>div:last-child{display:flex;gap:12px}.mv7-owner-heading button{display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.mv7-owner-heading button svg{width:15px;height:15px;fill:none;stroke:currentColor}.mv7-owner-primary{min-height:40px;padding:0 20px;border:1px solid rgba(169,93,255,.7);border-radius:22px;background:linear-gradient(135deg,#6d3ed0,#a454ed);color:white;font-weight:650;box-shadow:0 12px 24px -13px rgba(158,83,245,.8);cursor:pointer}.mv7-owner-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.mv7-owner-kpis article{position:relative;display:grid;min-width:0;min-height:112px;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:9px;padding:17px 15px 25px;overflow:hidden;border:1px solid var(--v2-line-strong);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.mv7-owner-kpis article>span{display:grid;width:37px;height:37px;place-items:center;border-radius:11px;background:rgba(155,92,244,.13);color:#a460f4}.mv7-owner-kpis svg{width:20px;height:20px;fill:none;stroke:currentColor}.mv7-owner-kpis div{display:grid;gap:5px}.mv7-owner-kpis small{color:var(--v2-text);font-size:var(--v2-text-xs)}.mv7-owner-kpis strong{font-size:20px;letter-spacing:-.02em}.mv7-owner-kpis article>b{align-self:center;color:var(--v2-green);font-size:var(--v2-text-sm)}.mv7-owner-kpis article>i{position:absolute;right:15px;bottom:10px;left:15px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 30'%3E%3Cpath d='M0 25L20 18L38 22L55 12L72 17L92 7L112 10L135 14L155 12L175 18L195 6L213 19L230 7L250 12L270 4L285 8L300 2' fill='none' stroke='%239b5cf4' stroke-width='1.4'/%3E%3C/svg%3E") center/100% 100% no-repeat}.mv7-owner-kpis .is-green>span{background:rgba(45,222,152,.12);color:var(--v2-green)}.mv7-owner-kpis .is-green>i{filter:hue-rotate(70deg)}.mv7-owner-kpis .is-blue>span{background:rgba(55,126,255,.13);color:#4d91ff}.mv7-owner-kpis .is-blue>i{filter:hue-rotate(170deg)}.mv7-owner-kpis .is-orange>span{background:rgba(255,126,31,.13);color:#ff851f}.mv7-owner-kpis .is-orange>b{color:#ff5858}.mv7-owner-kpis .is-orange>i{filter:hue-rotate(240deg)}
.mv7-owner-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);gap:12px}.mv7-owner-maincol,.mv7-owner-rail{display:flex;min-width:0;flex-direction:column;gap:12px}.mv7-owner-maincol>section,.mv7-owner-rail>section{border:1px solid var(--v2-line-strong);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}.mv7-owner-grid h3{margin:0;font-size:12px}.mv7-owner-growth{padding:15px}.mv7-owner-growth>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mv7-owner-growth>header p{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-owner-growth>header p i{width:7px;height:7px;border-radius:50%;background:var(--v2-green)}.mv7-owner-growth>header p i:nth-of-type(2){margin-left:10px;background:#9b5cf4}.mv7-owner-growth nav{display:flex;padding:2px;border:1px solid var(--v2-line);border-radius:9px;background:rgba(0,0,0,.15)}.mv7-owner-growth nav button{min-width:40px;height:28px;border:0;border-radius:7px;background:none;color:var(--v2-muted);font-size:var(--v2-text-xs);cursor:pointer}.mv7-owner-growth nav button.is-active{background:rgba(255,255,255,.08);color:var(--v2-text)}.mv7-owner-chart{position:relative;display:grid;height:245px;grid-template-columns:48px 1fr;grid-template-rows:repeat(6,1fr);margin-top:10px;color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-owner-chart>span{display:flex;align-items:start}.mv7-owner-chart svg{grid-column:2;grid-row:1/7;width:100%;height:220px;overflow:visible}.owner-grid-lines{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1;stroke-dasharray:3 3}.owner-green-line,.owner-purple-line{fill:none;stroke:var(--v2-green);stroke-width:2}.owner-purple-line{stroke:#9b5cf4}.mv7-owner-chart footer{position:absolute;right:0;bottom:0;left:48px;display:flex;justify-content:space-between}.mv7-owner-insight{display:flex;align-items:center;gap:9px;margin:7px 0 0;padding:10px;border:1px solid var(--v2-line);border-radius:8px;color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-owner-insight svg{width:14px;height:14px;fill:none;stroke:var(--v2-green)}.mv7-owner-insight b{color:var(--v2-green)}
.mv7-owner-users{padding:15px}.mv7-owner-users>header,.mv7-owner-rail section>header{display:flex;align-items:center;justify-content:space-between}.mv7-owner-users header button,.mv7-owner-rail header button{display:flex;align-items:center;gap:5px;border:0;background:none;color:#a869ed;font-size:var(--v2-text-xs);cursor:pointer}.mv7-owner-users header svg{width:11px;height:11px;fill:none;stroke:currentColor}.mv7-owner-user-head{display:grid;grid-template-columns:2.3fr .85fr .9fr 1.25fr 1fr;gap:8px;margin-top:12px;padding:7px 0;border-bottom:1px solid var(--v2-line);color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-owner-user-list article,#owner-user-list article{display:grid;grid-template-columns:30px minmax(0,2fr) .8fr .85fr 1.15fr .95fr;align-items:center;gap:8px;min-height:45px;border-bottom:1px solid var(--v2-line);font-size:var(--v2-text-xs)}.mv7-owner-user-list article:last-child,#owner-user-list article:last-child{border:0}.is-avatar{display:grid;width:27px;height:27px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#d29468,#60391f);font-size:var(--v2-text-micro);font-weight:700}.is-avatar.is-blue{background:linear-gradient(145deg,#558dd0,#173958)}.is-avatar.is-orange{background:linear-gradient(145deg,#e68a58,#65351e)}#owner-user-list p{display:grid;gap:2px;margin:0}#owner-user-list p strong{font-size:var(--v2-text-xs)}#owner-user-list p small,#owner-user-list time{color:var(--v2-muted);font-size:var(--v2-text-micro)}#owner-user-list article>b{justify-self:start;padding:4px 8px;border-radius:12px;background:rgba(255,255,255,.05);font-size:var(--v2-text-micro)}#owner-user-list article>b.is-pro{background:rgba(155,92,244,.12);color:#ad68ff}#owner-user-list article>b.is-team{background:rgba(55,126,255,.12);color:#5592ff}#owner-user-list article>em{justify-self:start;padding:4px 8px;border-radius:12px;background:rgba(45,222,152,.1);color:var(--v2-green);font-size:var(--v2-text-micro);font-style:normal}#owner-user-list article>em.is-inactive{background:rgba(255,132,31,.1);color:#ff851f}#owner-user-list output{color:var(--v2-muted);font-size:var(--v2-text-micro)}
.mv7-owner-rail>section{padding:14px}.mv7-plan-bar{display:grid;height:10px;grid-template-columns:68fr 27fr 5fr;gap:2px;margin:11px 0;border-radius:4px;overflow:hidden}.mv7-plan-bar i:first-child{background:linear-gradient(90deg,#7441c8,#a555e8)}.mv7-plan-bar i:nth-child(2){background:#3478dd}.mv7-plan-bar i:last-child{background:#39c29b}.mv7-owner-plans>p{display:grid;grid-template-columns:8px 1fr auto 120px;align-items:center;gap:7px;margin:0;padding:6px 2px;font-size:var(--v2-text-xs)}.mv7-owner-plans>p>i{width:7px;height:7px;border-radius:50%;background:#9b5cf4}.mv7-owner-plans>p>i.is-blue{background:#3478dd}.mv7-owner-plans>p>i.is-green{background:#39c29b}.mv7-owner-plans>p em{color:var(--v2-muted);font-style:normal;text-align:right}.mv7-owner-plans footer{display:flex;justify-content:space-between;margin-top:5px;padding-top:8px;border-top:1px solid var(--v2-line);color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-owner-health>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:10px}.mv7-owner-health p{display:grid;gap:4px;margin:0;padding:0 10px;border-right:1px solid var(--v2-line)}.mv7-owner-health p:first-child{padding-left:0}.mv7-owner-health p:last-child{border:0}.mv7-owner-health small{color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-owner-health strong{font-size:16px}.mv7-owner-health span{color:var(--v2-green);font-size:var(--v2-text-micro)}.mv7-owner-attention>p,.mv7-owner-live>p{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;min-height:44px;border-bottom:1px solid var(--v2-line);font-size:var(--v2-text-xs)}.mv7-owner-attention>p:last-child,.mv7-owner-live>p:last-child{border:0}.mv7-owner-attention>p>span,.mv7-owner-live>p>span{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:rgba(255,70,70,.12);color:#ff5858}.mv7-owner-attention strong,.mv7-owner-live strong{display:grid;gap:3px}.mv7-owner-attention small,.mv7-owner-live small{color:var(--v2-muted);font-size:var(--v2-text-micro);font-weight:400}.mv7-owner-attention>p>b{padding:4px 7px;border:1px solid rgba(255,70,70,.3);border-radius:12px;color:#ff5858;font-size:var(--v2-text-micro)}.mv7-owner-attention>p>b.is-high{border-color:rgba(255,133,31,.3);color:#ff851f}.mv7-owner-attention>p>b.is-medium{border-color:rgba(255,205,31,.3);color:#ffd21f}.mv7-owner-live>p>span{background:rgba(155,92,244,.1);color:#a966f6}.mv7-owner-live svg{width:16px;height:16px;fill:none;stroke:currentColor}.mv7-owner-live time{color:var(--v2-muted);font-size:var(--v2-text-micro)}
@media(max-width:1180px){.mv7-owner-kpis{grid-template-columns:1fr 1fr}.mv7-owner-grid{grid-template-columns:1fr}.mv7-owner-rail{display:grid;grid-template-columns:1fr 1fr}.mv7-owner-live{grid-column:1/-1}}
@media(max-width:768px){.mv7-owner-view{padding:18px 14px 30px}.mv7-owner-heading{align-items:flex-start;flex-direction:column}.mv7-owner-heading h2{font-size:27px}.mv7-owner-heading>div:last-child{width:100%}.mv7-owner-heading button{flex:1;padding-inline:10px}.mv7-owner-kpis{grid-template-columns:1fr 1fr;gap:8px}.mv7-owner-kpis article{min-height:120px;grid-template-columns:34px 1fr;padding:13px 12px 26px}.mv7-owner-kpis article>b{grid-column:2}.mv7-owner-kpis strong{font-size:16px}.mv7-owner-growth>header{flex-direction:column}.mv7-owner-chart{height:215px;grid-template-columns:42px 1fr}.mv7-owner-chart svg{height:190px}.mv7-owner-chart footer{left:42px}.mv7-owner-user-head{display:none}#owner-user-list article{grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto;padding:8px 0}#owner-user-list article>b{grid-column:3;grid-row:1}#owner-user-list article>em{grid-column:2;grid-row:2}#owner-user-list article>time{grid-column:3;grid-row:2}#owner-user-list article>output{display:none}.mv7-owner-rail{display:flex}.mv7-owner-health>div{grid-template-columns:1fr 1fr;gap:12px}.mv7-owner-health p{padding:0;border:0}.mv7-owner-plans>p{grid-template-columns:8px 1fr auto}.mv7-owner-plans>p em{display:none}.mv7-owner-attention>p,.mv7-owner-live>p{grid-template-columns:32px minmax(0,1fr)}.mv7-owner-attention>p>b,.mv7-owner-live time{grid-column:2;justify-self:start}}
@media(max-width:420px){.mv7-owner-kpis{grid-template-columns:1fr}.mv7-owner-heading>div:last-child{flex-direction:column}.mv7-owner-chart>span{font-size:var(--v2-text-micro)}.mv7-owner-health strong{font-size:14px}}

/* Community direct messages — full social workspace, existing Supabase behavior preserved. */
.mv7-dm-dialog{width:min(1320px,calc(100% - 42px));max-width:none;height:min(820px,calc(100vh - 42px));max-height:none;padding:0;border-radius:18px;background:#080c0a}.mv7-dm-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(10px)}.mv7-dm-dialog .mv7-dialog-body{display:grid!important;width:100%;height:100%!important;grid-template-columns:330px minmax(480px,1fr) 285px;padding:0!important;overflow:hidden}.mv7-dm-dialog #community-dm-list-view,.mv7-dm-dialog #community-dm-thread-view{display:flex;height:100%;min-width:0;flex-direction:column}.mv7-dm-dialog #community-dm-list-view{border-right:1px solid var(--v2-line)}.mv7-dm-dialog #community-dm-thread-view{border-right:1px solid var(--v2-line)}.mv7-dm-dialog #community-dm-list-view[hidden],.mv7-dm-dialog #community-dm-thread-view[hidden]{display:none}.mv7-dm-dialog header{display:flex;min-height:82px;align-items:center;justify-content:space-between;margin:0!important;padding:16px 17px!important;border-bottom:1px solid var(--v2-line)}.mv7-dm-dialog header h2{margin:3px 0 1px;font-size:20px}.mv7-dm-dialog header>div>small{color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-dm-search{display:flex;height:42px;align-items:center;gap:8px;margin:14px 14px 8px;padding:0 12px;border:1px solid var(--v2-line-strong);border-radius:11px;background:rgba(255,255,255,.018)}.mv7-dm-search svg{width:15px;height:15px;fill:none;stroke:var(--v2-muted)}.mv7-dm-search input{width:100%;border:0;outline:0;background:none;color:var(--v2-text);font-size:var(--v2-text-sm)}.mv7-dm-filters{display:flex;gap:6px;padding:0 14px 9px}.mv7-dm-filters button{height:31px;padding:0 14px;border:0;border-radius:18px;background:none;color:var(--v2-muted);font-size:var(--v2-text-xs);cursor:pointer}.mv7-dm-filters button.is-active{border:1px solid rgba(45,222,152,.16);background:var(--v2-green-soft);color:var(--v2-text)}.mv7-dm-dialog #community-dm-conversations{padding:0 9px 14px}.mv7-dm-conversation-row{min-height:72px!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;padding:10px!important;border:1px solid transparent!important;border-radius:12px!important}.mv7-dm-conversation-row.is-selected{border-color:rgba(45,222,152,.18)!important;background:linear-gradient(90deg,rgba(45,222,152,.1),rgba(255,255,255,.025))!important;box-shadow:inset 2px 0 var(--v2-green)}.mv7-dm-conversation-row .mv7-community-avatar{width:40px;height:40px}.mv7-dm-conversation-row strong{color:var(--v2-text)!important;font-size:var(--v2-text-sm)!important}.mv7-dm-conversation-row p{font-size:var(--v2-text-xs)!important}.mv7-dm-conversation-meta small{font-size:var(--v2-text-micro)!important}.mv7-dm-conversation-unread{background:var(--v2-green)!important;color:#07100c!important}
#community-dm-thread-view>header{gap:10px}#community-dm-thread-back{display:none}.mv7-dm-thread-identity{min-width:0;gap:10px}.mv7-dm-thread-identity p{display:grid;min-width:0;flex:1;gap:3px;margin:0}.mv7-dm-thread-identity strong,.mv7-dm-thread-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv7-dm-thread-identity strong{font-size:12px}.mv7-dm-thread-identity small{color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-dm-thread-identity small i{color:var(--v2-green);font-style:normal}.mv7-dm-dialog #community-dm-messages{padding:22px 20px 16px;background:radial-gradient(circle at 50% 30%,rgba(45,222,152,.025),transparent 45%)}.mv7-dm-bubble{position:relative;max-width:68%;padding:11px 13px!important;border:1px solid var(--v2-line);border-radius:13px!important;box-shadow:0 8px 20px -18px #000}.mv7-dm-bubble p{overflow-wrap:anywhere;font-size:var(--v2-text-sm)!important;line-height:1.5!important}.mv7-dm-bubble small{text-align:right}.mv7-dm-bubble.is-theirs{border-bottom-left-radius:4px!important;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.035))!important}.mv7-dm-bubble.is-mine{border-color:rgba(45,222,152,.2);border-bottom-right-radius:4px!important;background:linear-gradient(145deg,rgba(45,222,152,.18),rgba(21,87,61,.25))!important}.mv7-dm-composer{position:relative;display:grid!important;grid-template-columns:auto minmax(0,1fr) 40px;align-items:center!important;gap:8px!important;margin:0 16px 14px;padding:12px 12px 26px!important;border:1px solid var(--v2-line-strong)!important;border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}.mv7-dm-compose-tools{display:flex;gap:3px}.mv7-dm-compose-tools button{display:grid;width:32px;height:32px;place-items:center;border:0;background:none;color:var(--v2-muted);font-size:16px;cursor:pointer}.mv7-dm-compose-tools svg{width:16px;height:16px;fill:none;stroke:currentColor}.mv7-dm-composer textarea{min-height:34px!important;padding:8px 4px!important;border:0!important;background:none!important}.mv7-dm-composer>#community-dm-send{width:38px;height:38px;border:0;background:linear-gradient(145deg,#38e6a1,#159b69);color:#04100a;box-shadow:0 7px 16px -8px rgba(45,222,152,.75)}.mv7-dm-composer>small{position:absolute;right:12px;bottom:7px;left:12px;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-dm-composer>small svg{width:10px;height:10px;fill:none;stroke:currentColor}
.mv7-dm-profile{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;padding:44px 22px 22px;text-align:center}.mv7-dm-profile>.mv7-community-avatar{width:96px;height:96px;font-size:25px}.mv7-dm-profile>i{position:absolute;top:118px;right:88px;width:15px;height:15px;border:3px solid #080c0a;border-radius:50%;background:var(--v2-green)}.mv7-dm-profile>h2{margin:14px 0 3px;font-size:19px}.mv7-dm-profile>p{margin:0;color:var(--v2-muted);font-size:var(--v2-text-xs)}.mv7-dm-profile>small{max-width:220px;margin:18px 0;color:var(--v2-muted);font-size:var(--v2-text-xs);line-height:1.55}.mv7-dm-profile>button:not(.mv7-dm-block){width:100%;min-height:39px;border:1px solid var(--v2-line-strong);border-radius:10px;background:rgba(255,255,255,.035);color:var(--v2-text);font-weight:600;cursor:pointer}.mv7-dm-profile section{width:100%;margin-top:22px;padding-top:18px;border-top:1px solid var(--v2-line);text-align:left}.mv7-dm-profile section h3{margin:0 0 11px;font-size:var(--v2-text-sm)}.mv7-dm-profile section div{display:flex;flex-wrap:wrap;gap:6px}.mv7-dm-profile section div span{padding:7px 9px;border:1px solid var(--v2-line);border-radius:8px;background:rgba(255,255,255,.025);color:var(--v2-muted);font-size:var(--v2-text-micro)}.mv7-dm-profile section p{display:flex;gap:8px;margin:0;color:var(--v2-muted);font-size:var(--v2-text-micro);line-height:1.5}.mv7-dm-profile section p svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:var(--v2-green)}.mv7-dm-profile>.mv7-dm-block{width:100%;margin-top:auto;padding:10px;border:0;background:none;color:#ff5d5d;font-size:var(--v2-text-xs);text-align:left;cursor:pointer}
@media(max-width:1050px) and (min-width:769px){.mv7-dm-dialog .mv7-dialog-body{grid-template-columns:285px minmax(430px,1fr)}.mv7-dm-profile{display:none}}
@media(max-width:768px){.mv7-dm-dialog{width:calc(100% - 20px);height:calc(100vh - 20px);border-radius:15px}.mv7-dm-dialog .mv7-dialog-body{display:block!important;height:100%!important}.mv7-dm-dialog #community-dm-list-view,.mv7-dm-dialog #community-dm-thread-view{height:100%}.mv7-dm-dialog #community-dm-list-view{border:0}.mv7-dm-dialog #community-dm-thread-view{border:0}.mv7-dm-dialog #community-dm-list-view[hidden],.mv7-dm-dialog #community-dm-thread-view[hidden]{display:none!important}.mv7-dm-profile{display:none}#community-dm-thread-back{display:flex}.mv7-dm-dialog #community-dm-messages{padding-inline:14px}.mv7-dm-bubble{max-width:84%}.mv7-dm-composer{grid-template-columns:minmax(0,1fr) 40px;margin:0 10px 10px}.mv7-dm-compose-tools{display:none}.mv7-dm-dialog header{min-height:72px;padding:12px 14px!important}.mv7-dm-thread-identity .mv7-community-avatar{width:35px;height:35px}}
.mv7-dm-profile>i{display:none}.mv7-dm-profile.has-thread>i{display:block}.mv7-dm-dialog #community-dm-thread-view:not(.has-thread) #community-dm-messages::before{display:grid;height:100%;place-items:center;color:var(--v2-muted);font-size:var(--v2-text-sm);content:"Seleccioná una conversación para comenzar"}.mv7-dm-dialog #community-dm-thread-view:not(.has-thread) .mv7-dm-composer{visibility:hidden}

/* Approved mobile conversation treatment. */
@media(max-width:768px){
  #community-leaderboard-dialog{width:calc(100% - 20px);max-width:480px;max-height:calc(100dvh - 20px);margin:auto;border:1px solid var(--v2-line-strong);border-radius:18px;animation:none!important;transform:none!important}#community-leaderboard-dialog .mv7-dialog-body{max-height:calc(100dvh - 22px);overflow:auto}#community-leaderboard-list{max-height:none}
  .mv7-dm-dialog{inset:0!important;width:100%!important;height:100dvh!important;max-width:none!important;max-height:none!important;box-sizing:border-box;margin:0!important;border:0!important;border-radius:0!important;animation:none!important;transform:none!important;background:#030806}
  .mv7-dm-dialog .mv7-dialog-body{height:100%!important}.mv7-dm-dialog #community-dm-list-view>header{padding-top:max(12px,env(safe-area-inset-top))!important}
  .mv7-community-view{overflow-x:clip}
  .mv7-community-tabs{height:54px;padding:0 8px;scrollbar-width:none}.mv7-community-tabs::-webkit-scrollbar{display:none}.mv7-community-tabs button{padding:0 13px!important;font-size:12px}.mv7-community-tabs button.is-active::after{right:13px;left:13px}
  .mv7-community-composer{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:15px 14px 13px}.mv7-community-composer .mv7-community-avatar{width:36px;height:36px}.mv7-community-compose-body textarea{min-height:48px;font-size:14px}.mv7-community-compose-footer{align-items:flex-end;gap:8px}.mv7-community-private{width:auto;font-size:0}.mv7-community-private svg{width:16px;height:16px}.mv7-community-compose-actions{gap:6px}.mv7-community-compose-actions>button:not(.mv7-primary-button){width:34px;height:34px}.mv7-community-compose-actions .mv7-primary-button{padding:0 15px}
  .mv7-community-post{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:16px 14px 13px}.mv7-community-post-body>header{min-width:0;flex-wrap:wrap;gap:4px 6px}.mv7-community-post-body>header strong{font-size:12px}.mv7-community-post-body>header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mv7-community-post-body>header button{align-self:flex-start;flex:0 0 auto}.mv7-community-post-body>p{font-size:13px;line-height:1.5}.mv7-community-post-actions{width:100%;max-width:none}.mv7-community-progress-card{align-items:flex-start}.mv7-community-progress-card>div{min-width:0}.mv7-community-progress-card span{line-height:1.35}.mv7-community-reply{margin-left:0;padding-left:10px}
  #community-profile-panel{max-width:none}.mv7-community-profile-stats{justify-content:space-around}.mv7-community-profile-tabs{scrollbar-width:none}.mv7-community-profile-tabs button{flex:0 0 auto;margin-right:12px;white-space:nowrap}
  .mv7-community-empty{padding:48px 18px;line-height:1.5}
  .mv7-dm-dialog:has(#community-dm-thread-view:not([hidden])){inset:0;width:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;border:0;border-radius:0;background:radial-gradient(circle at 82% 38%,rgba(0,126,103,.11),transparent 34%),#030806;animation:none!important;transform:none!important}
  .mv7-dm-dialog #community-dm-thread-view>header{position:relative;min-height:84px;flex:0 0 84px;gap:9px;padding:12px 13px!important;background:rgba(4,10,7,.88);backdrop-filter:blur(18px);z-index:3}
  #community-dm-thread-back{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;padding:0;font-size:0}
  #community-dm-thread-back{color:var(--v2-text)}#community-dm-thread-back svg{width:20px;height:20px;stroke:currentColor;transform:rotate(180deg)}
  .mv7-dm-thread-identity{gap:10px}.mv7-dm-thread-identity .mv7-community-avatar{width:43px;height:43px;flex:0 0 43px}.mv7-dm-thread-identity p{gap:2px}.mv7-dm-thread-identity strong{font-size:14px}.mv7-dm-thread-identity small{font-size:var(--v2-text-xs)}.mv7-dm-thread-identity small i{display:inline-block;margin-left:2px}
  #community-dm-thread-view>header>.mv7-icon-button{width:38px;height:38px;flex:0 0 38px}
  .mv7-dm-dialog #community-dm-messages{position:relative;gap:13px;padding:58px 16px 150px;background:radial-gradient(circle at 80% 36%,rgba(0,117,94,.08),transparent 34%)}
  .mv7-dm-dialog #community-dm-thread-view.has-thread #community-dm-messages::before{position:absolute;top:22px;right:16px;left:16px;display:flex;align-items:center;gap:13px;color:var(--v2-muted);font-size:var(--v2-text-xs);content:"Hoy"}
  .mv7-dm-dialog #community-dm-thread-view.has-thread #community-dm-messages::after{position:absolute;top:28px;right:16px;left:16px;height:1px;background:linear-gradient(90deg,var(--v2-line) 0 42%,transparent 42% 58%,var(--v2-line) 58%);content:""}
  .mv7-dm-bubble{max-width:82%;padding:13px 15px!important;border-radius:16px!important;box-shadow:0 13px 28px -24px #000}
  .mv7-dm-bubble p{font-size:13px!important;line-height:1.48!important}.mv7-dm-bubble small{margin-top:7px!important;font-size:var(--v2-text-micro)!important}
  .mv7-dm-bubble.is-theirs{border-color:rgba(255,255,255,.15);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important}.mv7-dm-bubble.is-mine{border-color:rgba(45,222,152,.34);background:linear-gradient(145deg,rgba(25,126,86,.42),rgba(5,68,49,.48))!important}
  .mv7-dm-composer{position:absolute;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;z-index:4;display:grid!important;grid-template-columns:auto minmax(0,1fr) 44px!important;gap:7px!important;margin:0;padding:11px 11px 31px!important;border-color:rgba(255,255,255,.18)!important;border-radius:18px;background:linear-gradient(145deg,rgba(25,33,29,.94),rgba(8,14,11,.96));box-shadow:0 18px 45px -20px #000;backdrop-filter:blur(20px)}
  .mv7-dm-compose-tools{display:flex}.mv7-dm-compose-tools button{width:31px;height:38px}.mv7-dm-compose-tools button:first-child{font-size:20px;transform:rotate(-35deg)}.mv7-dm-compose-tools button:last-child{display:none}
  .mv7-dm-composer textarea{font-size:12px!important}.mv7-dm-composer>#community-dm-send{width:42px;height:42px;flex-basis:42px}.mv7-dm-composer>#community-dm-send svg{width:18px;height:18px}
  .mv7-dm-composer>small{bottom:9px;font-size:var(--v2-text-micro)}.mv7-dm-composer>small svg{width:12px;height:12px;stroke:var(--v2-green)}
}
@media(max-width:420px){
  .mv7-community-toolbar{position:relative}.mv7-community-toolbar .mv7-icon-button{width:36px!important;flex:0 0 36px;padding:0!important;justify-content:center}.mv7-community-toolbar .mv7-community-tool-label{display:none}
  .mv7-community-tabs{padding-right:30px;background:linear-gradient(90deg,var(--v2-surface) 0 calc(100% - 26px),color-mix(in srgb,var(--v2-surface) 25%,transparent)),var(--v2-surface)}
  .mv7-community-compose-actions{gap:5px}.mv7-community-compose-actions .mv7-primary-button{padding:0 13px}
}
@media(max-width:350px){
  .mv7-topbar-copy p{display:none}.mv7-community-toolbar{padding-inline:14px!important}.mv7-community-tabs button{padding-inline:11px!important}.mv7-community-tabs button.is-active::after{right:11px;left:11px}
  .mv7-community-composer{grid-template-columns:36px minmax(0,1fr);gap:10px}.mv7-community-compose-footer{align-items:center}.mv7-community-compose-actions>button:not(.mv7-primary-button){width:32px;height:32px}.mv7-community-compose-actions .mv7-primary-button{min-height:33px;padding:0 11px}
  .mv7-community-post{grid-template-columns:38px minmax(0,1fr);padding-inline:14px}.mv7-community-post-body>header em{order:3}.mv7-community-post-body>header button{position:absolute;right:13px}.mv7-community-post-body>header{padding-right:34px;position:relative}.mv7-community-progress-card{padding:9px}.mv7-community-progress-card>strong{flex:0 0 38px}
  .mv7-dm-dialog #community-dm-thread-view>header{gap:7px;padding-inline:10px!important}.mv7-dm-thread-identity{gap:8px}.mv7-dm-thread-identity .mv7-community-avatar{width:38px;height:38px;flex-basis:38px}.mv7-dm-thread-identity strong{font-size:12px}.mv7-dm-thread-identity small{font-size:var(--v2-text-micro)}#community-dm-thread-view>header>.mv7-icon-button[aria-label^="Buscar"]{display:none}
  .mv7-dm-bubble{max-width:88%;padding:12px 14px!important}.mv7-dm-composer{right:8px;left:8px;grid-template-columns:auto minmax(0,1fr) 42px!important;padding-inline:9px!important}.mv7-dm-compose-tools button:first-child{display:none}
}

/* Messages workspace: final layout authority. The original compact dialog
   and the later three-column concept both remain above; these rules unify
   their geometry and controls without changing the Supabase workflow. */
.mv7-dm-dialog {
  width: min(1220px, calc(100% - 48px));
  height: min(760px, calc(100dvh - 48px));
  max-width: none;
  max-height: none;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--v2-line-strong);
  border-radius: 14px;
  background: #060a08;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
}

.mv7-dm-dialog .mv7-dialog-body {
  display: grid !important;
  width: 100%;
  height: 100% !important;
  grid-template-columns: 310px minmax(440px, 1fr) 260px;
  padding: 0 !important;
  overflow: hidden;
}

.mv7-dm-dialog #community-dm-list-view,
.mv7-dm-dialog #community-dm-thread-view {
  display: flex;
  position: relative;
  min-width: 0;
  height: 100%;
  flex-direction: column;
}

#community-dm-close {
  display: none;
}

.mv7-dm-dialog #community-dm-list-view,
.mv7-dm-dialog #community-dm-thread-view {
  border-right: 1px solid var(--v2-line);
}

.mv7-dm-dialog header {
  min-height: 76px;
  margin: 0 !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--v2-line);
}

.mv7-dm-dialog #community-dm-list-view > header h2 {
  margin: 2px 0;
  font-size: 19px;
}

.mv7-dm-dialog #community-dm-list-view > header small {
  color: var(--v2-muted);
  font-size: var(--v2-text-xs);
}

.mv7-dm-search {
  height: 42px;
  flex: 0 0 42px;
  margin: 12px 12px 7px;
  border-color: var(--v2-line-strong);
  border-radius: 9px;
}

.mv7-dm-filters {
  gap: 2px;
  padding: 0 12px 10px;
  border-bottom: 1px solid var(--v2-line);
}

.mv7-dm-filters button {
  min-height: 34px;
  padding: 0 12px;
  border-radius: 7px;
}

.mv7-dm-filters button.is-active {
  border-color: transparent;
  background: rgba(45, 222, 152, 0.11);
  color: var(--v2-green-bright);
}

.mv7-dm-dialog #community-dm-conversations {
  min-height: 0;
  padding: 7px 8px 14px;
  overflow-y: auto;
}

.mv7-dm-conversation-row {
  min-height: 68px !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  padding: 9px 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
}

.mv7-dm-conversation-row:hover {
  background: rgba(255, 255, 255, 0.035);
}

.mv7-dm-conversation-row.is-selected {
  border: 0 !important;
  background: rgba(45, 222, 152, 0.075) !important;
  box-shadow: inset 2px 0 var(--v2-green);
}

.mv7-dm-conversation-row .mv7-community-avatar {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
}

.mv7-dm-conversation-row strong {
  margin-bottom: 4px;
  font-size: var(--v2-text-sm) !important;
}

.mv7-dm-conversation-row p {
  font-size: var(--v2-text-xs) !important;
}

.mv7-dm-conversation-unread {
  min-width: 18px;
  height: 18px;
  font-size: var(--v2-text-micro);
}

#community-dm-thread-view > header {
  min-height: 76px;
  gap: 11px;
}

#community-dm-thread-back {
  display: none;
}

.mv7-dm-thread-identity .mv7-community-avatar {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
}

.mv7-dm-thread-identity strong {
  font-size: var(--v2-text-body);
}

.mv7-dm-thread-identity small {
  font-size: var(--v2-text-xs);
}

.mv7-dm-dialog #community-dm-messages {
  min-height: 0;
  gap: 10px;
  padding: 18px 18px 118px;
  overflow-y: auto;
  background: #050906;
}

.mv7-dm-day-separator {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 3px 0 6px;
  color: var(--v2-muted);
  font-size: var(--v2-text-micro);
}

.mv7-dm-day-separator::before,
.mv7-dm-day-separator::after {
  height: 1px;
  flex: 1;
  background: var(--v2-line);
  content: '';
}

.mv7-dm-message-row {
  display: flex;
  max-width: 78%;
  align-items: end;
  gap: 8px;
}

.mv7-dm-message-row.is-mine {
  align-self: flex-end;
  justify-content: flex-end;
}

.mv7-dm-message-row.is-theirs {
  align-self: flex-start;
}

.mv7-dm-message-avatar {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
  font-size: var(--v2-text-micro) !important;
}

.mv7-dm-message-row .mv7-dm-bubble {
  max-width: none;
  padding: 10px 12px !important;
  border-radius: 11px !important;
  box-shadow: none;
}

.mv7-dm-message-row .mv7-dm-bubble p {
  font-size: var(--v2-text-sm) !important;
  line-height: 1.45 !important;
}

.mv7-dm-message-row .mv7-dm-bubble small {
  margin-top: 5px;
  color: var(--v2-muted);
  opacity: 1;
  text-align: right;
}

.mv7-dm-message-row .mv7-dm-bubble.is-theirs {
  border-color: var(--v2-line-strong);
  background: #111613 !important;
}

.mv7-dm-message-row .mv7-dm-bubble.is-mine {
  border-color: rgba(45, 222, 152, 0.28);
  background: #073c2b !important;
}

.mv7-dm-composer {
  position: absolute;
  right: 16px;
  bottom: 14px;
  left: 16px;
  z-index: 4;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) 40px;
  align-items: center !important;
  gap: 7px !important;
  margin: 0;
  padding: 9px 9px 25px !important;
  border: 1px solid var(--v2-line-strong) !important;
  border-radius: 12px;
  background: rgba(14, 19, 16, 0.96);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(18px);
}

.mv7-dm-compose-tools {
  display: flex;
  gap: 1px;
}

.mv7-dm-compose-tools button {
  display: grid;
  width: 34px;
  height: 36px;
  place-items: center;
  border-radius: 7px;
  background: transparent;
  color: var(--v2-muted);
}

.mv7-dm-compose-tools button:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--v2-text);
}

.mv7-dm-compose-tools button:first-child span {
  display: block;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

.mv7-dm-compose-tools button:first-child {
  transform: none;
}

.mv7-dm-compose-tools svg {
  width: 17px;
  height: 17px;
}

.mv7-dm-composer textarea {
  min-height: 36px !important;
  max-height: 90px;
  padding: 9px 5px !important;
  border: 0;
  background: transparent;
  font-size: var(--v2-text-sm) !important;
  line-height: 1.4;
}

.mv7-dm-composer > #community-dm-send {
  width: 40px;
  height: 40px;
  border-radius: 9px;
  background: var(--v2-green);
  color: #03110b;
}

.mv7-dm-composer > small {
  right: 10px;
  bottom: 6px;
  left: 10px;
  justify-content: center;
  font-size: var(--v2-text-micro);
}

.mv7-dm-profile {
  position: relative;
  min-width: 0;
  padding: 34px 20px 18px;
}

.mv7-dm-profile > .mv7-community-avatar {
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  font-size: 22px;
}

.mv7-dm-profile > i {
  top: 98px;
  right: calc(50% - 42px);
  width: 13px;
  height: 13px;
  border-width: 2px;
}

.mv7-dm-profile > h2 {
  margin-top: 13px;
  font-size: 18px;
}

.mv7-dm-profile > small {
  margin: 14px 0 17px;
}

.mv7-dm-profile > button:not(.mv7-dm-block) {
  min-height: 40px;
  border-radius: 8px;
}

.mv7-dm-profile section {
  margin-top: 18px;
  padding-top: 16px;
}

.mv7-dm-profile > .mv7-dm-block {
  min-height: 40px;
  margin-top: auto;
  padding: 8px 0;
}

@media (max-width: 1050px) and (min-width: 769px) {
  .mv7-dm-dialog .mv7-dialog-body {
    grid-template-columns: 285px minmax(420px, 1fr);
  }

  .mv7-dm-profile {
    display: none;
  }
}

@media (max-width: 768px) {
  .mv7-dm-dialog {
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #030705;
  }

  .mv7-dm-dialog .mv7-dialog-body {
    display: block !important;
    height: 100% !important;
  }

  .mv7-dm-dialog #community-dm-list-view,
  .mv7-dm-dialog #community-dm-thread-view {
    height: 100%;
    border: 0;
  }

  .mv7-dm-dialog #community-dm-list-view[hidden],
  .mv7-dm-dialog #community-dm-thread-view[hidden] {
    display: none !important;
  }

  #community-dm-close {
    display: grid;
  }

  .mv7-dm-profile {
    display: none;
  }

  .mv7-dm-dialog header {
    min-height: 78px;
    padding: max(11px, env(safe-area-inset-top)) 14px 11px !important;
  }

  .mv7-dm-dialog #community-dm-list-view > header h2 {
    font-size: 20px;
  }

  .mv7-dm-search {
    margin: 13px 14px 8px;
  }

  .mv7-dm-filters {
    padding-inline: 14px;
  }

  .mv7-dm-dialog #community-dm-conversations {
    padding: 6px 8px calc(18px + env(safe-area-inset-bottom));
  }

  .mv7-dm-conversation-row {
    min-height: 72px !important;
    padding: 10px 8px !important;
  }

  #community-dm-thread-view > header {
    min-height: 76px;
    flex: 0 0 76px;
    gap: 8px;
    background: rgba(4, 9, 6, 0.96);
  }

  #community-dm-thread-back {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    padding: 0;
    font-size: 0;
  }

  #community-dm-thread-back svg {
    width: 20px;
    height: 20px;
    transform: rotate(180deg);
  }

  .mv7-dm-thread-identity {
    gap: 9px;
  }

  .mv7-dm-thread-identity .mv7-community-avatar {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .mv7-dm-thread-identity strong {
    font-size: var(--v2-text-body);
  }

  .mv7-dm-dialog #community-dm-messages {
    gap: 11px;
    padding: 18px 12px 116px;
    background: #030705;
  }


  .mv7-dm-dialog #community-dm-thread-view.has-thread #community-dm-messages::before,
  .mv7-dm-dialog #community-dm-thread-view.has-thread #community-dm-messages::after {
    content: none;
  }

  .mv7-dm-message-row {
    max-width: 88%;
  }

  .mv7-dm-message-avatar {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }

  .mv7-dm-message-row .mv7-dm-bubble {
    padding: 10px 12px !important;
  }

  .mv7-dm-message-row .mv7-dm-bubble p {
    font-size: var(--v2-text-sm) !important;
  }

  .mv7-dm-composer {
    right: 10px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 10px;
    grid-template-columns: auto minmax(0, 1fr) 42px !important;
    padding: 8px 8px 25px !important;
    border-radius: 13px;
  }

  .mv7-dm-compose-tools button {
    width: 34px;
    height: 38px;
  }

  .mv7-dm-composer > #community-dm-send {
    width: 42px;
    height: 42px;
  }
}

@media (max-width: 380px) {
  .mv7-dm-dialog #community-dm-list-view > header small,
  .mv7-dm-thread-identity small {
    font-size: var(--v2-text-micro);
  }

  .mv7-dm-message-row {
    max-width: 92%;
  }

  .mv7-dm-compose-tools button:nth-child(2) {
    display: none;
  }
}

/* Presupuestos: tablero mensual compacto */
.mv7-budget-heading-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.mv7-budget-period {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 1px solid var(--v2-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.018);
  color: var(--v2-muted);
  font-size: var(--v2-text-xs);
}

.mv7-budget-period svg,
.mv7-budget-heading-actions svg,
.mv7-budget-summary svg,
.mv7-budget-add svg,
.mv7-budget-insight svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.mv7-budget-field {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.mv7-budget-field::before {
  content: none;
}

.mv7-budget-summary {
  display: grid;
  overflow: hidden;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
  margin: 0 0 16px;
  border: 1px solid var(--v2-line);
  border-radius: 15px;
  background: rgba(9, 13, 11, 0.76);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.mv7-budget-summary > div {
  display: grid;
  min-width: 0;
  min-height: 102px;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 17px 20px;
}

.mv7-budget-summary > div + div {
  border-left: 1px solid var(--v2-line);
}

.mv7-budget-summary > div > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--v2-muted);
}

.mv7-budget-summary .is-spent > span {
  border-color: rgba(87, 164, 255, 0.18);
  background: rgba(87, 164, 255, 0.07);
  color: #65a8f7;
}

.mv7-budget-summary .is-available > span {
  border-color: rgba(45, 222, 152, 0.18);
  background: rgba(45, 222, 152, 0.07);
  color: var(--v2-green-bright);
}

.mv7-budget-summary .is-negative > span,
.mv7-budget-summary .is-negative small {
  border-color: rgba(244, 102, 102, 0.2);
  background: rgba(244, 102, 102, 0.06);
  color: #ef7373;
}

.mv7-budget-summary dt,
.mv7-budget-summary dd {
  margin: 0;
}

.mv7-budget-summary dt {
  margin-bottom: 5px;
  color: var(--v2-muted);
  font-size: var(--v2-text-xs);
}

.mv7-budget-summary dd {
  overflow: hidden;
  font-family: var(--v2-mono);
  font-size: clamp(15px, 1.35vw, 19px);
  font-weight: 550;
  letter-spacing: -0.025em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-budget-summary small {
  display: block;
  overflow: hidden;
  margin-top: 5px;
  color: var(--v2-dim);
  font-size: var(--v2-text-micro);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-budget-summary .is-spent small {
  color: #65a8f7;
}

.mv7-budget-summary .is-available:not(.is-negative) small {
  color: var(--v2-green-bright);
}

.mv7-budget-dashboard {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, 0.82fr);
  align-items: start;
  gap: 16px;
}

.mv7-budget-categories-card,
.mv7-budget-rhythm-card,
.mv7-budget-reserve {
  border: 1px solid var(--v2-line);
  border-radius: 15px;
  background: rgba(8, 12, 10, 0.78);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025), 0 18px 45px rgba(0, 0, 0, 0.12);
}

.mv7-budget-categories-card,
.mv7-budget-rhythm-card {
  overflow: hidden;
}

.mv7-budget-categories-card > header,
.mv7-budget-rhythm-card > header {
  display: flex;
  min-height: 73px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 17px;
  border-bottom: 1px solid var(--v2-line);
}

.mv7-budget-categories-card h3,
.mv7-budget-rhythm-card h3 {
  margin: 2px 0 0;
  font-size: var(--v2-text-body);
  font-weight: 550;
  letter-spacing: -0.02em;
}

.mv7-budget-column-labels {
  display: grid;
  width: min(54%, 390px);
  grid-template-columns: 0.8fr 0.8fr 1.25fr;
  gap: 14px;
  color: var(--v2-dim);
  font-size: var(--v2-text-micro);
}

.mv7-budget-lanes {
  min-height: 0;
}

.mv7-budget-lanes:has(.mv7-budget-empty) {
  min-height: 0;
}

.mv7-budget-lane {
  border-bottom: 1px solid var(--v2-line);
}

.mv7-budget-lane::before {
  content: none;
}

.mv7-budget-lane.is-expanded {
  background: color-mix(in srgb, var(--budget-color) 2.8%, transparent);
}

.mv7-budget-lane-main,
.mv7-budget-lane.is-expanded .mv7-budget-lane-main {
  min-height: 72px;
  grid-template-columns: minmax(145px, 1.22fr) minmax(90px, 0.72fr) minmax(90px, 0.72fr) minmax(140px, 1.15fr) 17px;
  gap: 13px;
  padding: 11px 16px;
  border: 0;
}

.mv7-budget-lane-main:hover,
.mv7-budget-lane-main:focus-visible {
  background: rgba(255, 255, 255, 0.025);
}

.mv7-budget-lane-identity {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
}

.mv7-budget-lane-identity > i {
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

.mv7-budget-lane-identity > span {
  gap: 3px;
}

.mv7-budget-lane-identity strong {
  font-size: var(--v2-text-xs);
}

.mv7-budget-lane-identity small {
  color: var(--v2-dim);
}

.mv7-budget-lane-metric {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.mv7-budget-lane-metric small {
  display: none;
  color: var(--v2-dim);
  font-size: var(--v2-text-micro);
}

.mv7-budget-lane-metric strong {
  overflow: hidden;
  font-family: var(--v2-mono);
  font-size: var(--v2-text-micro);
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-budget-lane-metric.is-spent strong {
  color: color-mix(in srgb, var(--budget-color) 75%, white);
}

.mv7-budget-lane-progress-cell {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(54px, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.mv7-budget-lane-progress {
  display: block;
  overflow: hidden;
  height: 5px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.075);
}

.mv7-budget-lane-progress > i {
  display: block;
  width: var(--budget-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: var(--budget-color);
  box-shadow: 0 0 9px color-mix(in srgb, var(--budget-color) 34%, transparent);
  transition: width 420ms ease;
}

.mv7-budget-lane.is-warning .mv7-budget-lane-progress > i {
  background: var(--v2-amber);
}

.mv7-budget-lane.is-over .mv7-budget-lane-progress > i {
  background: #ef7373;
}

.mv7-budget-lane-status {
  display: flex;
  min-width: 68px;
  flex-direction: column;
  gap: 2px;
  text-align: right;
}

.mv7-budget-lane-status strong {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-xs);
  font-weight: 550;
}

.mv7-budget-lane-status small {
  overflow: hidden;
  max-width: 105px;
  color: var(--v2-dim);
  font-size: var(--v2-text-micro);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-budget-lane.is-over .mv7-budget-lane-status strong,
.mv7-budget-lane.is-over .mv7-budget-lane-status small {
  color: #ef7373;
}

.mv7-budget-lane-chevron {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--v2-dim);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  transition: transform 180ms ease;
}

.mv7-budget-lane.is-expanded .mv7-budget-lane-chevron {
  transform: rotate(180deg);
}

.mv7-budget-lane-detail {
  grid-template-columns: minmax(0, 1fr) 175px;
  gap: 24px;
  padding: 0 16px 15px 64px;
}

.mv7-budget-lane-controls .mv7-secondary-button {
  min-height: 32px;
  padding: 0 11px;
  font-size: var(--v2-text-micro);
}

.mv7-budget-add {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  background: rgba(255, 255, 255, 0.008);
  color: var(--v2-muted);
  cursor: pointer;
  font-size: var(--v2-text-xs);
  transition: background 160ms ease, color 160ms ease;
}

.mv7-budget-add:hover,
.mv7-budget-add:focus-visible {
  background: rgba(45, 222, 152, 0.035);
  color: var(--v2-green-bright);
}

.mv7-budget-add svg {
  width: 15px;
  height: 15px;
}

.mv7-budget-chart-legend {
  display: flex;
  gap: 13px;
  color: var(--v2-dim);
  font-size: var(--v2-text-micro);
}

.mv7-budget-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.mv7-budget-chart-legend span::before {
  width: 12px;
  height: 2px;
  border-radius: 99px;
  background: var(--v2-green);
  content: '';
}

.mv7-budget-chart-legend .is-expected::before {
  background: repeating-linear-gradient(90deg, var(--v2-dim) 0 3px, transparent 3px 5px);
}

.mv7-budget-rhythm-chart {
  height: 238px;
  padding: 17px 15px 2px;
}

.mv7-budget-rhythm-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.mv7-budget-chart-grid {
  stroke: rgba(255, 255, 255, 0.055);
  stroke-dasharray: 3 6;
  vector-effect: non-scaling-stroke;
}

.mv7-budget-chart-expected,
.mv7-budget-chart-actual {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.mv7-budget-chart-expected {
  stroke: rgba(255, 255, 255, 0.25);
  stroke-dasharray: 4 6;
  stroke-width: 1.2;
}

.mv7-budget-chart-area {
  fill: rgba(45, 222, 152, 0.075);
}

.mv7-budget-chart-actual {
  stroke: var(--v2-green-bright);
  stroke-width: 2;
  filter: drop-shadow(0 0 5px rgba(45, 222, 152, 0.35));
}

.mv7-budget-chart-point {
  fill: var(--v2-canvas);
  stroke: var(--v2-green-bright);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.mv7-budget-rhythm-chart text {
  fill: var(--v2-dim);
  font-family: var(--v2-mono);
  font-size: 9px;
}

.mv7-budget-insight {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  margin: 0 14px 14px;
  padding: 12px;
  border: 1px solid rgba(45, 222, 152, 0.12);
  border-radius: 11px;
  background: rgba(45, 222, 152, 0.035);
}

.mv7-budget-insight > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 9px;
  background: rgba(45, 222, 152, 0.08);
  color: var(--v2-green-bright);
}

.mv7-budget-insight strong {
  font-size: var(--v2-text-xs);
  font-weight: 550;
}

.mv7-budget-insight p {
  margin: 4px 0 0;
  color: var(--v2-muted);
  font-size: var(--v2-text-micro);
  line-height: 1.45;
}

.mv7-budget-reserve {
  min-height: 72px;
  grid-template-columns: 38px auto minmax(70px, 1fr) auto auto;
  margin-top: 16px;
  padding: 11px 17px;
}

.mv7-budget-reserve .mv7-secondary-button {
  min-height: 34px;
  padding-inline: 14px;
}

.mv7-budget-empty {
  min-height: 180px;
  padding: 24px;
}

@media (max-width: 1180px) {
  .mv7-budget-dashboard {
    grid-template-columns: minmax(0, 1fr);
  }

  .mv7-budget-rhythm-card {
    display: grid;
    grid-template-columns: minmax(230px, 0.75fr) minmax(0, 1.25fr);
  }

  .mv7-budget-rhythm-card > header {
    grid-column: 1 / -1;
  }

  .mv7-budget-rhythm-chart {
    height: 210px;
  }

  .mv7-budget-insight {
    align-self: center;
    margin-left: 0;
  }
}

@media (max-width: 768px) {
  .mv7-budgets-heading {
    align-items: flex-start;
  }

  .mv7-budget-heading-actions {
    gap: 7px;
  }

  .mv7-budget-period {
    display: none;
  }

  .mv7-budget-heading-actions .mv7-primary-button {
    min-width: 42px;
    padding-inline: 11px;
  }

  .mv7-budget-heading-actions .mv7-primary-button span {
    display: none;
  }

  .mv7-budget-field {
    border-radius: 0;
  }

  .mv7-budget-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 13px;
  }

  .mv7-budget-summary > div {
    min-height: 82px;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 9px;
    padding: 12px;
  }

  .mv7-budget-summary > div:first-child {
    grid-column: 1 / -1;
    border-bottom: 1px solid var(--v2-line);
  }

  .mv7-budget-summary > div:nth-child(2) {
    border-left: 0;
  }

  .mv7-budget-summary > div > span {
    width: 31px;
    height: 31px;
    border-radius: 9px;
  }

  .mv7-budget-summary svg {
    width: 15px;
    height: 15px;
  }

  .mv7-budget-summary dd {
    font-size: var(--v2-text-sm);
  }

  .mv7-budget-categories-card,
  .mv7-budget-rhythm-card,
  .mv7-budget-reserve {
    border-radius: 13px;
  }

  .mv7-budget-categories-card > header,
  .mv7-budget-rhythm-card > header {
    min-height: 64px;
    padding: 12px 13px;
  }

  .mv7-budget-column-labels {
    display: none;
  }

  .mv7-budget-lane-main,
  .mv7-budget-lane.is-expanded .mv7-budget-lane-main {
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
    padding: 14px 13px;
  }

  .mv7-budget-lane-identity {
    grid-column: 1 / -1;
    padding-right: 24px;
  }

  .mv7-budget-lane-metric small {
    display: block;
  }

  .mv7-budget-lane-progress-cell {
    grid-column: 1 / -1;
  }

  .mv7-budget-lane-chevron {
    position: absolute;
    right: 14px;
    top: 25px;
  }

  .mv7-budget-lane-detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 0 13px 14px;
  }

  .mv7-budget-rhythm-card {
    display: block;
  }

  .mv7-budget-rhythm-chart {
    height: 205px;
    padding-inline: 10px;
  }

  .mv7-budget-insight {
    margin: 0 12px 12px;
  }

  .mv7-budget-reserve {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 11px 12px;
  }

  .mv7-budget-reserve > i,
  .mv7-budget-reserve > small {
    display: none;
  }

  .mv7-budget-reserve .mv7-secondary-button {
    min-height: 32px;
    padding-inline: 11px;
  }
}

@media (max-width: 390px) {
  .mv7-budget-summary > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .mv7-budget-summary > div > span {
    display: none;
  }

  .mv7-budget-chart-legend {
    gap: 8px;
  }

  .mv7-budget-reserve-token {
    display: none;
  }

  .mv7-budget-reserve {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

/* Ajustes: jerarquía por áreas y panel central sin contexto duplicado */
.mv7-settings-hub {
  grid-template-columns: 228px minmax(0, 1fr);
}

.mv7-settings-nav-group {
  margin: 11px 10px 2px;
  color: var(--v2-dim);
  font-family: var(--v2-mono);
  font-size: var(--v2-text-micro);
  font-weight: 650;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.mv7-settings-nav-group:first-of-type {
  margin-top: 13px;
}

.mv7-reports-workspace {
  width: min(100%, 980px);
}

.mv7-reports-workspace .mv7-reports-card {
  margin: 0;
}

.mv7-danger-card .mv7-settings-row + .mv7-settings-row {
  border-top: 1px solid rgba(255, 98, 89, 0.14);
}

.mv7-danger-card .mv7-danger-button {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 7px;
}

.mv7-danger-card .mv7-danger-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

@media (max-width: 1040px) {
  .mv7-settings-nav-group {
    display: none;
  }
}

/* Perfil compacto: evita scrolls internos y acerca las secciones inferiores. */
.mv7-profile-workspace .mv7-profile-card {
  container-type: inline-size;
}

.mv7-profile-region {
  display: grid;
  gap: 15px;
}

.mv7-profile-region-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.mv7-profile-region-heading h4 {
  margin-bottom: 5px;
}

.mv7-profile-region-heading p {
  margin: 0;
  color: var(--v2-muted);
  font-size: var(--v2-text-xs);
}

.mv7-profile-region-heading > span {
  padding: 5px 9px;
  border: 1px solid rgba(45, 222, 152, 0.16);
  border-radius: 999px;
  background: rgba(45, 222, 152, 0.045);
  color: var(--v2-green-bright);
  font-size: var(--v2-text-micro);
}

.mv7-profile-region-summary {
  display: grid;
  overflow: hidden;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
  margin: 0;
  border: 1px solid var(--v2-line);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.016);
}

.mv7-profile-region-summary > div {
  min-width: 0;
  padding: 11px 12px;
}

.mv7-profile-region-summary > div + div {
  border-left: 1px solid var(--v2-line);
}

.mv7-profile-region-summary dt,
.mv7-profile-region-summary dd {
  overflow: hidden;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-profile-region-summary dt {
  margin-bottom: 5px;
  color: var(--v2-dim);
  font-size: var(--v2-text-micro);
}

.mv7-profile-region-summary dd {
  font-family: var(--v2-mono);
  font-size: var(--v2-text-xs);
}

@container (min-width: 440px) {
  .mv7-profile-workspace .mv7-settings-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1041px) {
  .mv7-settings-nav {
    gap: 2px;
    min-height: 0;
    padding: 12px;
    overflow-y: visible;
  }

  .mv7-settings-nav .mv7-settings-search {
    min-height: 37px;
    margin-bottom: 3px;
  }

  .mv7-settings-nav .mv7-settings-nav-item {
    min-height: 37px;
  }

  .mv7-settings-nav-group,
  .mv7-settings-nav-group:first-of-type {
    margin: 7px 10px 1px;
  }

  .mv7-profile-workspace .mv7-profile-card {
    grid-template-columns: 115px minmax(0, 1fr);
    gap: 13px 18px;
    padding: 20px;
  }

  .mv7-profile-avatar-zone .mv7-settings-avatar {
    width: 98px;
    height: 98px;
    font-size: 31px;
  }

  .mv7-profile-progress-ring {
    width: 100px;
    height: 100px;
    margin-block: 14px;
  }
}

.mv7-profile-workspace .mv7-profile-card > #settings-currency-rate-hint,
.mv7-profile-workspace .mv7-profile-card > #settings-profile-session-hint {
  grid-column: 1 / -1;
}

.mv7-profile-switcher-card {
  padding: 17px !important;
}

.mv7-profile-switcher-card > .mv7-settings-hint {
  margin: -4px 0 9px;
  font-size: var(--v2-text-xs);
}

.mv7-profile-switcher-card .mv7-profile-switcher {
  gap: 10px;
  margin-top: 2px;
}

@media (max-width: 600px) {
  .mv7-profile-region-summary {
    grid-template-columns: minmax(0, 1fr);
  }

  .mv7-profile-region-summary > div + div {
    border-top: 1px solid var(--v2-line);
    border-left: 0;
  }

  .mv7-profile-switcher-card {
    order: 4;
  }
}

/* Inicio móvil Zenit: jerarquía compacta basada en el concepto aprobado. */
.mv7-mobile-topbar-start {
  display: contents;
}

.mv7-mobile-brand,
.mv7-mobile-cashflow-period,
.mv7-overview-time-subtitle,
.mv7-overview-budget-panel {
  display: none;
}

@media (max-width: 768px) {
  .mv7-mobile-topbar-start {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
  }

  body[data-v2-view='overview'] .mv7-topbar {
    min-height: 68px;
    gap: 8px;
    padding: max(10px, env(safe-area-inset-top)) 14px 10px;
    border-bottom-color: rgba(255, 255, 255, 0.045);
    background: rgba(12, 16, 14, 0.94);
  }

  body[data-v2-view='overview'] .mv7-mobile-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    color: var(--v2-text);
  }

  .mv7-mobile-brand strong {
    font-size: 20px;
    font-weight: 650;
    letter-spacing: -0.035em;
  }

  .mv7-mobile-brand-mark {
    position: relative;
    display: block;
    width: 22px;
    height: 27px;
    flex: 0 0 22px;
  }

  .mv7-mobile-brand-mark i {
    position: absolute;
    width: 16px;
    height: 9px;
    border-radius: 3px;
    background: linear-gradient(135deg, var(--v2-green-bright), var(--v2-green));
    transform: skewX(-28deg);
  }

  .mv7-mobile-brand-mark i:first-child {
    top: 3px;
    right: 0;
  }

  .mv7-mobile-brand-mark i:last-child {
    bottom: 3px;
    left: 0;
  }

  body[data-v2-view='overview'] .mv7-menu-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-icon-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-avatar {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions {
    gap: 4px;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions .mv7-icon-button:nth-child(2) {
    display: grid;
  }

  #overview-view.mv7-content {
    gap: 14px;
    padding: 20px 14px calc(34px + env(safe-area-inset-bottom));
  }

  #overview-view .mv7-welcome-card {
    display: none;
  }

  #overview-view .mv7-section-heading > div:first-child {
    order: 1;
  }

  #overview-view .mv7-section-heading h2 {
    max-width: 100%;
    margin: 0;
    font-size: clamp(25px, 7.2vw, 30px);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  #overview-view .mv7-overview-time-subtitle {
    display: block;
    margin: 7px 0 2px;
    color: var(--v2-muted);
    font-size: 14px;
  }

  #overview-view .mv7-preview-badge,
  #overview-view .mv7-period-control,
  #overview-view #open-composer {
    display: none;
  }

  #overview-view .mv7-metric-grid {
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
    border: 1px solid var(--v2-glass-edge);
    border-radius: 17px;
    background: rgba(19, 24, 21, 0.76);
    box-shadow: 0 18px 44px -28px rgba(0, 0, 0, 0.78);
  }

  #overview-view .mv7-metric {
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 14px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  #overview-view .mv7-metric::before,
  #overview-view .mv7-metric::after,
  #overview-view .mv7-metric > p,
  #overview-view .mv7-metric .mv7-metric-tag,
  #overview-view .mv7-metric .mv7-change,
  #overview-view .mv7-metric .mv7-sparkline {
    display: none;
  }

  #overview-view .mv7-metric-primary {
    min-height: 124px;
    grid-column: 1 / -1;
    border-bottom: 1px solid var(--v2-line);
  }

  #overview-view .mv7-metric-primary .mv7-metric-icon {
    order: 2;
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    margin-left: auto;
    border-radius: 13px;
    background: rgba(45, 222, 152, 0.1);
    color: var(--v2-green-bright);
  }

  #overview-view .mv7-metric-primary .mv7-metric-icon svg {
    width: 22px;
    height: 22px;
  }

  #overview-view .mv7-metric-primary > strong {
    margin: 17px 0 0;
    overflow: hidden;
    font-size: clamp(28px, 8.4vw, 36px);
    text-overflow: ellipsis;
  }

  #overview-view .mv7-metric-income {
    border-right: 1px solid var(--v2-line);
  }

  #overview-view .mv7-metric-income,
  #overview-view .mv7-metric-expense {
    min-height: 88px;
  }

  #overview-view .mv7-metric-income .mv7-metric-head,
  #overview-view .mv7-metric-expense .mv7-metric-head {
    gap: 8px;
  }

  #overview-view .mv7-metric-income > strong,
  #overview-view .mv7-metric-expense > strong {
    margin: 10px 0 0;
    font-size: clamp(15px, 4.6vw, 19px);
  }

  #overview-view .mv7-quick-actions-row {
    order: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 2px 0;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn {
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 76px;
    gap: 7px;
    padding: 2px 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn svg {
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    padding: 14px;
    border: 1px solid rgba(45, 222, 152, 0.25);
    border-radius: 50%;
    background: rgba(45, 222, 152, 0.1);
    color: var(--v2-green-bright);
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(2) svg {
    border-color: rgba(255, 98, 89, 0.28);
    background: rgba(255, 98, 89, 0.11);
    color: #ff6259;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(4) svg {
    border-color: var(--v2-line-strong);
    background: rgba(255, 255, 255, 0.045);
    color: var(--v2-muted);
  }

  #overview-view .mv7-quick-action-label {
    color: var(--v2-text);
    font-size: 11px;
    font-weight: 540;
  }

  #overview-view .mv7-analysis-grid {
    display: contents !important;
  }

  #overview-view .mv7-cashflow-panel {
    order: 4;
    display: block;
    border-radius: 17px;
  }

  #overview-view .mv7-accounts-panel {
    display: none;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-header {
    min-height: 58px;
    padding: 13px 14px 8px;
    border-bottom: 0;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-header p,
  #overview-view .mv7-cashflow-panel .mv7-legend {
    display: none;
  }

  #overview-view .mv7-mobile-cashflow-period {
    position: relative;
    display: flex;
    align-items: center;
  }

  #overview-view .mv7-mobile-cashflow-period select {
    min-height: 38px;
    padding: 0 34px 0 12px;
    appearance: none;
    border: 1px solid var(--v2-line);
    border-radius: 10px;
    outline: 0;
    background: rgba(255, 255, 255, 0.025);
    color: var(--v2-text);
    font-size: 12px;
  }

  #overview-view .mv7-mobile-cashflow-period svg {
    position: absolute;
    width: 14px;
    height: 14px;
    right: 11px;
    fill: none;
    stroke: var(--v2-muted);
    stroke-width: 1.7;
    pointer-events: none;
  }

  #overview-view .mv7-cashflow-panel .mv7-chart-wrap {
    padding: 8px 12px 13px 42px;
  }

  #overview-view .mv7-cashflow-panel .mv7-main-chart {
    height: 170px;
  }

  #overview-view .mv7-cashflow-panel .mv7-chart-axis {
    width: 34px;
    height: 142px;
    left: 4px;
    top: 16px;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-stats {
    display: none;
  }

  #overview-view .mv7-overview-budget-panel {
    order: 5;
    display: block;
    border-radius: 17px;
  }

  #overview-view .mv7-overview-budget-panel .mv7-panel-header {
    min-height: 54px;
    padding: 14px 15px 7px;
    border-bottom: 0;
  }

  #overview-view .mv7-overview-budget-panel .mv7-panel-header p {
    display: none;
  }

  .mv7-overview-budget-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 8px 15px 17px;
  }

  .mv7-overview-budget-content[hidden] {
    display: none;
  }

  .mv7-overview-budget-token {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--overview-budget-color) 32%, transparent);
    border-radius: 11px;
    background: color-mix(in srgb, var(--overview-budget-color) 11%, transparent);
    color: var(--overview-budget-color);
    font-family: var(--v2-mono);
    font-size: var(--v2-text-xs);
    font-style: normal;
  }

  .mv7-overview-budget-copy {
    display: grid;
    min-width: 0;
    gap: 9px;
  }

  .mv7-overview-budget-copy > div {
    display: flex;
    min-width: 0;
    justify-content: space-between;
    gap: 10px;
  }

  .mv7-overview-budget-copy strong,
  .mv7-overview-budget-copy span,
  #overview-budget-percent {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-overview-budget-copy span {
    color: var(--v2-muted);
  }

  .mv7-overview-budget-track {
    display: block;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
  }

  .mv7-overview-budget-track b {
    display: block;
    height: 100%;
    border-radius: inherit;
  }

  #overview-budget-percent {
    color: var(--overview-budget-color, var(--v2-green-bright));
    font-weight: 680;
  }

  #overview-budget-percent.is-warning {
    color: var(--v2-amber);
  }

  #overview-budget-percent.is-over {
    color: #ff6259;
  }

  .mv7-overview-budget-empty {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 7px 15px 17px;
    color: var(--v2-muted);
    font-size: 12px;
  }

  .mv7-overview-budget-empty[hidden] {
    display: none;
  }

  #overview-view .mv7-activity-panel {
    order: 6;
    margin: 0;
    border-radius: 17px;
  }

  #overview-view .mv7-activity-panel .mv7-panel-header {
    min-height: 56px;
    padding: 13px 14px;
  }

  #overview-view .mv7-activity-panel .mv7-panel-header p {
    display: none;
  }

  #overview-view .mv7-transaction-list {
    padding: 5px 8px 10px;
  }

  #overview-view .mv7-transaction-row {
    min-height: 58px;
    border-radius: 10px;
    background: transparent;
  }

  #overview-view .mv7-transaction-row:nth-child(n + 3) {
    display: none;
  }

  #overview-view .mv7-overview-secondary-grid {
    display: none;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='overview'] .mv7-topbar {
    padding-inline: 10px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    font-size: 17px;
  }
}

/* Movimientos mobile v13: historial compacto según la maqueta aprobada. */
.mv7-tx-mobile-list-head,
.mv7-tx-mobile-fab {
  display: none;
}

@media (max-width: 768px) {
  #transactions-view {
    position: relative;
    padding: 18px 14px calc(92px + env(safe-area-inset-bottom));
  }

  #transactions-view .mv7-tx-heading,
  #transactions-view .mv7-tx-summary {
    display: none;
  }

  #transactions-view .mv7-tx-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 0;
    margin: 0 0 14px;
  }

  #transactions-view .mv7-tx-search {
    min-height: 48px;
    grid-column: 1 / -1;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 14px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012)),
      rgba(15, 20, 23, 0.78);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.055),
      0 12px 28px rgba(0, 0, 0, 0.16);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
  }

  #transactions-view .mv7-tx-search svg {
    width: 17px;
    height: 17px;
    color: #84908e;
  }

  #transactions-view .mv7-tx-search input {
    min-width: 0;
    font-size: 15px;
  }

  #transactions-view .mv7-tx-search kbd {
    display: none;
  }

  #transactions-view .mv7-tx-type-filter {
    display: flex;
    min-width: 0;
    grid-column: 1 / -1;
    grid-row: 2;
    gap: 7px;
    padding: 0;
    overflow-x: auto;
    border: 0;
    background: transparent;
    scrollbar-width: none;
  }

  #transactions-view .mv7-tx-type-filter button {
    min-width: max-content;
    min-height: 38px;
    padding: 0 15px;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.025);
    color: #aeb6b3;
    font-size: 12px;
  }

  #transactions-view .mv7-tx-type-filter button.is-active {
    border-color: rgba(63, 214, 153, 0.34);
    background:
      linear-gradient(145deg, rgba(69, 220, 158, 0.28), rgba(33, 139, 102, 0.16)),
      rgba(24, 48, 40, 0.56);
    color: #bdf5dd;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.13),
      0 8px 20px rgba(25, 147, 102, 0.11);
  }

  #transactions-view .mv7-tx-select {
    display: none;
  }

  #transactions-view .mv7-tx-select select {
    min-height: 36px;
    padding: 0 12px 0 31px;
    font-size: 11px;
  }

  #transactions-view .mv7-tx-mobile-list-head {
    display: flex;
    min-height: 36px;
    align-items: center;
    justify-content: space-between;
    padding: 0 2px 4px 4px;
  }

  #transactions-view .mv7-tx-mobile-list-head > span {
    margin-right: auto;
    color: #dfe5e3;
    font-size: 14px;
    font-weight: 650;
    letter-spacing: -0.015em;
  }

  #transactions-view .mv7-tx-mobile-period-select {
    position: relative;
    display: flex;
    min-width: 84px;
    height: 32px;
    align-items: center;
    margin-right: 4px;
    border: 1px solid rgba(255, 255, 255, 0.085);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.025);
  }

  #transactions-view .mv7-tx-mobile-period-select svg {
    position: absolute;
    left: 9px;
    width: 13px;
    height: 13px;
    fill: none;
    stroke: #84908e;
    stroke-width: 1.6;
    pointer-events: none;
  }

  #transactions-view .mv7-tx-mobile-period-select select {
    width: 100%;
    height: 30px;
    padding: 0 8px 0 27px;
    border: 0;
    background: transparent;
    color: #aeb6b3;
    font-size: 10px;
  }

  #transactions-view .mv7-tx-mobile-list-head .mv7-icon-button {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    border-color: transparent;
    border-radius: 10px;
    background: transparent;
    color: #7f8a87;
  }

  #transactions-view .mv7-tx-mobile-list-head .mv7-icon-button:active {
    background: rgba(255, 255, 255, 0.06);
    color: #d2d9d6;
  }

  #transactions-view .mv7-tx-mobile-fab {
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 72;
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid rgba(112, 246, 187, 0.38);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.23), transparent 45%),
      #26c982;
    color: #f4fff9;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.32),
      0 15px 34px rgba(20, 174, 111, 0.3);
    cursor: pointer;
  }

  #transactions-view .mv7-tx-mobile-fab svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
  }

  #transactions-view .mv7-tx-layout,
  #transactions-view .mv7-tx-ledger {
    display: block;
  }

  #transactions-view .mv7-tx-ledger {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  #transactions-view .mv7-tx-list,
  #transactions-view .mv7-tx-list:has(.mv7-tx-empty) {
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  #transactions-view .mv7-tx-date-group {
    display: flex;
    min-height: 35px;
    align-items: flex-end;
    padding: 10px 4px 7px;
    color: #cbd3d0;
    font-family: var(--v2-font);
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -0.01em;
    text-transform: none;
  }

  #transactions-view .mv7-tx-row {
    min-height: 66px;
    grid-template-columns: 40px minmax(0, 1fr) auto 10px;
    gap: 10px;
    padding: 9px 11px;
    border-color: rgba(255, 255, 255, 0.09);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012)),
      rgba(15, 20, 22, 0.8);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.04),
      0 10px 25px rgba(0, 0, 0, 0.12);
  }

  #transactions-view .mv7-tx-row::after {
    color: #68726f;
    font-size: 20px;
    content: '\203A';
  }

  #transactions-view .mv7-transaction-token {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    font-size: 0;
  }

  #transactions-view .mv7-transaction-token::before {
    font-size: 20px;
    font-weight: 450;
    line-height: 1;
    content: '\2191';
  }

  #transactions-view .mv7-transaction-token.is-income {
    background: rgba(47, 210, 145, 0.14);
    color: #46d99e;
  }

  #transactions-view .mv7-transaction-token.is-income::before {
    content: '\2193';
  }

  #transactions-view .mv7-transaction-token.is-expense {
    background: rgba(244, 94, 87, 0.14);
    color: #f06f69;
  }

  #transactions-view .mv7-transaction-token.is-transfer {
    background: rgba(103, 153, 239, 0.14);
    color: #7ca9f5;
  }

  #transactions-view .mv7-transaction-token.is-transfer::before {
    content: '\2194';
  }

  #transactions-view .mv7-tx-row-copy {
    gap: 3px;
  }

  #transactions-view .mv7-tx-row-copy strong {
    font-size: 13px;
    font-weight: 640;
  }

  #transactions-view .mv7-tx-row-meta-mobile {
    color: #87918e;
    font-size: 10px;
  }

  #transactions-view .mv7-tx-row-amount {
    max-width: 116px;
    font-size: clamp(11px, 3.25vw, 13px);
  }

  #transactions-view .mv7-tx-row-amount.is-income {
    color: #4bdaa1;
  }

  #transactions-view .mv7-tx-row-amount.is-expense {
    color: #f27670;
  }

  #transactions-view .mv7-tx-empty {
    display: flex;
    min-height: 230px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 9px;
    padding: 28px 24px;
    border: 1px solid rgba(255, 255, 255, 0.085);
    border-radius: 18px;
    background:
      radial-gradient(circle at 50% 0, rgba(48, 200, 140, 0.07), transparent 12rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01)),
      rgba(13, 18, 20, 0.72);
    color: #8e9895;
    text-align: center;
  }

  #transactions-view .mv7-tx-empty-icon {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    margin-bottom: 3px;
    border: 1px solid rgba(74, 218, 160, 0.17);
    border-radius: 14px;
    background: rgba(55, 207, 147, 0.08);
    color: #58d5a2;
  }

  #transactions-view .mv7-tx-empty-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
  }

  #transactions-view .mv7-tx-empty strong {
    color: #e4e9e7;
    font-size: 14px;
  }

  #transactions-view .mv7-tx-empty p {
    max-width: 270px;
    margin: 0;
    font-size: 11px;
    line-height: 1.55;
  }

  #transactions-view .mv7-tx-empty .mv7-secondary-button {
    min-height: 36px;
    padding: 0 15px;
    margin-top: 6px;
    border-color: rgba(73, 214, 158, 0.2);
    border-radius: 999px;
    background: rgba(52, 197, 140, 0.07);
    color: #76dcb3;
  }

  #transactions-view .mv7-tx-inspector {
    display: none;
  }

  #transactions-view .mv7-tx-inspector.is-open {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 95;
    display: block;
    width: 100%;
    max-height: 88dvh;
    overflow-y: auto;
    border-radius: 20px 20px 0 0;
    background: rgba(12, 17, 19, 0.97);
    box-shadow: 0 -28px 80px rgba(0, 0, 0, 0.72);
    transform: none;
  }

  #transactions-view .mv7-tx-ledger-footer[hidden] {
    display: none !important;
  }

  #transactions-view .mv7-tx-ledger-footer:not([hidden]) {
    min-height: 42px;
    margin-top: 12px;
    border-radius: 13px;
  }
}

@media (max-width: 370px) {
  #transactions-view .mv7-tx-type-filter button {
    padding-inline: 11px;
  }

  #transactions-view .mv7-tx-select {
    min-width: 84px;
  }
}

.mv7-calendar-day-dialog {
  width: min(520px, calc(100% - 28px));
  max-height: min(680px, calc(100dvh - 36px));
}

.mv7-calendar-day-dialog .mv7-dialog-body {
  display: grid;
  gap: 14px;
}

.mv7-calendar-day-event-list {
  display: grid;
  gap: 8px;
  max-height: min(500px, calc(100dvh - 180px));
  overflow-y: auto;
}

.mv7-calendar-day-event-row {
  display: grid;
  min-height: 64px;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  border: 1px solid var(--v2-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--v2-text);
  text-align: left;
  cursor: pointer;
}

.mv7-calendar-day-event-row:hover,
.mv7-calendar-day-event-row:focus-visible {
  border-color: color-mix(in srgb, var(--event-color) 45%, var(--v2-line));
  background: color-mix(in srgb, var(--event-color) 8%, transparent);
  outline: none;
}

.mv7-calendar-day-event-row.is-income {
  --event-color: #43e3ad;
}

.mv7-calendar-day-event-row.is-expense {
  --event-color: #f0804f;
}

.mv7-calendar-day-event-row > svg {
  width: 30px;
  height: 30px;
  padding: 6px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--event-color) 12%, transparent);
  fill: none;
  stroke: var(--event-color);
}

.mv7-calendar-day-event-row > span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.mv7-calendar-day-event-row strong,
.mv7-calendar-day-event-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv7-calendar-day-event-row small {
  color: var(--v2-muted);
  font-size: var(--v2-text-xs);
}

.mv7-calendar-day-event-row > b {
  color: var(--event-color);
  font-size: var(--v2-text-xs);
  white-space: nowrap;
}

@media (max-width: 768px) {
  .mv7-calendar-day-dialog {
    width: 100%;
    max-height: min(72dvh, 680px);
  }

  .mv7-calendar-day-event-row {
    grid-template-columns: 30px minmax(0, 1fr);
  }

.mv7-calendar-day-event-row > b {
    grid-column: 2;
  }
}

/* Override final: el compositor de DM solo muestra texto + enviar. */
.mv7-community-mobile-search {
  display: none;
}

.mv7-dm-composer {
  grid-template-columns: minmax(0, 1fr) 40px !important;
}

@media (max-width: 768px) {
  .mv7-community-mobile-search {
    display: flex;
    margin: 12px 14px 4px;
  }

  .mv7-dm-composer {
    grid-template-columns: minmax(0, 1fr) 42px !important;
  }
}

/* Mobile Glass Edition ----------------------------------------------------
   A premium, neutral glass language for Zenit's user workspace. Section
   accents are intentionally restrained and this layer never reaches desktop. */
@media (max-width: 768px) {
  body {
    --mv7-mobile-accent: #79a9ff;
    --mv7-mobile-glow: rgba(121, 169, 255, 0.16);
    --mv7-mobile-glow-soft: rgba(121, 169, 255, 0.07);
    --mv7-mobile-glass: rgba(20, 24, 31, 0.67);
    --mv7-mobile-glass-strong: rgba(16, 20, 27, 0.84);
    --mv7-mobile-glass-soft: rgba(255, 255, 255, 0.035);
    --mv7-mobile-edge: rgba(255, 255, 255, 0.115);
    --mv7-mobile-edge-bright: rgba(255, 255, 255, 0.18);
    --mv7-mobile-shadow: 0 18px 42px rgba(0, 0, 0, 0.3);
    background:
      radial-gradient(circle at 92% 5%, var(--mv7-mobile-glow), transparent 23rem),
      radial-gradient(circle at 5% 54%, rgba(171, 133, 255, 0.07), transparent 27rem),
      linear-gradient(155deg, #090b10 0%, #0d1016 46%, #090c11 100%);
    background-attachment: fixed;
  }

  body[data-v2-view='transactions'] {
    --mv7-mobile-accent: #72a8ff;
    --mv7-mobile-glow: rgba(80, 139, 255, 0.18);
    --mv7-mobile-glow-soft: rgba(80, 139, 255, 0.075);
  }

  body[data-v2-view='accounts'] {
    --mv7-mobile-accent: #71d4e8;
    --mv7-mobile-glow: rgba(79, 196, 222, 0.17);
    --mv7-mobile-glow-soft: rgba(79, 196, 222, 0.07);
  }

  body[data-v2-view='budgets'] {
    --mv7-mobile-accent: #efb86a;
    --mv7-mobile-glow: rgba(239, 184, 106, 0.16);
    --mv7-mobile-glow-soft: rgba(239, 184, 106, 0.07);
  }

  body[data-v2-view='savings'] {
    --mv7-mobile-accent: #b798ff;
    --mv7-mobile-glow: rgba(159, 122, 255, 0.18);
    --mv7-mobile-glow-soft: rgba(159, 122, 255, 0.075);
  }

  body[data-v2-view='calendar'] {
    --mv7-mobile-accent: #78b9ff;
    --mv7-mobile-glow: rgba(84, 159, 255, 0.17);
    --mv7-mobile-glow-soft: rgba(84, 159, 255, 0.07);
  }

  body[data-v2-view='recurring'] {
    --mv7-mobile-accent: #ef9cae;
    --mv7-mobile-glow: rgba(231, 121, 151, 0.16);
    --mv7-mobile-glow-soft: rgba(231, 121, 151, 0.07);
  }

  body[data-v2-view='streak'] {
    --mv7-mobile-accent: #c099ff;
    --mv7-mobile-glow: rgba(174, 121, 255, 0.18);
    --mv7-mobile-glow-soft: rgba(174, 121, 255, 0.075);
  }

  body[data-v2-view='networth'] {
    --mv7-mobile-accent: #8c9fff;
    --mv7-mobile-glow: rgba(109, 127, 255, 0.18);
    --mv7-mobile-glow-soft: rgba(109, 127, 255, 0.075);
  }

  body[data-v2-view='community'] {
    --mv7-mobile-accent: #c394ff;
    --mv7-mobile-glow: rgba(182, 118, 255, 0.16);
    --mv7-mobile-glow-soft: rgba(182, 118, 255, 0.07);
  }

  body[data-v2-view='settings'] {
    --mv7-mobile-accent: #8db6ff;
    --mv7-mobile-glow: rgba(117, 162, 255, 0.16);
    --mv7-mobile-glow-soft: rgba(117, 162, 255, 0.07);
  }

  body[data-v2-view='investments'] {
    --mv7-mobile-accent: #6fcbd4;
    --mv7-mobile-glow: rgba(91, 193, 207, 0.16);
    --mv7-mobile-glow-soft: rgba(91, 193, 207, 0.07);
  }

  .mv7-app {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .mv7-workspace {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 18rem),
      transparent;
  }

  .mv7-topbar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018)),
      rgba(12, 15, 21, 0.72);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.09),
      0 14px 38px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
  }

  .mv7-topbar::after {
    position: absolute;
    right: 16%;
    bottom: -1px;
    left: 16%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--mv7-mobile-accent), transparent);
    opacity: 0.42;
    content: '';
    pointer-events: none;
  }

  .mv7-topbar .mv7-icon-button,
  .mv7-topbar .mv7-avatar,
  .mv7-menu-button {
    border-color: var(--mv7-mobile-edge);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018));
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.09),
      0 9px 20px rgba(0, 0, 0, 0.16);
  }

  .mv7-mobile-brand-mark i {
    background: linear-gradient(135deg, #f4f7ff, var(--mv7-mobile-accent));
    box-shadow: 0 0 14px var(--mv7-mobile-glow);
  }

  .mv7-sidebar {
    border-right-color: var(--mv7-mobile-edge-bright);
    background:
      radial-gradient(circle at 0 0, var(--mv7-mobile-glow), transparent 18rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.07), transparent 42%),
      rgba(12, 15, 21, 0.9);
    box-shadow:
      inset -1px 0 rgba(255, 255, 255, 0.08),
      28px 0 70px rgba(0, 0, 0, 0.52);
    backdrop-filter: blur(30px) saturate(145%);
    -webkit-backdrop-filter: blur(30px) saturate(145%);
  }

  .mv7-nav-item.is-active,
  .mv7-settings-nav-item.is-active {
    border-color: color-mix(in srgb, var(--mv7-mobile-accent) 34%, var(--mv7-mobile-edge));
    background:
      linear-gradient(90deg, var(--mv7-mobile-glow-soft), rgba(255, 255, 255, 0.035)),
      rgba(255, 255, 255, 0.025);
    color: #f7f9ff;
    box-shadow: inset 2px 0 var(--mv7-mobile-accent);
  }

  .mv7-nav-item.is-active svg,
  .mv7-settings-nav-item.is-active svg {
    color: var(--mv7-mobile-accent);
    stroke: var(--mv7-mobile-accent);
  }

  .mv7-primary-button {
    border-color: color-mix(in srgb, var(--mv7-mobile-accent) 46%, rgba(255, 255, 255, 0.14));
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.035)),
      color-mix(in srgb, var(--mv7-mobile-accent) 28%, rgba(17, 21, 29, 0.88));
    color: #fbfcff;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      0 12px 24px -12px var(--mv7-mobile-glow);
  }

  .mv7-secondary-button,
  .mv7-icon-button,
  .mv7-text-link,
  .mv7-text-action {
    transition:
      border-color 180ms ease,
      background-color 180ms ease,
      color 180ms ease,
      transform 180ms ease;
  }

  .mv7-text-link,
  .mv7-text-action,
  .mv7-eyebrow {
    color: var(--mv7-mobile-accent);
  }

  .mv7-metric,
  .mv7-panel,
  .mv7-tx-summary,
  .mv7-tx-ledger,
  .mv7-tx-inspector,
  .mv7-money-map,
  .mv7-account-focus,
  .mv7-account-layer,
  .mv7-budget-field,
  .mv7-budget-categories-card,
  .mv7-budget-rhythm-card,
  .mv7-budget-reserve,
  .mv7-future-scene,
  .mv7-calendar-runway,
  .mv7-calendar-summary dl > div,
  .mv7-calendar-side-card,
  .mv7-recurring-kpis article,
  .mv7-orbit-system,
  .mv7-recurring-side-card,
  .mv7-streak-hero article,
  .mv7-missions-card,
  .mv7-streak-completed,
  .mv7-streak-rail section,
  .mv7-networth-section,
  .mv7-investments-summary article,
  .mv7-investments-workspace,
  .mv7-community-composer,
  .mv7-community-post,
  .mv7-community-rail-module,
  .mv7-settings-card,
  .mv7-settings-nav {
    border-color: var(--mv7-mobile-edge);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018) 48%, transparent),
      var(--mv7-mobile-glass);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.09),
      inset 0 -1px rgba(255, 255, 255, 0.025),
      var(--mv7-mobile-shadow);
    backdrop-filter: blur(18px) saturate(135%);
    -webkit-backdrop-filter: blur(18px) saturate(135%);
  }

  .mv7-metric,
  .mv7-panel,
  .mv7-tx-summary,
  .mv7-money-map,
  .mv7-account-focus,
  .mv7-budget-field,
  .mv7-budget-categories-card,
  .mv7-budget-rhythm-card,
  .mv7-future-scene,
  .mv7-calendar-runway,
  .mv7-orbit-system,
  .mv7-networth-section,
  .mv7-settings-card {
    border-radius: 18px;
  }

  input,
  select,
  textarea,
  .mv7-tx-search,
  .mv7-community-search,
  .mv7-dm-search {
    border-color: var(--mv7-mobile-edge);
    background: rgba(7, 10, 15, 0.48);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.045),
      0 8px 20px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  input:focus,
  select:focus,
  textarea:focus {
    border-color: color-mix(in srgb, var(--mv7-mobile-accent) 58%, white 8%);
    box-shadow: 0 0 0 3px var(--mv7-mobile-glow-soft);
  }

  .mv7-section-heading h2,
  .mv7-tx-heading h2,
  .mv7-accounts-heading h2,
  .mv7-budgets-heading h2,
  .mv7-goals-heading h2,
  .mv7-calendar-heading h2,
  .mv7-recurring-heading h2,
  .mv7-streak-heading h2,
  .mv7-networth-heading h2,
  .mv7-settings-title h3 {
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.34);
  }

  /* Inicio: calm blue overview, with semantic colors only in the figures. */
  #overview-view .mv7-metric-primary {
    border-color: color-mix(in srgb, var(--mv7-mobile-accent) 32%, var(--mv7-mobile-edge));
    background:
      radial-gradient(circle at 92% 18%, var(--mv7-mobile-glow), transparent 9rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02)),
      var(--mv7-mobile-glass-strong);
  }

  #overview-view .mv7-metric-primary .mv7-metric-icon,
  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(1) svg {
    border-color: rgba(111, 169, 255, 0.34);
    background: rgba(111, 169, 255, 0.1);
    color: #83b5ff;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(2) svg {
    border-color: rgba(239, 139, 153, 0.32);
    background: rgba(239, 139, 153, 0.09);
    color: #f19aa8;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(3) svg {
    border-color: rgba(181, 140, 255, 0.32);
    background: rgba(181, 140, 255, 0.09);
    color: #c1a3ff;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(4) svg {
    border-color: rgba(255, 255, 255, 0.13);
    background: rgba(255, 255, 255, 0.045);
    color: #d4d8e2;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn {
    background: transparent;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(1) svg {
    stroke: #83b5ff;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(2) svg {
    stroke: #f19aa8;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(3) svg {
    stroke: #c1a3ff;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:nth-child(4) svg {
    stroke: #d4d8e2;
  }

  #overview-view .mv7-cashflow-panel {
    background:
      radial-gradient(circle at 12% 100%, rgba(102, 157, 255, 0.09), transparent 15rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.014)),
      var(--mv7-mobile-glass);
  }

  #overview-view .mv7-chart-line {
    stroke: #7baeff;
    filter: drop-shadow(0 0 7px rgba(90, 149, 255, 0.42));
  }

  /* Movimientos: editorial blue ledger with quiet semantic income/expense. */
  #transactions-view .mv7-tx-summary {
    background:
      radial-gradient(circle at 5% 10%, rgba(77, 136, 255, 0.15), transparent 15rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.012)),
      var(--mv7-mobile-glass-strong);
  }

  #transactions-view .mv7-tx-summary-item:first-child strong,
  #transactions-view .mv7-tx-summary-line {
    color: #8bb8ff;
    stroke: #76a9ff;
  }

  #transactions-view .mv7-tx-type-filter button.is-active {
    border-color: rgba(112, 168, 255, 0.28);
    background: rgba(112, 168, 255, 0.11);
    color: #e9f1ff;
  }

  #transactions-view .mv7-tx-row,
  #transactions-view .mv7-transaction-row {
    border-bottom-color: rgba(255, 255, 255, 0.065);
  }

  #transactions-view .mv7-tx-row.is-selected,
  #transactions-view .mv7-transaction-row:active {
    background: linear-gradient(90deg, rgba(112, 168, 255, 0.1), rgba(255, 255, 255, 0.018));
  }

  /* Cuentas: cool cyan mapping and varied account tokens. */
  #accounts-view .mv7-money-map {
    background:
      radial-gradient(circle at 12% 18%, rgba(89, 199, 221, 0.15), transparent 16rem),
      radial-gradient(circle at 88% 80%, rgba(121, 147, 255, 0.08), transparent 13rem),
      var(--mv7-mobile-glass-strong);
  }

  #accounts-view .mv7-money-source {
    border-color: rgba(107, 211, 230, 0.3);
    background: rgba(87, 192, 214, 0.07);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.1),
      0 18px 38px rgba(0, 0, 0, 0.24);
  }

  #accounts-view .mv7-money-node:nth-child(3n + 1),
  #accounts-view .mv7-account-layer:nth-child(3n + 1) {
    --account-color: #75cfe1;
  }

  #accounts-view .mv7-money-node:nth-child(3n + 2),
  #accounts-view .mv7-account-layer:nth-child(3n + 2) {
    --account-color: #9f91ff;
  }

  #accounts-view .mv7-money-node:nth-child(3n),
  #accounts-view .mv7-account-layer:nth-child(3n) {
    --account-color: #eab46f;
  }

  /* Presupuestos: amber planning, violet projections, never a green wall. */
  #budgets-view .mv7-budget-field {
    background:
      radial-gradient(circle at 90% 0, rgba(236, 177, 96, 0.15), transparent 14rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.012)),
      var(--mv7-mobile-glass-strong);
  }

  #budgets-view .mv7-budget-inline-stats .is-plan dd,
  #budgets-view .mv7-budget-axis-track > b,
  #budgets-view .mv7-budget-lane-actual {
    color: #f0bb70;
    stroke: #f0bb70;
  }

  #budgets-view .mv7-budget-lane-projection {
    stroke: #b69aff;
  }

  #budgets-view .mv7-budget-lane,
  #budgets-view .mv7-budget-reserve {
    border-color: rgba(255, 255, 255, 0.1);
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.012));
  }

  /* Objetivos: violet future scene with cyan milestones. */
  #savings-view .mv7-future-scene {
    background:
      radial-gradient(circle at 16% 16%, rgba(166, 126, 255, 0.17), transparent 17rem),
      radial-gradient(circle at 90% 80%, rgba(91, 197, 220, 0.08), transparent 15rem),
      var(--mv7-mobile-glass-strong);
  }

  #savings-view .mv7-goal-monolith-fill,
  #savings-view .mv7-goal-inline-contribute {
    background: linear-gradient(180deg, #c2a5ff, #7960db);
  }

  #savings-view .mv7-goal-compact {
    border-color: rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.035);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.07);
  }

  #savings-view .mv7-goal-milestones i {
    background: linear-gradient(90deg, #8a74e8, #71cddb);
  }

  /* Calendario: blue glass month, amber expenses and mint income only. */
  #calendar-view .mv7-calendar-runway {
    background:
      radial-gradient(circle at 90% 0, rgba(91, 159, 255, 0.12), transparent 15rem),
      rgba(15, 19, 27, 0.7);
  }

  #calendar-view .mv7-calendar-day {
    border-color: rgba(255, 255, 255, 0.07);
    background: rgba(255, 255, 255, 0.012);
  }

  #calendar-view .mv7-calendar-day.is-today {
    outline-color: #79b6ff;
    background: rgba(100, 164, 255, 0.09);
  }

  #calendar-view .mv7-calendar-day.is-today > strong {
    color: #9bc9ff;
  }

  #calendar-view .mv7-calendar-summary dl > div:nth-child(1) {
    box-shadow: inset 0 2px rgba(106, 206, 174, 0.48);
  }

  #calendar-view .mv7-calendar-summary dl > div:nth-child(2) {
    box-shadow: inset 0 2px rgba(239, 179, 100, 0.5);
  }

  #calendar-view .mv7-calendar-summary dl > div:nth-child(3) {
    box-shadow: inset 0 2px rgba(111, 169, 255, 0.5);
  }

  /* Recurrentes: rose subscription identity balanced with blue detail. */
  #recurring-view .mv7-recurring-kpis article:first-child {
    border-color: rgba(236, 143, 164, 0.25);
    background:
      radial-gradient(circle at 100% 0, rgba(232, 133, 157, 0.13), transparent 9rem),
      var(--mv7-mobile-glass);
  }

  #recurring-view #recurring-core-monthly {
    color: #f0a3b5;
  }

  #recurring-view .mv7-recurring-kpis article:nth-child(2) {
    box-shadow: inset 0 2px rgba(116, 169, 255, 0.42), var(--mv7-mobile-shadow);
  }

  #recurring-view .mv7-recurring-kpis article:nth-child(3) {
    box-shadow: inset 0 2px rgba(192, 154, 255, 0.42), var(--mv7-mobile-shadow);
  }

  #recurring-view .mv7-recurring-kpis article:nth-child(4) {
    border-color: rgba(117, 205, 219, 0.26);
    box-shadow: inset 0 2px rgba(117, 205, 219, 0.42), var(--mv7-mobile-shadow);
  }

  #recurring-view #recurring-potential,
  #recurring-view #recurring-potential-detail,
  #recurring-view #recurring-saving-yearly {
    color: #78d0dc;
  }

  #recurring-view .mv7-orbit-system {
    background:
      radial-gradient(circle at 16% 0, rgba(228, 131, 154, 0.1), transparent 16rem),
      var(--mv7-mobile-glass-strong);
  }

  #recurring-view .mv7-recurring-node.is-selected {
    border-color: rgba(239, 156, 174, 0.42);
    background: rgba(239, 156, 174, 0.075);
  }

  /* Racha: jewel-like violet glass, retaining warm fire as a small accent. */
  #streak-view .mv7-streak-current {
    background:
      radial-gradient(circle at 92% 32%, rgba(193, 143, 255, 0.16), transparent 10rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.012)),
      var(--mv7-mobile-glass-strong);
  }

  #streak-view .mv7-streak-current > div > strong {
    background: linear-gradient(90deg, #c5a2ff, #ffb47d);
    background-clip: text;
  }

  #streak-view .mv7-streak-primary {
    border-color: rgba(190, 148, 255, 0.45);
    background: linear-gradient(135deg, rgba(139, 100, 222, 0.88), rgba(195, 144, 255, 0.78));
    box-shadow: 0 14px 28px -14px rgba(169, 116, 255, 0.58);
  }

  #streak-view .mv7-missions-card nav button.is-active {
    border-color: #c29cff;
    color: #ceb2ff;
  }

  /* Patrimonio: indigo depth, cyan assets and warm liabilities. */
  #networth-view .mv7-networth-section {
    background:
      radial-gradient(circle at 84% 8%, rgba(112, 128, 255, 0.16), transparent 18rem),
      radial-gradient(circle at 8% 75%, rgba(79, 193, 220, 0.07), transparent 16rem),
      var(--mv7-mobile-glass-strong);
  }

  #networth-view .mv7-networth-primary h3,
  #networth-view .mv7-networth-measure strong {
    color: #a9b4ff;
  }

  #networth-view #networth-trend,
  #networth-view #networth-history-change,
  #networth-view .mv7-networth-zero span {
    color: #79ccd9;
  }

  #networth-view .mv7-networth-zero {
    border-color: rgba(112, 198, 215, 0.55);
  }

  #networth-view .mv7-networth-history-line {
    stroke: #8d9fff;
  }

  #networth-view .mv7-networth-layer-asset {
    --layer-accent: #77cfe0;
  }

  #networth-view .mv7-networth-layer-liability {
    --layer-accent: #efa889;
  }

  #networth-view .mv7-networth-ratio,
  #networth-view .mv7-networth-history {
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.06);
  }

  /* Comunidad + mensajes: social violet without touching privacy semantics. */
  #community-view .mv7-community-feed,
  #community-view .mv7-community-tabs {
    background: rgba(10, 13, 19, 0.74);
    backdrop-filter: blur(20px) saturate(135%);
    -webkit-backdrop-filter: blur(20px) saturate(135%);
  }

  #community-view .mv7-community-tabs button.is-active {
    color: #d4bdff;
  }

  #community-view .mv7-community-tabs button.is-active::after {
    background: linear-gradient(90deg, #a981f2, #75b9ff);
    box-shadow: 0 0 12px rgba(176, 124, 255, 0.32);
  }

  #community-view .mv7-community-composer {
    background:
      radial-gradient(circle at 0 0, rgba(182, 126, 255, 0.1), transparent 12rem),
      rgba(18, 21, 29, 0.68);
  }

  #community-view .mv7-community-post:nth-child(3n + 1) {
    box-shadow: inset 2px 0 rgba(126, 177, 255, 0.24);
  }

  #community-view .mv7-community-post:nth-child(3n + 2) {
    box-shadow: inset 2px 0 rgba(191, 143, 255, 0.24);
  }

  #community-view .mv7-community-post:nth-child(3n) {
    box-shadow: inset 2px 0 rgba(236, 178, 104, 0.2);
  }

  .mv7-dm-dialog {
    background:
      radial-gradient(circle at 100% 0, rgba(173, 123, 255, 0.14), transparent 20rem),
      rgba(9, 12, 18, 0.94);
    backdrop-filter: blur(28px) saturate(140%);
    -webkit-backdrop-filter: blur(28px) saturate(140%);
  }

  .mv7-dm-conversation.is-active,
  .mv7-dm-conversation:active {
    background: linear-gradient(90deg, rgba(171, 126, 255, 0.11), rgba(112, 169, 255, 0.045));
  }

  .mv7-dm-message.is-mine {
    border-color: rgba(151, 131, 239, 0.32);
    background: linear-gradient(145deg, rgba(143, 114, 224, 0.22), rgba(80, 112, 184, 0.13));
  }

  .mv7-dm-composer {
    border-top-color: var(--mv7-mobile-edge);
    background: rgba(13, 16, 23, 0.78);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  /* Ajustes: clean blue glass and clearer groups, still using real controls. */
  #settings-view .mv7-settings-nav {
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.018)),
      rgba(16, 20, 28, 0.78);
  }

  #settings-view .mv7-settings-card {
    position: relative;
    overflow: hidden;
  }

  #settings-view .mv7-settings-card::after {
    position: absolute;
    top: 0;
    right: 18px;
    left: 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    content: '';
    pointer-events: none;
  }

  #settings-view .mv7-settings-card:nth-of-type(3n + 1) {
    box-shadow: inset 2px 0 rgba(125, 176, 255, 0.22), var(--mv7-mobile-shadow);
  }

  #settings-view .mv7-settings-card:nth-of-type(3n + 2) {
    box-shadow: inset 2px 0 rgba(180, 146, 255, 0.2), var(--mv7-mobile-shadow);
  }

  #settings-view .mv7-settings-card:nth-of-type(3n) {
    box-shadow: inset 2px 0 rgba(104, 202, 213, 0.19), var(--mv7-mobile-shadow);
  }

  #settings-view .mv7-switch:checked {
    background: linear-gradient(90deg, #718fd5, #9d82dd);
  }

  #settings-view .mv7-primary-button,
  #settings-view .mv7-backup-actions .mv7-primary-button {
    border-color: rgba(126, 174, 255, 0.46);
    background: linear-gradient(135deg, rgba(92, 132, 205, 0.92), rgba(133, 113, 203, 0.9));
    color: #fff;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      0 14px 26px -14px rgba(111, 155, 255, 0.58);
  }

  #settings-view .mv7-settings-metric > span,
  #settings-view .mv7-backup-header-icon {
    border-color: rgba(128, 174, 255, 0.26);
    background: rgba(128, 174, 255, 0.08);
    color: #9fc4ff;
  }

  /* Inversiones: cool teal glass with gold reserved for performance. */
  #investments-view .mv7-investments-summary article:first-child,
  #investments-view .mv7-investments-workspace {
    background:
      radial-gradient(circle at 90% 0, rgba(90, 194, 207, 0.13), transparent 14rem),
      var(--mv7-mobile-glass);
  }

  #investments-view .mv7-investment-row > span {
    background: rgba(95, 199, 210, 0.1);
    color: #81d4dd;
  }

  #investments-view .mv7-investments-summary article:nth-child(2) strong {
    color: #78cfd9;
  }

  #investments-view .mv7-investments-summary article:nth-child(3) strong,
  #investments-view .mv7-investment-row em:not(.is-negative) {
    color: #ebbd78;
  }

  #settings-view .mv7-backup-header-icon,
  #settings-view .mv7-notification-icon,
  #settings-view .mv7-security-row-icon {
    border-color: rgba(128, 174, 255, 0.24);
    background: rgba(128, 174, 255, 0.08);
    color: #9fc4ff;
  }

  /* A short, single entrance gives each workspace polish without delaying use. */
  .mv7-content:not([hidden]) > .mv7-section-heading,
  .mv7-transactions-view:not([hidden]) > *,
  .mv7-accounts-view:not([hidden]) > *,
  .mv7-budgets-view:not([hidden]) > *,
  .mv7-goals-view:not([hidden]) > *,
  .mv7-calendar-view:not([hidden]) > *,
  .mv7-recurring-view:not([hidden]) > *,
  .mv7-streak-view:not([hidden]) > *,
  .mv7-networth-view:not([hidden]) > *,
  .mv7-settings-tab:not([hidden]) > * {
    animation: mv7-mobile-glass-enter 420ms cubic-bezier(0.2, 0.82, 0.2, 1) both;
  }

  @keyframes mv7-mobile-glass-enter {
    from {
      opacity: 0;
      transform: translateY(8px) scale(0.992);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .mv7-content:not([hidden]) > .mv7-section-heading,
  .mv7-transactions-view:not([hidden]) > *,
  .mv7-accounts-view:not([hidden]) > *,
  .mv7-budgets-view:not([hidden]) > *,
  .mv7-goals-view:not([hidden]) > *,
  .mv7-calendar-view:not([hidden]) > *,
  .mv7-recurring-view:not([hidden]) > *,
  .mv7-streak-view:not([hidden]) > *,
  .mv7-networth-view:not([hidden]) > *,
  .mv7-settings-tab:not([hidden]) > * {
    animation: none;
  }
}

/* Transaction copy that only participates in the dedicated mobile layout. */
.mv7-tx-mobile-copy,
.mv7-tx-row-meta-mobile,
.mv7-tx-date-group {
  display: none;
}

/* Diseño móvil anterior conservado como referencia, fuera del rango activo. */
@media (max-width: 0px) {
  #transactions-view {
    padding: 14px 14px calc(34px + env(safe-area-inset-bottom));
  }

  #transactions-view .mv7-tx-heading {
    min-height: 46px;
    align-items: center;
    justify-content: flex-end;
    margin: 0 0 10px;
  }

  #transactions-view .mv7-tx-heading::before {
    margin-right: auto;
    color: #82adff;
    font-family: var(--v2-mono);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.13em;
    content: 'REGISTRO FINANCIERO';
  }

  #transactions-view .mv7-tx-heading > div:first-child {
    display: none;
  }

  #transactions-view .mv7-tx-heading-actions {
    width: auto;
    gap: 8px;
  }

  #transactions-view .mv7-tx-heading-actions button {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 0;
    border-radius: 13px;
  }

  #transactions-view .mv7-tx-heading-actions .mv7-primary-button {
    border-color: rgba(111, 169, 255, 0.48);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.04)),
      rgba(72, 112, 205, 0.74);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.22),
      0 12px 26px rgba(65, 107, 218, 0.25);
  }

  #transactions-view .mv7-tx-heading-actions .mv7-primary-button span {
    display: none;
  }

  #transactions-view .mv7-tx-desktop-copy {
    display: none !important;
  }

  #transactions-view .mv7-tx-mobile-copy {
    display: block;
  }

  #transactions-view .mv7-tx-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 116px auto;
    margin-bottom: 12px;
    overflow: hidden;
    border-color: rgba(126, 164, 242, 0.25);
    border-radius: 20px;
    background:
      radial-gradient(circle at 92% 6%, rgba(85, 124, 255, 0.22), transparent 16rem),
      radial-gradient(circle at 10% 100%, rgba(123, 104, 218, 0.1), transparent 13rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.018)),
      rgba(16, 21, 34, 0.84);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.13),
      inset 0 -1px rgba(255, 255, 255, 0.025),
      0 22px 50px rgba(0, 0, 0, 0.34),
      0 0 38px rgba(80, 120, 255, 0.06);
  }

  #transactions-view .mv7-tx-summary-item {
    min-height: 0;
    padding: 15px 16px;
    border-color: rgba(255, 255, 255, 0.085);
    background: transparent;
  }

  #transactions-view .mv7-tx-summary-item:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 112px;
    border: 0;
  }

  #transactions-view .mv7-tx-summary-item:first-child > span {
    color: #aeb6c6;
    font-size: 12px;
  }

  #transactions-view #tx-mobile-balance {
    margin: 8px 0 6px;
    color: #f3f6ff;
    font-family: var(--v2-display);
    font-size: clamp(28px, 9vw, 38px);
    font-weight: 620;
    letter-spacing: -0.055em;
    line-height: 1;
    text-shadow: 0 8px 28px rgba(0, 0, 0, 0.32);
  }

  #transactions-view #tx-mobile-balance.is-negative {
    color: #f19aa8;
  }

  #transactions-view .mv7-tx-mobile-period {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #9ba5b7;
    font-size: 11px;
  }

  #transactions-view .mv7-tx-mobile-period svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #87b5ff;
    stroke-width: 1.7;
  }

  #transactions-view .mv7-tx-mini-chart {
    position: relative;
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 116px;
    padding: 0 16px 7px;
    border: 0;
    background: transparent;
  }

  #transactions-view .mv7-tx-mini-chart::after {
    position: absolute;
    right: 16px;
    bottom: 7px;
    left: 16px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
    content: '';
  }

  #transactions-view .mv7-tx-mini-chart svg {
    height: 100px;
  }

  #transactions-view .mv7-tx-mini-chart > span {
    display: none;
  }

  #transactions-view .mv7-tx-summary-area {
    fill: rgba(100, 130, 255, 0.15);
  }

  #transactions-view .mv7-tx-summary-line {
    stroke: #759dff;
    stroke-width: 2.4;
    filter: drop-shadow(0 0 7px rgba(93, 132, 255, 0.5));
  }

  #transactions-view .mv7-tx-zero-line {
    stroke: rgba(255, 255, 255, 0.08);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2),
  #transactions-view .mv7-tx-summary-item:nth-child(3) {
    grid-row: 3;
    min-width: 0;
    min-height: 84px;
    padding-block: 13px;
    border-top: 1px solid rgba(255, 255, 255, 0.085);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) {
    grid-column: 1;
    border-right: 1px solid rgba(255, 255, 255, 0.085);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(3) {
    grid-column: 2;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) > span::before,
  #transactions-view .mv7-tx-summary-item:nth-child(3) > span::before {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 7px;
    border-radius: 50%;
    background: #6fd9b2;
    box-shadow: 0 0 9px rgba(111, 217, 178, 0.35);
    content: '';
    vertical-align: 1px;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(3) > span::before {
    background: #f08c98;
    box-shadow: 0 0 9px rgba(240, 140, 152, 0.3);
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) strong,
  #transactions-view .mv7-tx-summary-item:nth-child(3) strong {
    overflow: hidden;
    margin-top: 7px;
    font-size: clamp(13px, 4vw, 17px);
    letter-spacing: -0.04em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) strong {
    color: #6fe0b7;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(3) strong {
    color: #f49aa5;
  }

  #transactions-view .mv7-tx-summary-item:nth-child(2) small,
  #transactions-view .mv7-tx-summary-item:nth-child(3) small {
    margin-top: 4px;
    font-size: 9px;
  }

  #transactions-view .mv7-tx-filters {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 0 0 12px;
  }

  #transactions-view .mv7-tx-search {
    min-height: 46px;
    grid-column: 1 / -1;
    padding-inline: 13px;
    border-color: rgba(255, 255, 255, 0.105);
    border-radius: 14px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01)),
      rgba(10, 14, 22, 0.72);
  }

  #transactions-view .mv7-tx-search kbd {
    display: none;
  }

  #transactions-view .mv7-tx-search input {
    min-width: 0;
    font-size: 14px;
  }

  #transactions-view .mv7-tx-type-filter {
    display: grid;
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
  }

  #transactions-view .mv7-tx-type-filter button {
    min-width: 0;
    min-height: 42px;
    padding: 0 9px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
    font-size: 11px;
  }

  #transactions-view .mv7-tx-type-filter button i {
    display: none;
  }

  #transactions-view .mv7-tx-type-filter button.is-active {
    border-color: rgba(113, 163, 255, 0.36);
    background:
      linear-gradient(145deg, rgba(125, 169, 255, 0.2), rgba(78, 107, 192, 0.12)),
      rgba(255, 255, 255, 0.025);
    color: #b9d1ff;
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.09),
      0 8px 18px rgba(35, 61, 130, 0.12);
  }

  #transactions-view .mv7-tx-select {
    min-width: 88px;
    min-height: 42px;
    grid-column: 2;
    grid-row: 2;
    border-color: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
  }

  #transactions-view .mv7-tx-select select {
    min-height: 40px;
    padding-inline: 30px 8px;
    font-size: 11px;
  }

  #transactions-view .mv7-tx-select svg {
    left: 10px;
    width: 13px;
    height: 13px;
  }

  #transactions-view .mv7-tx-layout {
    display: block;
  }

  #transactions-view .mv7-tx-ledger {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  #transactions-view .mv7-tx-list {
    min-height: 0;
    padding: 0;
  }

  #transactions-view .mv7-tx-list:has(.mv7-tx-empty) {
    min-height: 220px;
    overflow: hidden;
    border: 1px solid var(--mv7-mobile-edge);
    border-radius: 17px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012)),
      var(--mv7-mobile-glass);
    box-shadow: var(--mv7-mobile-shadow);
  }

  #transactions-view .mv7-tx-date-group {
    display: flex;
    min-height: 39px;
    align-items: center;
    padding: 12px 8px 8px;
    color: #82adff;
    font-family: var(--v2-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
  }

  #transactions-view .mv7-tx-row {
    position: relative;
    min-height: 74px;
    grid-template-columns: 42px minmax(0, 1fr) auto 13px;
    gap: 10px;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-bottom: 0;
    border-radius: 0;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.012)),
      rgba(18, 22, 30, 0.74);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.045),
      0 12px 28px rgba(0, 0, 0, 0.13);
    backdrop-filter: blur(15px) saturate(130%);
    -webkit-backdrop-filter: blur(15px) saturate(130%);
  }

  #transactions-view .mv7-tx-date-group + .mv7-tx-row {
    border-radius: 16px 16px 0 0;
  }

  #transactions-view .mv7-tx-row:has(+ .mv7-tx-date-group),
  #transactions-view .mv7-tx-row:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 0 0 16px 16px;
  }

  #transactions-view .mv7-tx-row:only-child {
    border-radius: 16px;
  }

  #transactions-view .mv7-tx-row::after {
    grid-column: 4;
    color: #697284;
    font-size: 22px;
    font-weight: 300;
    content: '›';
  }

  #transactions-view .mv7-tx-row.is-selected {
    border-color: rgba(111, 161, 255, 0.28);
    background:
      linear-gradient(90deg, rgba(101, 145, 255, 0.1), rgba(255, 255, 255, 0.018)),
      rgba(18, 22, 30, 0.8);
  }

  #transactions-view .mv7-tx-row-main {
    display: contents;
  }

  #transactions-view .mv7-transaction-token {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.09);
  }

  #transactions-view .mv7-tx-row-copy {
    display: grid;
    min-width: 0;
    gap: 4px;
  }

  #transactions-view .mv7-tx-row-copy strong {
    overflow: hidden;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-row-meta-desktop {
    display: none;
  }

  #transactions-view .mv7-tx-row-meta-mobile {
    display: block;
    overflow: hidden;
    color: #8f98a8;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-row-amount {
    grid-column: 3;
    max-width: 105px;
    overflow: hidden;
    font-size: clamp(11px, 3.15vw, 13px);
    letter-spacing: -0.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #transactions-view .mv7-tx-row-amount.is-income {
    color: #65ddb1;
  }

  #transactions-view .mv7-tx-row-amount.is-expense {
    color: #f08f9a;
  }

  #transactions-view .mv7-tx-row-amount.is-transfer {
    color: #83aaff;
  }

  #transactions-view .mv7-tx-ledger-footer {
    min-height: 46px;
    margin-top: 10px;
    padding: 0 11px;
    border: 1px solid rgba(255, 255, 255, 0.085);
    border-radius: 13px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.01)),
      rgba(15, 19, 27, 0.68);
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
  }

  #transactions-view .mv7-tx-ledger-footer > span {
    font-size: 9px;
  }

  #transactions-view .mv7-tx-ledger-footer button,
  #transactions-view .mv7-tx-ledger-footer output {
    width: 30px;
    min-width: 30px;
    height: 30px;
  }

  #transactions-view .mv7-tx-inspector {
    border-color: rgba(132, 167, 238, 0.22);
    background:
      radial-gradient(circle at 100% 0, rgba(93, 126, 224, 0.16), transparent 16rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.018)),
      rgba(12, 16, 24, 0.96);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.12),
      0 -32px 90px rgba(0, 0, 0, 0.76);
    backdrop-filter: blur(28px) saturate(145%);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
  }

  #transactions-view .mv7-tx-inspector:not(.is-open) {
    pointer-events: none;
  }

  #transactions-view .mv7-tx-detail-hero {
    background: rgba(255, 255, 255, 0.025);
  }
}

@media (max-width: 0px) {
  #transactions-view .mv7-tx-type-filter {
    gap: 4px;
  }

  #transactions-view .mv7-tx-type-filter button {
    padding-inline: 6px;
    font-size: 10px;
  }

  #transactions-view .mv7-tx-select {
    min-width: 82px;
  }

  #transactions-view .mv7-tx-row {
    grid-template-columns: 38px minmax(0, 1fr) auto 10px;
    gap: 8px;
    padding-inline: 9px;
  }

  #transactions-view .mv7-transaction-token {
    width: 36px;
    height: 36px;
  }
}

@media (max-width: 768px) {
  #transactions-view .mv7-tx-type-filter button.is-active {
    border-color: rgba(63, 214, 153, 0.34);
    background:
      linear-gradient(145deg, rgba(69, 220, 158, 0.28), rgba(33, 139, 102, 0.16)),
      rgba(24, 48, 40, 0.56);
    color: #bdf5dd;
  }
}

/* Topbar móvil v14: una jerarquía estable para todas las secciones. */
@media (max-width: 768px) {
  :root {
    --v2-topbar-height: calc(68px + env(safe-area-inset-top));
  }

  body[data-v2-view] .mv7-topbar {
    display: grid;
    width: 100%;
    height: var(--v2-topbar-height);
    min-height: var(--v2-topbar-height);
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: max(10px, env(safe-area-inset-top)) 12px 10px;
  }

  .mv7-mobile-topbar-start {
    min-width: 40px;
    grid-column: 1;
    gap: 8px;
  }

  .mv7-page-identity {
    display: flex;
    min-width: 0;
    grid-column: 2;
    overflow: hidden;
  }

  .mv7-page-identity > div,
  .mv7-title-line {
    min-width: 0;
    width: 100%;
  }

  .mv7-page-identity h1 {
    max-width: 100%;
    overflow: hidden;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mv7-page-identity p,
  .mv7-page-identity .mv7-live-pill {
    display: none;
  }

  .mv7-topbar-actions {
    min-width: 0;
    grid-column: 3;
    gap: 5px;
  }

  .mv7-menu-button,
  .mv7-topbar .mv7-icon-button,
  .mv7-topbar .mv7-avatar,
  body[data-v2-view='overview'] .mv7-menu-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-icon-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-avatar {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 11px;
  }

  #privacy-toggle {
    display: grid;
  }

  body[data-v2-view='overview'] .mv7-page-identity {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-topbar-start {
    min-width: 0;
  }
}

@media (max-width: 360px) {
  :root {
    --v2-topbar-height: calc(62px + env(safe-area-inset-top));
  }

  body[data-v2-view] .mv7-topbar {
    gap: 7px;
    padding-inline: 9px;
  }

  .mv7-topbar-actions {
    gap: 3px;
  }

  .mv7-menu-button,
  .mv7-topbar .mv7-icon-button,
  .mv7-topbar .mv7-avatar,
  body[data-v2-view='overview'] .mv7-menu-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-icon-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-avatar {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 10px;
  }

  .mv7-page-identity h1 {
    font-size: 14px;
  }

  .mv7-mobile-brand strong {
    font-size: 17px;
  }
}

/* Racha v15: motion language exclusivo de escritorio. */
@media (min-width: 769px) {
  #streak-view:not([hidden]) .mv7-streak-heading {
    animation: mv7-streak-rise 480ms cubic-bezier(0.2, 0.82, 0.2, 1) 40ms backwards;
  }

  #streak-view:not([hidden]) .mv7-streak-hero article:first-child {
    animation: mv7-streak-rise 560ms cubic-bezier(0.2, 0.82, 0.2, 1) 110ms backwards;
  }

  #streak-view:not([hidden]) .mv7-streak-hero article:nth-child(2) {
    animation: mv7-streak-rise 560ms cubic-bezier(0.2, 0.82, 0.2, 1) 180ms backwards;
  }

  #streak-view:not([hidden]) .mv7-streak-maincol {
    animation: mv7-streak-rise 580ms cubic-bezier(0.2, 0.82, 0.2, 1) 245ms backwards;
  }

  #streak-view:not([hidden]) .mv7-streak-rail section {
    animation: mv7-streak-rise 540ms cubic-bezier(0.2, 0.82, 0.2, 1) backwards;
  }

  #streak-view:not([hidden]) .mv7-streak-rail section:nth-child(1) {
    animation-delay: 290ms;
  }

  #streak-view:not([hidden]) .mv7-streak-rail section:nth-child(2) {
    animation-delay: 350ms;
  }

  #streak-view:not([hidden]) .mv7-streak-rail section:nth-child(3) {
    animation-delay: 410ms;
  }

  #streak-view .mv7-streak-hero article,
  #streak-view .mv7-missions-card,
  #streak-view .mv7-streak-completed,
  #streak-view .mv7-streak-rail section {
    transition:
      border-color 220ms ease,
      box-shadow 220ms ease,
      transform 220ms ease,
      background-color 220ms ease;
  }

  #streak-view .mv7-streak-hero article:hover,
  #streak-view .mv7-missions-card:hover,
  #streak-view .mv7-streak-completed:hover,
  #streak-view .mv7-streak-rail section:hover {
    border-color: rgba(183, 124, 246, 0.34);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.08),
      0 18px 42px rgba(0, 0, 0, 0.22),
      0 0 34px rgba(145, 86, 216, 0.055);
    transform: translateY(-2px);
  }

  #streak-view .mv7-streak-flame {
    position: relative;
    isolation: isolate;
    animation: mv7-streak-orbit 5.4s ease-in-out infinite;
  }

  #streak-view .mv7-streak-flame::before,
  #streak-view .mv7-streak-flame::after {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    content: '';
    pointer-events: none;
  }

  #streak-view .mv7-streak-flame::before {
    inset: 8px;
    background: radial-gradient(circle, rgba(187, 106, 255, 0.2), transparent 67%);
    animation: mv7-streak-aura 2.8s ease-in-out infinite;
  }

  #streak-view .mv7-streak-flame::after {
    inset: -16px;
    border: 1px solid rgba(190, 119, 255, 0.1);
    animation: mv7-streak-ring 3.4s ease-out infinite;
  }

  #streak-view .mv7-streak-flame svg {
    animation: mv7-streak-fire 2.2s ease-in-out infinite;
  }

  #streak-view .mv7-level-badge {
    position: relative;
    overflow: hidden;
    animation: mv7-streak-badge 3.8s ease-in-out infinite;
  }

  #streak-view .mv7-level-badge::after {
    position: absolute;
    width: 22px;
    height: 130%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.26), transparent);
    content: '';
    transform: translateX(-58px) rotate(18deg);
    animation: mv7-streak-badge-shine 4.8s ease-in-out infinite;
  }

  #streak-view:not([hidden]) #streak-xp-progress,
  #streak-view:not([hidden]) .mv7-mission-progress u {
    transform-origin: left center;
    animation: mv7-streak-progress 820ms cubic-bezier(0.2, 0.82, 0.2, 1) backwards;
  }

  #streak-view:not([hidden]) #streak-xp-progress {
    animation-delay: 420ms;
  }

  #streak-view:not([hidden]) .mv7-mission-progress u {
    animation-delay: calc(420ms + var(--mission-index, 0) * 65ms);
  }

  #streak-view:not([hidden]) .mv7-streak-week span,
  #streak-view:not([hidden]) .mv7-challenge-days span {
    animation: mv7-streak-day 360ms cubic-bezier(0.16, 1.35, 0.3, 1) backwards;
    animation-delay: calc(300ms + var(--day-index, 0) * 42ms);
  }

  #streak-view .mv7-streak-week .is-done i,
  #streak-view .mv7-challenge-days .is-done i {
    animation: mv7-streak-check-glow 2.6s ease-in-out infinite;
  }

  #streak-view:not([hidden]) .mv7-mission-row {
    animation: mv7-streak-row-in 460ms cubic-bezier(0.2, 0.82, 0.2, 1) backwards;
    animation-delay: calc(300ms + var(--mission-index, 0) * 65ms);
    transition:
      border-color 180ms ease,
      background-color 180ms ease,
      box-shadow 180ms ease,
      transform 180ms ease;
  }

  #streak-view .mv7-mission-row:hover {
    border-color: rgba(175, 106, 241, 0.34);
    background: rgba(167, 96, 236, 0.045);
    box-shadow: inset 2px 0 rgba(181, 105, 243, 0.58);
    transform: translateX(4px);
  }

  #streak-view .mv7-mission-row > span,
  #streak-view .mv7-mission-row > span svg,
  #streak-view .mv7-mission-row > button {
    transition:
      color 180ms ease,
      border-color 180ms ease,
      background-color 180ms ease,
      transform 180ms ease;
  }

  #streak-view .mv7-mission-row:hover > span {
    background: rgba(179, 103, 245, 0.19);
    transform: scale(1.06) rotate(-3deg);
  }

  #streak-view .mv7-mission-row:hover > span svg {
    transform: scale(1.08);
  }

  #streak-view .mv7-mission-row > button:not(:disabled):hover {
    border-color: rgba(184, 112, 246, 0.42);
    background: rgba(174, 99, 239, 0.12);
    color: #d9baff;
    transform: translateY(-1px);
  }

  #streak-view .mv7-streak-primary {
    position: relative;
    overflow: hidden;
    transition:
      box-shadow 200ms ease,
      transform 200ms ease,
      filter 200ms ease;
  }

  #streak-view .mv7-streak-primary::after {
    position: absolute;
    top: -70%;
    left: -30px;
    width: 20px;
    height: 240%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    content: '';
    transform: rotate(20deg);
    animation: mv7-streak-button-shine 5s ease-in-out infinite;
    pointer-events: none;
  }

  #streak-view .mv7-streak-primary:hover {
    filter: saturate(1.12) brightness(1.06);
    box-shadow: 0 16px 32px -12px rgba(155, 86, 255, 0.72);
    transform: translateY(-2px);
  }

  #streak-view .mv7-weekly-challenge header svg {
    animation: mv7-streak-target 3.2s ease-in-out infinite;
    transform-origin: center;
  }

  #streak-view:not([hidden]) .mv7-month-rhythm > div i {
    animation: mv7-streak-heat-in 300ms cubic-bezier(0.16, 1.25, 0.3, 1) backwards;
    animation-delay: calc(420ms + var(--heat-index, 0) * 18ms);
    transition:
      filter 150ms ease,
      transform 150ms ease;
  }

  #streak-view .mv7-month-rhythm > div i:hover {
    filter: brightness(1.45);
    transform: scale(1.22);
  }

  #streak-view .mv7-month-rhythm > div i.is-high {
    animation-name: mv7-streak-heat-in, mv7-streak-heat-glow;
    animation-duration: 300ms, 2.8s;
    animation-delay: calc(420ms + var(--heat-index, 0) * 18ms), 1.1s;
    animation-iteration-count: 1, infinite;
  }

  #streak-view .mv7-streak-completed p {
    transition:
      color 170ms ease,
      padding 170ms ease,
      background-color 170ms ease;
  }

  #streak-view .mv7-streak-completed p:hover {
    padding-inline: 8px;
    background: rgba(169, 94, 235, 0.04);
    color: #d9c6ec;
  }

  @keyframes mv7-streak-rise {
    from {
      opacity: 0;
      transform: translateY(14px) scale(0.992);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  @keyframes mv7-streak-row-in {
    from {
      opacity: 0;
      transform: translateX(-12px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes mv7-streak-orbit {
    0%,
    100% {
      transform: rotate(-20deg) translateY(0);
    }
    50% {
      transform: rotate(-17deg) translateY(-5px);
    }
  }

  @keyframes mv7-streak-fire {
    0%,
    100% {
      filter: drop-shadow(0 0 10px rgba(178, 93, 255, 0.42));
      transform: rotate(20deg) scale(1);
    }
    48% {
      filter: drop-shadow(0 0 18px rgba(229, 112, 186, 0.62));
      transform: rotate(19deg) scale(1.075);
    }
    64% {
      transform: rotate(21deg) scale(1.035);
    }
  }

  @keyframes mv7-streak-aura {
    0%,
    100% {
      opacity: 0.46;
      transform: scale(0.92);
    }
    50% {
      opacity: 0.92;
      transform: scale(1.08);
    }
  }

  @keyframes mv7-streak-ring {
    0% {
      opacity: 0;
      transform: scale(0.8);
    }
    28% {
      opacity: 0.45;
    }
    100% {
      opacity: 0;
      transform: scale(1.16);
    }
  }

  @keyframes mv7-streak-badge {
    0%,
    100% {
      filter: drop-shadow(0 7px 15px rgba(128, 74, 190, 0.16));
      transform: translateY(0);
    }
    50% {
      filter: drop-shadow(0 10px 20px rgba(170, 94, 233, 0.3));
      transform: translateY(-3px);
    }
  }

  @keyframes mv7-streak-badge-shine {
    0%,
    62% {
      transform: translateX(-58px) rotate(18deg);
    }
    82%,
    100% {
      transform: translateX(70px) rotate(18deg);
    }
  }

  @keyframes mv7-streak-progress {
    from {
      opacity: 0.45;
      transform: scaleX(0);
    }
    to {
      opacity: 1;
      transform: scaleX(1);
    }
  }

  @keyframes mv7-streak-day {
    from {
      opacity: 0;
      transform: translateY(7px) scale(0.72);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  @keyframes mv7-streak-check-glow {
    0%,
    100% {
      box-shadow: 0 0 8px rgba(153, 83, 244, 0.22);
    }
    50% {
      box-shadow: 0 0 16px rgba(153, 83, 244, 0.48);
    }
  }

  @keyframes mv7-streak-button-shine {
    0%,
    70% {
      left: -30px;
      opacity: 0;
    }
    76% {
      opacity: 0.85;
    }
    90%,
    100% {
      left: calc(100% + 24px);
      opacity: 0;
    }
  }

  @keyframes mv7-streak-target {
    0%,
    100% {
      filter: drop-shadow(0 0 0 rgba(188, 112, 246, 0));
      transform: scale(1);
    }
    50% {
      filter: drop-shadow(0 0 8px rgba(188, 112, 246, 0.5));
      transform: scale(1.1);
    }
  }

  @keyframes mv7-streak-heat-in {
    from {
      opacity: 0;
      transform: scale(0.35);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }

  @keyframes mv7-streak-heat-glow {
    0%,
    100% {
      box-shadow: 0 0 6px rgba(63, 201, 118, 0.18);
    }
    50% {
      box-shadow: 0 0 13px rgba(63, 201, 118, 0.46);
    }
  }
}

@media (min-width: 769px) and (prefers-reduced-motion: reduce) {
  #streak-view *,
  #streak-view *::before,
  #streak-view *::after {
    animation: none !important;
    transition: none !important;
  }

  #streak-view .mv7-streak-flame {
    transform: rotate(-20deg) !important;
  }

  #streak-view .mv7-streak-flame svg {
    transform: rotate(20deg) !important;
  }
}

/* Mensajes contextuales por hora: visibles, breves y sin competir con el título. */
#streak-time-message,
#calendar-time-message {
  display: flex;
  align-items: center;
  gap: 8px;
}

#streak-time-message::before,
#calendar-time-message::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: #8baeff;
  box-shadow: 0 0 9px rgba(139, 174, 255, 0.34);
  content: '';
}

#streak-time-message[data-day-period='morning']::before,
#calendar-time-message[data-day-period='morning']::before {
  background: #f0bd70;
  box-shadow: 0 0 9px rgba(240, 189, 112, 0.34);
}

#streak-time-message[data-day-period='afternoon']::before,
#calendar-time-message[data-day-period='afternoon']::before {
  background: #69d4ab;
  box-shadow: 0 0 9px rgba(105, 212, 171, 0.3);
}

#streak-time-message[data-day-period='evening']::before,
#calendar-time-message[data-day-period='evening']::before {
  background: #bf8ef0;
  box-shadow: 0 0 9px rgba(191, 142, 240, 0.34);
}

/* Inicio mobile v16: "Ã³rbita financiera".
   Esta capa final mantiene el DOM y la funcionalidad del dashboard, pero le
   da a Inicio una silueta propia: horizonte de balance, cifras suspendidas y
   un dock compacto de acciones. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] {
    --mv7-home-blue: #82adff;
    --mv7-home-violet: #a98cff;
    --mv7-home-ink: rgba(9, 13, 23, 0.94);
    background:
      radial-gradient(circle at 104% 17%, rgba(74, 115, 222, 0.24), transparent 19rem),
      radial-gradient(circle at -10% 49%, rgba(133, 86, 217, 0.13), transparent 22rem),
      linear-gradient(165deg, #070a10 0%, #0b0e18 48%, #070a10 100%);
    background-attachment: fixed;
  }

  body[data-v2-view='overview'] .mv7-topbar {
    border-bottom-color: rgba(131, 174, 255, 0.13);
    background: rgba(7, 10, 16, 0.79);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22);
  }

  body[data-v2-view='overview'] .mv7-topbar::after {
    right: 42%;
    left: 14px;
    background: linear-gradient(90deg, var(--mv7-home-blue), rgba(169, 140, 255, 0.25), transparent);
    opacity: 0.65;
  }

  body[data-v2-view='overview'] .mv7-menu-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-icon-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-avatar {
    border-color: transparent;
    background: rgba(255, 255, 255, 0.035);
    box-shadow: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-mark {
    width: 24px;
    height: 29px;
    flex-basis: 24px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-mark i {
    background: linear-gradient(135deg, #f5f8ff 0%, #8db5ff 52%, #a68cff 100%);
    box-shadow: 0 0 18px rgba(119, 166, 255, 0.4);
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    font-weight: 720;
    letter-spacing: -0.045em;
  }

  #overview-view.mv7-content {
    gap: 16px;
    padding: 18px 14px calc(38px + env(safe-area-inset-bottom));
  }

  /* La integraciÃ³n deja de competir con el balance y se lee como un aviso. */
  #overview-view .mv7-whatsapp-cta-card {
    position: relative;
    display: grid;
    min-height: 70px;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 12px;
    margin: 0;
    padding: 12px 48px 12px 15px;
    overflow: hidden;
    border: 1px solid rgba(104, 214, 171, 0.2);
    border-radius: 18px 7px 18px 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(66, 211, 153, 0.14), transparent 9rem),
      rgba(15, 22, 25, 0.74);
    text-align: left;
    box-shadow: inset 3px 0 rgba(79, 219, 163, 0.72);
  }

  #overview-view .mv7-whatsapp-cta-card[hidden] {
    display: none;
  }

  #overview-view .mv7-whatsapp-cta-body h3 {
    margin: 0 0 3px;
    font-size: 14px;
    font-weight: 680;
  }

  #overview-view .mv7-whatsapp-cta-body p {
    max-width: 31ch;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #overview-view .mv7-whatsapp-cta-card .mv7-primary-button {
    width: auto;
    min-height: 36px;
    padding: 0 12px;
    border-color: rgba(93, 225, 172, 0.28);
    border-radius: 10px;
    background: rgba(72, 205, 151, 0.12);
    color: #a8efd2;
    font-size: 0;
    box-shadow: none;
  }

  #overview-view .mv7-whatsapp-cta-card .mv7-primary-button::after {
    font-size: 11px;
    font-weight: 700;
    content: 'Conectar';
  }

  #overview-view .mv7-whatsapp-cta-dismiss {
    top: 15px;
    right: 8px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
  }

  /* Encabezado editorial: la fecha funciona como coordenada del panorama. */
  #overview-view .mv7-section-heading > div:first-child {
    position: relative;
    min-height: 94px;
    padding: 2px 94px 0 2px;
  }

  #overview-view .mv7-section-heading > div:first-child::before,
  #overview-view .mv7-section-heading > div:first-child::after {
    position: absolute;
    pointer-events: none;
    content: '';
  }

  #overview-view .mv7-section-heading > div:first-child::before {
    top: 3px;
    right: 6px;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(137, 175, 255, 0.24);
    border-radius: 50%;
    background:
      radial-gradient(circle, rgba(154, 184, 255, 0.76) 0 3px, transparent 4px),
      conic-gradient(from 205deg, transparent 0 58%, rgba(133, 174, 255, 0.72) 69%, transparent 80%);
    box-shadow:
      inset 0 0 28px rgba(105, 141, 239, 0.08),
      0 0 35px rgba(91, 125, 220, 0.09);
  }

  #overview-view .mv7-section-heading > div:first-child::after {
    top: 21px;
    right: 24px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(175, 148, 255, 0.3);
    border-radius: 50%;
    transform: rotate(-24deg);
  }

  #overview-view .mv7-eyebrow {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 6px;
    margin: 0 0 9px;
    color: #9abaff;
    font-family: var(--v2-mono);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
  }

  #overview-view .mv7-eyebrow::before {
    width: 17px;
    height: 1px;
    background: linear-gradient(90deg, #8eb4ff, #af8cff);
    content: '';
  }

  #overview-view .mv7-section-heading h2 {
    font-size: clamp(27px, 7.7vw, 34px);
    line-height: 1.02;
    letter-spacing: -0.048em;
  }

  #overview-view .mv7-overview-time-subtitle {
    max-width: 28ch;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.4;
  }

  /* Hero de balance con una lÃ­nea de horizonte propia de Zenit. */
  #overview-view .mv7-metric-grid {
    position: relative;
    isolation: isolate;
    gap: 10px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  #overview-view .mv7-metric-primary {
    position: relative;
    z-index: 1;
    min-height: 208px;
    padding: 20px 20px 82px;
    overflow: hidden;
    border: 1px solid rgba(128, 169, 255, 0.24);
    border-radius: 30px 30px 30px 9px;
    background:
      radial-gradient(circle at 92% 15%, rgba(129, 166, 255, 0.2), transparent 10rem),
      radial-gradient(circle at 15% 120%, rgba(159, 115, 241, 0.16), transparent 13rem),
      linear-gradient(145deg, rgba(31, 43, 72, 0.94), rgba(12, 17, 29, 0.97));
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.12),
      0 24px 58px -28px rgba(57, 91, 191, 0.72);
  }

  #overview-view .mv7-metric-primary::before,
  #overview-view .mv7-metric-primary::after {
    position: absolute;
    display: block;
    pointer-events: none;
    content: '';
  }

  #overview-view .mv7-metric-primary::before {
    right: -62px;
    bottom: -135px;
    width: 285px;
    height: 285px;
    border: 1px solid rgba(141, 175, 255, 0.2);
    border-radius: 50%;
    box-shadow:
      0 0 0 22px rgba(128, 163, 255, 0.025),
      0 0 0 48px rgba(166, 128, 245, 0.018);
  }

  #overview-view .mv7-metric-primary::after {
    right: 0;
    bottom: 54px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(142, 178, 255, 0.7), transparent);
    box-shadow: 0 0 14px rgba(118, 161, 255, 0.35);
  }

  #overview-view .mv7-metric-primary .mv7-metric-head,
  #overview-view .mv7-metric-primary > strong {
    position: relative;
    z-index: 2;
  }

  #overview-view .mv7-metric-primary .mv7-metric-head h3 {
    color: rgba(238, 243, 255, 0.72);
    font-family: var(--v2-mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
  }

  #overview-view .mv7-metric-primary .mv7-metric-icon {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    border: 1px solid rgba(143, 180, 255, 0.26);
    border-radius: 50%;
    background: rgba(136, 174, 255, 0.09);
    color: #a6c5ff;
  }

  #overview-view .mv7-metric-primary > strong {
    margin-top: 26px;
    font-size: clamp(31px, 9.3vw, 40px);
    font-weight: 710;
    letter-spacing: -0.055em;
  }

  #overview-view .mv7-metric-income,
  #overview-view .mv7-metric-expense {
    position: relative;
    z-index: 3;
    min-height: 96px;
    margin-top: -67px;
    padding: 14px 15px 13px;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 18px;
    background: rgba(8, 12, 20, 0.77);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.08),
      0 18px 35px -22px rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
  }

  #overview-view .mv7-metric-income {
    margin-left: 10px;
    border-top-color: rgba(82, 219, 166, 0.35);
  }

  #overview-view .mv7-metric-expense {
    margin-right: 10px;
    border-top-color: rgba(245, 164, 104, 0.34);
  }

  #overview-view .mv7-metric-income .mv7-metric-icon,
  #overview-view .mv7-metric-expense .mv7-metric-icon {
    width: 29px;
    height: 29px;
    flex-basis: 29px;
    border: 0;
    border-radius: 9px;
  }

  #overview-view .mv7-metric-income .mv7-metric-head h3,
  #overview-view .mv7-metric-expense .mv7-metric-head h3 {
    font-size: 11px;
    font-weight: 650;
  }

  #overview-view .mv7-metric-income > strong,
  #overview-view .mv7-metric-expense > strong {
    margin-top: 11px;
    font-family: var(--v2-mono);
    font-size: clamp(13px, 3.9vw, 16px);
    font-weight: 680;
    letter-spacing: -0.035em;
  }

  /* Dock de acciones: una sola pieza, no cuatro burbujas sueltas. */
  #overview-view .mv7-quick-actions-row {
    position: relative;
    gap: 2px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.095);
    border-radius: 24px 24px 8px 24px;
    background: rgba(11, 15, 24, 0.68);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.07),
      0 20px 45px -30px rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  #overview-view .mv7-quick-actions-row::before {
    position: absolute;
    top: -1px;
    right: 28%;
    left: 28%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(153, 182, 255, 0.7), transparent);
    content: '';
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn {
    min-height: 66px;
    gap: 5px;
    padding: 4px 1px 2px;
    border-radius: 16px;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn:active {
    background: rgba(255, 255, 255, 0.055);
    transform: translateY(1px);
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn svg {
    width: 38px;
    height: 38px;
    padding: 10px;
    border-radius: 13px;
  }

  #overview-view .mv7-quick-action-label {
    color: rgba(235, 239, 248, 0.75);
    font-size: 9px;
    letter-spacing: 0.01em;
  }

  /* Los mÃ³dulos secundarios continÃºan la geometrÃ­a, sin repetir el hero. */
  #overview-view .mv7-cashflow-panel,
  #overview-view .mv7-overview-budget-panel,
  #overview-view .mv7-activity-panel {
    border-color: rgba(255, 255, 255, 0.1);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 52%),
      rgba(12, 16, 25, 0.72);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.075),
      0 24px 48px -34px rgba(0, 0, 0, 0.9);
  }

  #overview-view .mv7-cashflow-panel {
    border-radius: 28px 9px 28px 28px;
  }

  #overview-view .mv7-cashflow-panel .mv7-main-chart {
    height: 152px;
  }

  #overview-view .mv7-cashflow-panel .mv7-chart-axis {
    height: 126px;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-header h3,
  #overview-view .mv7-overview-budget-panel .mv7-panel-header h3,
  #overview-view .mv7-activity-panel .mv7-panel-header h3 {
    font-size: 15px;
    letter-spacing: -0.02em;
  }

  #overview-view .mv7-mobile-cashflow-period select {
    border-color: rgba(255, 255, 255, 0.09);
    border-radius: 12px 5px 12px 12px;
    background: rgba(255, 255, 255, 0.035);
  }

  #overview-view .mv7-overview-budget-panel {
    border-radius: 9px 24px 24px 24px;
  }

  #overview-view .mv7-overview-budget-track {
    height: 4px;
    background: rgba(255, 255, 255, 0.075);
  }

  #overview-view .mv7-activity-panel {
    border-radius: 24px 24px 9px 24px;
  }

  #overview-view .mv7-transaction-row + .mv7-transaction-row {
    border-top: 1px solid rgba(255, 255, 255, 0.055);
  }
}

@media (max-width: 370px) {
  #overview-view .mv7-section-heading > div:first-child {
    padding-right: 76px;
  }

  #overview-view .mv7-section-heading > div:first-child::before {
    right: 0;
    width: 62px;
    height: 62px;
  }

  #overview-view .mv7-section-heading > div:first-child::after {
    top: 18px;
    right: 16px;
    width: 29px;
    height: 29px;
  }

  #overview-view .mv7-whatsapp-cta-card {
    grid-template-columns: minmax(0, 1fr);
  }

  #overview-view .mv7-whatsapp-cta-card .mv7-primary-button {
    display: inline-flex;
    width: fit-content;
    min-width: 92px;
    justify-self: start;
  }

  #overview-view .mv7-metric-primary > strong {
    font-size: clamp(28px, 9vw, 34px);
  }

  #overview-view .mv7-metric-income,
  #overview-view .mv7-metric-expense {
    padding-inline: 11px;
  }
}

/* Inicio mobile v17: implementaciÃ³n funcional del concepto clear-glass.
   Los elementos auxiliares no participan en escritorio. */
.mv7-mobile-overview-greeting,
.mv7-mobile-balance-orbit,
.mv7-overview-insight,
.mv7-transaction-token-icon {
  display: none;
}

@media (max-width: 768px) {
  body[data-v2-view='overview'] {
    --mv7-home-expense: #58a6ff;
    --mv7-home-income: #72db84;
    --mv7-home-transfer: #9c82ea;
    --mv7-home-amber: #e8b84e;
    --mv7-home-blue: #70a7ea;
    --mv7-home-plum: #a58dcc;
    background:
      radial-gradient(circle at 82% 13%, rgba(255, 255, 255, 0.055), transparent 15rem),
      radial-gradient(circle at 12% 43%, rgba(255, 255, 255, 0.035), transparent 19rem),
      linear-gradient(160deg, #050607 0%, #0a0b0d 48%, #050607 100%);
    background-attachment: fixed;
  }

  body[data-v2-view='overview'] .mv7-workspace {
    background: transparent;
  }

  body[data-v2-view='overview'] .mv7-topbar {
    display: grid;
    min-height: calc(72px + env(safe-area-inset-top));
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: max(12px, env(safe-area-inset-top)) 18px 11px;
    border-bottom: 0;
    background: rgba(5, 6, 7, 0.76);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
  }

  body[data-v2-view='overview'] .mv7-topbar::after {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-topbar-start {
    min-width: 0;
    grid-column: 1;
  }

  body[data-v2-view='overview'] .mv7-menu-button,
  body[data-v2-view='overview'] .mv7-topbar .mv7-avatar {
    display: none;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand {
    gap: 8px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-mark {
    width: 22px;
    height: 27px;
    flex-basis: 22px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand-mark i {
    background: linear-gradient(135deg, #f4f7ff, var(--mv7-mobile-accent));
    box-shadow: 0 0 14px var(--mv7-mobile-glow);
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    font-size: 20px;
    font-weight: 680;
    letter-spacing: -0.04em;
  }

  body[data-v2-view='overview'] .mv7-topbar-actions {
    grid-column: 2;
    gap: 8px;
  }

  body[data-v2-view='overview'] .mv7-topbar .mv7-icon-button {
    display: grid;
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.08), transparent 45%),
      rgba(255, 255, 255, 0.025);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.24),
      inset 0 -1px rgba(255, 255, 255, 0.04),
      0 9px 20px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  body[data-v2-view='overview'] #privacy-toggle {
    color: var(--mv7-home-expense);
  }

  body[data-v2-view='overview'] #notification-bell {
    color: var(--mv7-home-amber);
  }

  body[data-v2-view='overview'] #notification-badge {
    background: #df805f;
    box-shadow: 0 0 0 2px #090a0b;
  }

  #overview-view.mv7-content {
    display: flex;
    flex-direction: column;
    gap: 17px;
    padding: 24px 14px calc(38px + env(safe-area-inset-bottom));
  }

  #overview-view.mv7-content[hidden] {
    display: none;
  }

  #overview-view .mv7-section-heading {
    display: contents;
  }

  #overview-view .mv7-section-heading > div:first-child {
    position: relative;
    min-height: 126px;
    order: 1;
    padding: 1px 4px 0;
  }

  #overview-view .mv7-section-heading > div:first-child::before,
  #overview-view .mv7-section-heading > div:first-child::after {
    display: none;
  }

  #overview-view .mv7-eyebrow {
    display: block;
    margin: 0 0 16px;
    color: rgba(218, 222, 229, 0.58);
    font-family: var(--v2-font);
    font-size: 10px;
    font-weight: 580;
    letter-spacing: 0.14em;
  }

  #overview-view .mv7-eyebrow::before {
    display: none;
  }

  #overview-view #overview-time-message {
    display: none;
  }

  #overview-view .mv7-mobile-overview-greeting {
    display: block;
    max-width: 100%;
    margin: 0;
    color: #f6f7f9;
    font-size: clamp(29px, 8.3vw, 38px);
    font-weight: 480;
    line-height: 1.04;
    letter-spacing: -0.052em;
  }

  #overview-view .mv7-overview-time-subtitle {
    display: block;
    margin: 11px 0 0;
    color: rgba(211, 216, 224, 0.55);
    font-size: 15px;
    line-height: 1.4;
  }

  #overview-view .mv7-heading-tools {
    display: contents;
  }

  #overview-view .mv7-preview-badge,
  #overview-view .mv7-period-control,
  #overview-view .mv7-heading-icon-tools,
  #overview-view #open-composer {
    display: none;
  }

  #overview-view .mv7-metric-grid {
    position: relative;
    isolation: isolate;
    order: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: visible;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  #overview-view .mv7-metric-grid::after {
    position: absolute;
    right: 9%;
    bottom: 9px;
    left: 9%;
    z-index: 2;
    height: 84px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 22px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 45%),
      rgba(4, 5, 6, 0.5);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.12),
      0 14px 24px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(22px) saturate(110%);
    -webkit-backdrop-filter: blur(22px) saturate(110%);
    content: '';
  }

  #overview-view .mv7-metric {
    width: auto;
    min-width: 0;
    border-radius: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  #overview-view .mv7-metric::before,
  #overview-view .mv7-metric::after,
  #overview-view .mv7-metric > p,
  #overview-view .mv7-metric .mv7-metric-tag,
  #overview-view .mv7-metric .mv7-sparkline {
    display: none;
  }

  #overview-view .mv7-metric-primary {
    position: relative;
    z-index: 1;
    min-height: 284px;
    grid-column: 1 / -1;
    padding: 29px 18px 105px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 28px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.065), transparent 39%),
      rgba(255, 255, 255, 0.018);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.28),
      inset 0 -1px rgba(255, 255, 255, 0.05),
      0 24px 52px -32px rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(24px) saturate(112%);
    -webkit-backdrop-filter: blur(24px) saturate(112%);
  }

  #overview-view .mv7-metric-primary .mv7-metric-head {
    position: relative;
    z-index: 4;
    display: block;
    text-align: center;
  }

  #overview-view .mv7-metric-primary .mv7-metric-icon {
    display: none;
  }

  #overview-view .mv7-metric-primary .mv7-metric-head h3 {
    color: var(--mv7-home-blue);
    font-family: var(--v2-font);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  #overview-view .mv7-metric-primary > strong {
    position: relative;
    z-index: 4;
    display: block;
    margin: 21px 0 0;
    overflow: hidden;
    color: #f7f8fa;
    font-size: clamp(31px, 9.5vw, 42px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.06em;
    text-align: center;
    text-overflow: ellipsis;
  }

  #overview-view .mv7-metric-primary .mv7-change {
    position: relative;
    z-index: 4;
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 4px;
    min-height: 32px;
    padding: 0 11px;
    margin: 16px auto 0;
    border: 1px solid rgba(114, 219, 132, 0.12);
    border-radius: 999px;
    background: rgba(114, 219, 132, 0.055);
    color: #a8d9b0;
    font-size: 10px;
  }

  #overview-view .mv7-metric-primary .mv7-change b {
    font-size: 11px;
    font-weight: 650;
  }

  #overview-view .mv7-metric-primary .mv7-change span {
    font-size: 0;
  }

  #overview-view .mv7-metric-primary .mv7-change span::after {
    font-size: 10px;
    content: 'este mes';
  }

  #overview-view .mv7-mobile-balance-orbit {
    position: absolute;
    right: 0;
    bottom: 54px;
    left: 0;
    z-index: 1;
    display: block;
    height: 126px;
    overflow: hidden;
    pointer-events: none;
  }

  #overview-view .mv7-mobile-balance-orbit i {
    position: absolute;
    top: 40px;
    left: -12%;
    width: 124%;
    height: 116px;
    border-top: 2px solid var(--mv7-home-blue);
    border-radius: 50%;
    box-shadow: 0 -3px 12px rgba(88, 166, 255, 0.16);
  }

  #overview-view .mv7-mobile-balance-orbit i::after {
    position: absolute;
    top: -2px;
    right: 16%;
    width: 28%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--mv7-home-plum), transparent);
    content: '';
  }

  #overview-view .mv7-mobile-balance-orbit span {
    position: absolute;
    top: 35px;
    left: 50%;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--mv7-home-plum);
    box-shadow: 0 0 12px rgba(165, 141, 204, 0.42);
    transform: translateX(-50%);
  }

  #overview-view .mv7-mobile-balance-orbit span::after {
    position: absolute;
    top: 10px;
    left: 50%;
    width: 1px;
    height: 56px;
    background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.7) 0 4px, transparent 4px 8px);
    content: '';
  }

  #overview-view .mv7-mobile-balance-orbit b {
    position: absolute;
    top: 96px;
    right: 16%;
    left: 16%;
    height: 22px;
    background: repeating-linear-gradient(90deg, transparent 0 8px, rgba(255, 255, 255, 0.28) 8px 9px);
    mask-image: linear-gradient(90deg, transparent, black 14%, black 86%, transparent);
    opacity: 0.75;
  }

  #overview-view .mv7-metric-income,
  #overview-view .mv7-metric-expense {
    position: relative;
    z-index: 3;
    min-height: 84px;
    margin-top: -93px;
    padding: 13px 10px 11px;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  #overview-view .mv7-metric-income {
    margin-left: 11%;
    border-right: 1px solid rgba(255, 255, 255, 0.13);
  }

  #overview-view .mv7-metric-expense {
    margin-right: 11%;
  }

  #overview-view .mv7-metric-income .mv7-metric-head,
  #overview-view .mv7-metric-expense .mv7-metric-head {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  #overview-view .mv7-metric-income .mv7-metric-icon,
  #overview-view .mv7-metric-expense .mv7-metric-icon {
    display: grid;
    width: 31px;
    height: 31px;
    flex-basis: 31px;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    background: transparent;
  }

  #overview-view .mv7-metric-income .mv7-metric-icon {
    color: var(--mv7-home-income);
  }

  #overview-view .mv7-metric-expense .mv7-metric-icon {
    color: var(--mv7-home-expense);
  }

  #overview-view .mv7-metric-income .mv7-metric-icon svg,
  #overview-view .mv7-metric-expense .mv7-metric-icon svg {
    width: 15px;
    height: 15px;
  }

  #overview-view .mv7-metric-income .mv7-metric-head h3,
  #overview-view .mv7-metric-expense .mv7-metric-head h3 {
    font-size: 9px;
    font-weight: 670;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  #overview-view .mv7-metric-income .mv7-metric-head h3 {
    color: var(--mv7-home-income);
  }

  #overview-view .mv7-metric-expense .mv7-metric-head h3 {
    color: var(--mv7-home-expense);
  }

  #overview-view .mv7-metric-income > strong,
  #overview-view .mv7-metric-expense > strong {
    display: block;
    margin: 7px 0 0 39px;
    overflow: hidden;
    color: #f4f5f7;
    font-size: clamp(12px, 3.5vw, 15px);
    font-weight: 610;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #overview-view .mv7-metric-income .mv7-change,
  #overview-view .mv7-metric-expense .mv7-change {
    display: none;
  }

  #overview-view .mv7-quick-actions-row {
    position: relative;
    order: 3;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 8px 5px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 23px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.06), transparent 45%),
      rgba(255, 255, 255, 0.02);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.22),
      inset 0 -1px rgba(255, 255, 255, 0.04),
      0 18px 32px -26px rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(22px) saturate(110%);
    -webkit-backdrop-filter: blur(22px) saturate(110%);
  }

  #overview-view .mv7-quick-actions-row::before {
    display: none;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn {
    position: relative;
    min-height: 70px;
    gap: 5px;
    padding: 5px 2px 3px;
    overflow: visible;
    border: 0;
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    color: var(--qa-color, rgba(238, 241, 245, 0.72));
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn + .mv7-quick-action-btn::before {
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: 0;
    width: 1px;
    background: rgba(255, 255, 255, 0.11);
    content: '';
  }

  #overview-view .mv7-quick-action-btn[data-quick-action='ingreso'] {
    --qa-color: var(--mv7-home-income);
  }

  #overview-view .mv7-quick-action-btn[data-quick-action='gasto'] {
    --qa-color: var(--mv7-home-expense);
  }

  #overview-view .mv7-quick-action-btn[data-quick-action='transfer'] {
    --qa-color: var(--mv7-home-transfer);
  }

  #overview-view .mv7-quick-action-btn[data-quick-action='mas'] {
    --qa-color: var(--mv7-home-amber);
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn svg {
    width: 34px;
    height: 34px;
    padding: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--qa-color);
    stroke: var(--qa-color);
  }

  #overview-view .mv7-quick-action-label {
    color: rgba(244, 245, 247, 0.84);
    font-size: 9px;
    font-weight: 540;
  }

  #overview-view .mv7-overview-insight {
    position: relative;
    order: 4;
    display: grid;
    min-height: 108px;
    grid-template-columns: 44px minmax(0, 1fr) minmax(122px, 40%);
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 23px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 46%),
      rgba(255, 255, 255, 0.018);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      0 18px 36px -28px rgba(0, 0, 0, 0.88);
    backdrop-filter: blur(22px) saturate(110%);
    -webkit-backdrop-filter: blur(22px) saturate(110%);
  }

  #overview-view .mv7-overview-insight-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(156, 130, 234, 0.26);
    border-radius: 50%;
    background: rgba(156, 130, 234, 0.07);
    color: var(--mv7-home-transfer);
  }

  #overview-view .mv7-overview-insight-icon svg {
    width: 21px;
    height: 21px;
  }

  #overview-view .mv7-overview-insight-copy {
    min-width: 0;
  }

  #overview-view .mv7-overview-insight-copy small {
    display: block;
    margin-bottom: 5px;
    color: var(--mv7-home-transfer);
    font-size: 9px;
    font-weight: 680;
    letter-spacing: 0.1em;
  }

  #overview-view .mv7-overview-insight-copy p {
    margin: 0;
    color: #f0f1f3;
    font-size: 13px;
    line-height: 1.24;
  }

  #overview-view .mv7-overview-insight-bars {
    display: grid;
    min-width: 0;
    gap: 8px;
  }

  #overview-view .mv7-overview-insight-bars > div {
    display: grid;
    grid-template-columns: 38px minmax(34px, 1fr) minmax(42px, auto);
    align-items: center;
    gap: 6px;
    color: rgba(217, 221, 228, 0.55);
    font-size: 8px;
  }

  #overview-view .mv7-overview-insight-bars i {
    display: block;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
  }

  #overview-view .mv7-overview-insight-bars b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: rgba(225, 228, 233, 0.36);
  }

  #overview-view .mv7-overview-insight-bars > div:last-child b {
    background: var(--mv7-home-expense);
  }

  #overview-view .mv7-overview-insight-bars em {
    overflow: hidden;
    color: rgba(225, 228, 233, 0.62);
    font-size: 8px;
    font-style: normal;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #overview-view .mv7-overview-insight-bars > div:last-child em {
    color: var(--mv7-home-expense);
  }

  #overview-view .mv7-analysis-grid {
    display: contents !important;
  }

  #overview-view .mv7-cashflow-panel,
  #overview-view .mv7-overview-budget-panel,
  #overview-view .mv7-activity-panel {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.055), transparent 46%),
      rgba(255, 255, 255, 0.018);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.21),
      inset 0 -1px rgba(255, 255, 255, 0.035),
      0 22px 42px -32px rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(22px) saturate(108%);
    -webkit-backdrop-filter: blur(22px) saturate(108%);
  }

  #overview-view .mv7-cashflow-panel {
    order: 5;
    display: block;
    overflow: hidden;
    border-radius: 24px;
  }

  #overview-view .mv7-accounts-panel {
    display: none;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-header {
    min-height: 60px;
    padding: 15px 16px 7px;
    border-bottom: 0;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-header h3,
  #overview-view .mv7-activity-panel .mv7-panel-header h3,
  #overview-view .mv7-overview-budget-panel .mv7-panel-header h3 {
    font-size: 15px;
    font-weight: 570;
    letter-spacing: -0.025em;
  }

  #overview-view .mv7-cashflow-panel .mv7-panel-header p,
  #overview-view .mv7-cashflow-panel .mv7-legend,
  #overview-view .mv7-cashflow-panel .mv7-panel-stats {
    display: none;
  }

  #overview-view .mv7-mobile-cashflow-period {
    position: relative;
    display: flex;
    align-items: center;
  }

  #overview-view .mv7-mobile-cashflow-period select {
    min-height: 36px;
    padding: 0 31px 0 10px;
    appearance: none;
    border: 0;
    border-radius: 10px;
    outline: 0;
    background: transparent;
    color: rgba(242, 244, 247, 0.82);
    font-size: 11px;
    box-shadow: none;
  }

  #overview-view .mv7-mobile-cashflow-period svg {
    position: absolute;
    right: 9px;
    width: 13px;
    height: 13px;
    color: rgba(223, 227, 233, 0.48);
    pointer-events: none;
  }

  #overview-view .mv7-cashflow-panel .mv7-chart-wrap {
    padding: 8px 13px 14px 43px;
  }

  #overview-view .mv7-cashflow-panel .mv7-main-chart {
    height: 175px;
  }

  #overview-view .mv7-cashflow-panel .mv7-chart-axis {
    top: 17px;
    left: 4px;
    width: 35px;
    height: 146px;
  }

  #overview-view .mv7-chart-line {
    stroke: var(--mv7-home-blue);
    filter: none;
  }

  #overview-view .mv7-chart-area {
    fill: rgba(88, 166, 255, 0.08);
  }

  #overview-view .mv7-chart-point circle:first-child {
    fill: rgba(88, 166, 255, 0.18);
    stroke: var(--mv7-home-expense);
  }

  #overview-view .mv7-chart-point circle:last-child {
    fill: #f7f8fa;
  }

  #overview-view .mv7-activity-panel {
    order: 6;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
  }

  #overview-view .mv7-activity-panel .mv7-panel-header {
    min-height: 61px;
    padding: 15px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  #overview-view .mv7-activity-panel .mv7-panel-header p {
    display: none;
  }

  #overview-view .mv7-activity-panel .mv7-text-link {
    color: var(--mv7-home-expense);
    font-size: 11px;
  }

  #overview-view .mv7-transaction-list {
    gap: 0;
    padding: 4px 14px 10px;
  }

  #overview-view .mv7-transaction-row {
    min-height: 72px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 11px;
    padding: 0 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  #overview-view .mv7-transaction-row + .mv7-transaction-row {
    border-top: 1px solid rgba(255, 255, 255, 0.075);
  }

  #overview-view .mv7-transaction-row:nth-child(n + 3) {
    display: none;
  }

  #overview-view .mv7-transaction-token {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(114, 219, 132, 0.2);
    border-radius: 50%;
    background: rgba(114, 219, 132, 0.055);
    color: var(--mv7-home-income);
  }

  #overview-view .mv7-transaction-row:nth-child(2) .mv7-transaction-token {
    border-color: rgba(232, 184, 78, 0.2);
    background: rgba(232, 184, 78, 0.055);
    color: var(--mv7-home-amber);
  }

  #overview-view .mv7-transaction-token-label {
    display: none;
  }

  #overview-view .mv7-transaction-token-icon {
    display: block;
    width: 19px;
    height: 19px;
  }

  #overview-view .mv7-transaction-copy strong {
    font-size: 13px;
    font-weight: 580;
  }

  #overview-view .mv7-transaction-copy span {
    color: rgba(211, 216, 224, 0.5);
    font-size: 10px;
  }

  #overview-view .mv7-transaction-amount {
    max-width: 118px;
    color: var(--mv7-home-expense);
    font-size: 11px;
    font-weight: 620;
  }

  #overview-view .mv7-transaction-amount.is-income {
    color: var(--mv7-home-income);
  }

  #overview-view .mv7-transaction-amount.is-transfer {
    color: var(--mv7-home-transfer);
  }

  #overview-view .mv7-overview-budget-panel {
    order: 7;
    display: block;
    border-radius: 24px;
  }

  #overview-view .mv7-overview-budget-panel .mv7-panel-header {
    min-height: 56px;
    padding: 14px 16px 7px;
    border-bottom: 0;
  }

  #overview-view .mv7-overview-budget-panel .mv7-panel-header p {
    display: none;
  }

  #overview-view .mv7-overview-budget-panel .mv7-text-link {
    color: var(--mv7-home-expense);
  }

  #overview-view .mv7-overview-budget-content {
    padding: 8px 15px 17px;
  }

  #overview-view .mv7-overview-budget-track {
    height: 5px;
  }

  #overview-view #overview-whatsapp-cta {
    order: 8;
  }

  #overview-view .mv7-overview-secondary-grid {
    display: none;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='overview'] .mv7-topbar {
    min-height: calc(66px + env(safe-area-inset-top));
    padding-inline: 12px;
  }

  body[data-v2-view='overview'] .mv7-mobile-brand strong {
    font-size: 18px;
  }

  body[data-v2-view='overview'] .mv7-topbar .mv7-icon-button {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  #overview-view.mv7-content {
    padding-inline: 12px;
  }

  #overview-view .mv7-section-heading > div:first-child {
    min-height: 120px;
    padding-right: 0;
  }

  #overview-view .mv7-metric-primary > strong {
    font-size: clamp(28px, 9.4vw, 35px);
  }

  #overview-view .mv7-metric-income,
  #overview-view .mv7-metric-expense {
    padding-inline: 7px;
  }

  #overview-view .mv7-metric-income > strong,
  #overview-view .mv7-metric-expense > strong {
    margin-left: 34px;
    font-size: 11px;
  }

  #overview-view .mv7-overview-insight {
    min-height: 132px;
    grid-template-columns: 42px minmax(0, 1fr);
  }

  #overview-view .mv7-overview-insight-bars {
    grid-column: 2;
  }
}

/* Precedencia final de Inicio: conserva solo los dos controles del concepto
   y aplica la paleta por acciÃ³n aunque el usuario cambie su orden. */
@media (max-width: 768px) {
  body[data-v2-view='overview'] .mv7-topbar .mv7-menu-button,
  body[data-v2-view='overview'] #conn-status-chip {
    display: none;
  }

  body[data-v2-view='overview'] #whatsapp-quick-link,
  body[data-v2-view='overview'] #profile-button {
    display: grid;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    flex-basis: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.08), transparent 45%),
      rgba(255, 255, 255, 0.025);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.24),
      inset 0 -1px rgba(255, 255, 255, 0.04),
      0 9px 20px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }

  body[data-v2-view='overview'] #whatsapp-quick-link {
    color: #79dca1;
  }

  body[data-v2-view='overview'] #profile-button {
    color: #eef1f5;
    font-size: 12px;
    font-weight: 680;
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn[data-quick-action='ingreso'] svg {
    border: 0;
    background: transparent;
    color: var(--mv7-home-income);
    stroke: var(--mv7-home-income);
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn[data-quick-action='gasto'] svg {
    border: 0;
    background: transparent;
    color: var(--mv7-home-expense);
    stroke: var(--mv7-home-expense);
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn[data-quick-action='transfer'] svg {
    border: 0;
    background: transparent;
    color: var(--mv7-home-transfer);
    stroke: var(--mv7-home-transfer);
  }

  #overview-view .mv7-quick-actions-row .mv7-quick-action-btn[data-quick-action='mas'] svg {
    border: 0;
    background: transparent;
    color: var(--mv7-home-amber);
    stroke: var(--mv7-home-amber);
  }

  #overview-view .mv7-overview-insight-icon svg,
  #overview-view .mv7-transaction-token-icon {
    fill: none;
    stroke: currentColor;
  }
}

@media (max-width: 370px) {
  body[data-v2-view='overview'] .mv7-topbar-actions {
    gap: 6px;
  }

  body[data-v2-view='overview'] #whatsapp-quick-link,
  body[data-v2-view='overview'] #profile-button {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    flex-basis: 40px;
  }
}

/* Cuentas móvil: mapa clear-glass inspirado en el concepto aprobado.
   Todo queda encerrado en este breakpoint para conservar intacto el escritorio. */
@media (max-width: 768px) {
  body[data-v2-view='accounts'] {
    --mv7-account-blue: #6fa9ff;
    --mv7-account-green: #70d883;
    --mv7-account-amber: #e8b84e;
    --mv7-account-violet: #a887ff;
  }

  body[data-v2-view='accounts'] .mv7-topbar {
    min-height: calc(68px + env(safe-area-inset-top));
    padding-inline: 12px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.045), transparent 50%),
      rgba(7, 9, 13, 0.78);
    backdrop-filter: blur(24px) saturate(130%);
    -webkit-backdrop-filter: blur(24px) saturate(130%);
  }

  body[data-v2-view='accounts'] .mv7-topbar-actions {
    gap: 6px;
  }

  body[data-v2-view='accounts'] .mv7-topbar .mv7-menu-button,
  body[data-v2-view='accounts'] .mv7-topbar .mv7-icon-button,
  body[data-v2-view='accounts'] .mv7-topbar .mv7-avatar {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
    flex-basis: 40px;
    border-color: rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.085), transparent 48%),
      rgba(255, 255, 255, 0.025);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      inset 0 -1px rgba(255, 255, 255, 0.035),
      0 8px 18px rgba(0, 0, 0, 0.22);
  }

  body[data-v2-view='accounts'] #privacy-toggle {
    color: var(--mv7-account-blue);
  }

  body[data-v2-view='accounts'] #whatsapp-quick-link {
    color: #78d99b;
  }

  body[data-v2-view='accounts'] #notification-bell {
    color: #e7bd4e;
  }

  body[data-v2-view='accounts'] #profile-button {
    color: #f0f2f6;
  }

  #accounts-view.mv7-accounts-view {
    width: 100%;
    padding: 23px 16px calc(56px + env(safe-area-inset-bottom));
  }

  #accounts-view .mv7-accounts-desktop-copy {
    display: none;
  }

  #accounts-view .mv7-accounts-mobile-copy {
    display: inline;
  }

  #accounts-view .mv7-accounts-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-bottom: 26px;
  }

  #accounts-view .mv7-accounts-heading .mv7-eyebrow {
    margin-bottom: 9px;
    color: var(--mv7-account-blue);
    font-size: 10px;
    font-weight: 650;
    letter-spacing: 0.15em;
  }

  #accounts-view .mv7-accounts-heading h2 {
    max-width: 290px;
    font-size: clamp(29px, 8.4vw, 36px);
    font-weight: 470;
    line-height: 1.06;
    letter-spacing: -0.055em;
  }

  #accounts-view .mv7-accounts-description {
    max-width: 285px;
    margin-top: 11px;
    color: rgba(222, 226, 233, 0.62);
    font-size: 12px;
    line-height: 1.5;
  }

  #accounts-view .mv7-tx-heading-actions {
    align-items: center;
    gap: 8px;
    padding-bottom: 3px;
  }

  #accounts-view #accounts-open-trash,
  #accounts-view #accounts-add {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 50%;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.1), transparent 48%),
      rgba(255, 255, 255, 0.025);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.24),
      inset 0 -1px rgba(255, 255, 255, 0.035),
      0 12px 25px rgba(0, 0, 0, 0.26);
    color: #eef2f8;
    backdrop-filter: blur(20px) saturate(135%);
    -webkit-backdrop-filter: blur(20px) saturate(135%);
  }

  #accounts-view #accounts-open-trash {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    color: rgba(218, 222, 230, 0.58);
  }

  #accounts-view #accounts-add {
    display: grid;
    border-color: rgba(111, 169, 255, 0.38);
    color: var(--mv7-account-blue);
  }

  #accounts-view #accounts-add span {
    display: none;
  }

  #accounts-view #accounts-add svg {
    width: 22px;
    height: 22px;
  }

  #accounts-view .mv7-money-map {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 24px;
    background:
      radial-gradient(circle at 50% 68%, rgba(90, 149, 255, 0.105), transparent 11rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.012) 46%, transparent),
      rgba(7, 9, 13, 0.52);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      inset 0 -1px rgba(255, 255, 255, 0.03),
      0 25px 55px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(24px) saturate(128%);
    -webkit-backdrop-filter: blur(24px) saturate(128%);
  }

  #accounts-view .mv7-money-map::before {
    width: 270px;
    height: 270px;
    border-color: rgba(111, 169, 255, 0.065);
    background: transparent;
    box-shadow:
      0 0 0 46px rgba(111, 169, 255, 0.01),
      0 0 0 92px rgba(111, 169, 255, 0.006);
    left: 50%;
    top: 76%;
  }

  #accounts-view .mv7-money-map > header {
    position: relative;
    z-index: 5;
    display: block;
    min-height: 126px;
    padding: 24px 22px 8px;
    border: 0;
    background: transparent;
  }

  #accounts-view .mv7-money-map > header .mv7-eyebrow {
    margin: 0 0 8px;
    color: var(--mv7-account-blue);
    font-size: 10px;
    letter-spacing: 0.14em;
  }

  #accounts-view #money-map-title {
    display: none;
  }

  #accounts-view #accounts-mobile-total {
    display: block;
    font-family: var(--v2-sans);
    font-size: clamp(31px, 9vw, 39px);
    font-weight: 430;
    line-height: 1;
    letter-spacing: -0.065em;
  }

  #accounts-view .mv7-money-map-status {
    position: static;
    display: flex;
    width: fit-content;
    max-width: none;
    margin-top: 11px;
    color: rgba(218, 223, 231, 0.64);
    font-family: var(--v2-sans);
    font-size: 11px;
    text-align: left;
  }

  #accounts-view .mv7-money-map-status i {
    width: 6px;
    height: 6px;
    background: var(--mv7-account-green);
    box-shadow: 0 0 10px rgba(112, 216, 131, 0.7);
  }

  #accounts-view .mv7-money-map-canvas {
    position: relative;
    display: block;
    min-height: 258px;
    padding: 0;
  }

  #accounts-view .mv7-money-source {
    position: absolute;
    z-index: 4;
    display: flex;
    width: 126px;
    min-height: 126px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 14px;
    border: 1px solid rgba(111, 169, 255, 0.56);
    border-radius: 50%;
    background:
      radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.16), transparent 42%),
      rgba(70, 118, 197, 0.14);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.3),
      inset 0 -12px 28px rgba(36, 79, 151, 0.16),
      0 0 28px rgba(88, 147, 245, 0.22);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    backdrop-filter: blur(18px) saturate(142%);
    -webkit-backdrop-filter: blur(18px) saturate(142%);
  }

  #accounts-view .mv7-money-source span {
    color: rgba(233, 238, 247, 0.82);
    font-size: 9px;
  }

  #accounts-view .mv7-money-source strong {
    max-width: 108px;
    margin-top: 7px;
    font-family: var(--v2-sans);
    font-size: clamp(14px, 4.2vw, 17px);
    line-height: 1.14;
    letter-spacing: -0.055em;
  }

  #accounts-view .mv7-money-source small {
    display: none;
  }

  #accounts-view .mv7-money-routes {
    display: none;
  }

  #accounts-view .mv7-money-routes-mobile {
    position: absolute;
    z-index: 2;
    display: block;
    width: 100%;
    height: 220px;
    inset: 19px 0 auto;
    overflow: visible;
  }

  #accounts-view .mv7-money-routes-mobile path {
    fill: none;
    stroke: rgba(111, 169, 255, 0.78);
    stroke-linecap: round;
    stroke-width: 1.35;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 4px rgba(96, 155, 255, 0.48));
  }

  #accounts-view .mv7-money-routes-mobile path:nth-child(2) {
    stroke: rgba(112, 216, 131, 0.68);
  }

  #accounts-view .mv7-money-routes-mobile path:nth-child(3) {
    stroke: rgba(232, 184, 78, 0.68);
  }

  #accounts-view .mv7-money-routes-mobile path:nth-child(4) {
    stroke: rgba(168, 135, 255, 0.68);
  }

  #accounts-view .mv7-money-routes-mobile circle {
    fill: #dce9ff;
    filter: drop-shadow(0 0 5px rgba(111, 169, 255, 0.85));
  }

  #accounts-view .mv7-money-map[data-account-count='0'] .mv7-money-routes-mobile {
    display: none;
  }

  #accounts-view .mv7-money-map[data-account-count='1'] .mv7-money-routes-mobile path:nth-child(n + 2),
  #accounts-view .mv7-money-map[data-account-count='2'] .mv7-money-routes-mobile path:nth-child(2),
  #accounts-view .mv7-money-map[data-account-count='2'] .mv7-money-routes-mobile path:nth-child(4),
  #accounts-view .mv7-money-map[data-account-count='3'] .mv7-money-routes-mobile path:nth-child(4) {
    display: none;
  }

  #accounts-view .mv7-money-map[data-account-count='2'] .mv7-money-routes-mobile path:nth-child(3) {
    stroke: rgba(112, 216, 131, 0.68);
  }

  #accounts-view .mv7-money-nodes {
    position: absolute;
    z-index: 5;
    display: block;
    width: auto;
    inset: 0;
  }

  #accounts-view .mv7-money-nodes::before {
    display: none;
  }

  #accounts-view .mv7-money-node {
    position: absolute;
    display: grid;
    width: 120px;
    min-height: 74px;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 7px;
    padding: 4px;
    border: 0;
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    color: #f2f4f8;
  }

  #accounts-view .mv7-money-node:nth-child(1) {
    left: 12px;
    top: 8px;
  }

  #accounts-view .mv7-money-node:nth-child(2) {
    left: 12px;
    bottom: 8px;
  }

  #accounts-view .mv7-money-node:nth-child(3) {
    right: 12px;
    top: 8px;
  }

  #accounts-view .mv7-money-node:nth-child(4) {
    right: 12px;
    bottom: 8px;
  }

  #accounts-view .mv7-money-map[data-account-count='2'] .mv7-money-node:nth-child(2) {
    right: 12px;
    bottom: auto;
    left: auto;
    top: 8px;
  }

  #accounts-view .mv7-money-node:hover,
  #accounts-view .mv7-money-node:focus-visible,
  #accounts-view .mv7-money-node.is-selected {
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  #accounts-view .mv7-money-node-token {
    width: 38px;
    height: 38px;
    grid-row: 1 / 3;
    border-color: color-mix(in srgb, var(--account-color) 45%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--account-color) 9%, transparent);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.12),
      0 0 16px color-mix(in srgb, var(--account-color) 14%, transparent);
    font-size: 9px;
  }

  #accounts-view .mv7-money-node.is-selected .mv7-money-node-token {
    border-color: color-mix(in srgb, var(--account-color) 72%, white 8%);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.18),
      0 0 18px color-mix(in srgb, var(--account-color) 26%, transparent);
  }

  #accounts-view .mv7-money-node-copy {
    align-self: end;
    gap: 2px;
  }

  #accounts-view .mv7-money-node-copy strong {
    color: rgba(227, 231, 238, 0.66);
    font-size: 8px;
    font-weight: 520;
  }

  #accounts-view .mv7-money-node-copy small {
    color: #f0f2f6;
    font-family: var(--v2-sans);
    font-size: 9px;
  }

  #accounts-view .mv7-money-node > b {
    grid-column: 2;
    color: color-mix(in srgb, var(--account-color) 84%, white 5%);
    font-size: 9px;
  }

  #accounts-view [data-account-kind='bank'] {
    --account-color: var(--mv7-account-blue) !important;
  }

  #accounts-view [data-account-kind='savings'] {
    --account-color: var(--mv7-account-green) !important;
  }

  #accounts-view [data-account-kind='cash'] {
    --account-color: var(--mv7-account-amber) !important;
  }

  #accounts-view [data-account-kind='credit'] {
    --account-color: var(--mv7-account-violet) !important;
  }

  #accounts-view .mv7-account-collection {
    margin-top: 27px;
  }

  #accounts-view .mv7-account-collection > header {
    display: flex;
    min-height: 39px;
    align-items: center;
    padding: 0 4px 12px;
  }

  #accounts-view .mv7-account-collection > header .mv7-eyebrow,
  #accounts-view .mv7-account-collection > header > p {
    display: none;
  }

  #accounts-view .mv7-account-collection > header h3 {
    font-size: 20px;
    font-weight: 540;
    letter-spacing: -0.04em;
  }

  #accounts-view .mv7-accounts-sort {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 7px;
    padding: 0 4px 0 12px;
    border: 0;
    background: transparent;
    color: rgba(221, 225, 232, 0.68);
    font: inherit;
    font-size: 12px;
    cursor: pointer;
  }

  #accounts-view .mv7-accounts-sort svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.6;
  }

  #accounts-view .mv7-accounts-sort[data-sort-mode]:not([data-sort-mode='original']) {
    color: var(--mv7-account-blue);
  }

  #accounts-view .mv7-accounts-sort:disabled {
    opacity: 0.4;
    cursor: default;
  }

  #accounts-view .mv7-account-focus {
    position: relative;
    display: block;
    min-height: 350px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 24px;
    background:
      radial-gradient(circle at 10% 6%, color-mix(in srgb, var(--account-color) 13%, transparent), transparent 13rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.012) 48%, transparent),
      rgba(7, 9, 13, 0.54);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.2),
      inset 0 -1px rgba(255, 255, 255, 0.03),
      0 24px 54px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(24px) saturate(132%);
    -webkit-backdrop-filter: blur(24px) saturate(132%);
  }

  #accounts-view .mv7-account-focus::before {
    width: 220px;
    height: 220px;
    background: var(--account-color);
    filter: blur(100px);
    opacity: 0.08;
  }

  #accounts-view .mv7-account-focus-main {
    position: static;
    display: block;
    min-height: 350px;
    padding: 22px 20px 82px;
  }

  #accounts-view .mv7-account-focus-heading {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 30px;
  }

  #accounts-view .mv7-account-orb {
    width: 52px;
    height: 52px;
    border-color: color-mix(in srgb, var(--account-color) 44%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--account-color) 9%, transparent);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.14),
      0 0 20px color-mix(in srgb, var(--account-color) 12%, transparent);
    font-size: 16px;
  }

  #accounts-view .mv7-account-focus-heading > div > span {
    color: var(--account-color);
    font-size: 9px;
    font-weight: 650;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  #accounts-view .mv7-account-focus-heading h3 {
    margin-top: 5px;
    font-size: 18px;
    font-weight: 520;
  }

  #accounts-view .mv7-account-focus-heading .mv7-account-share {
    width: auto;
    grid-column: auto;
    padding: 6px 10px;
    margin: 0;
    border-color: color-mix(in srgb, var(--account-color) 52%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--account-color) 7%, transparent);
    color: var(--account-color);
    font-size: 9px;
  }

  #accounts-view .mv7-account-focus-main > p:not(.mv7-account-mobile-meta) {
    margin-bottom: 8px;
    color: rgba(215, 220, 228, 0.58);
    font-size: 11px;
  }

  #accounts-view .mv7-account-focus-main > strong {
    position: relative;
    z-index: 3;
    display: block;
    width: 62%;
    font-family: var(--v2-sans);
    font-size: clamp(27px, 7.7vw, 34px);
    font-weight: 430;
    line-height: 1.05;
    letter-spacing: -0.065em;
  }

  #accounts-view .mv7-account-mobile-meta {
    position: relative;
    z-index: 3;
    display: block;
    max-width: 60%;
    margin: 11px 0 0;
    color: rgba(216, 221, 229, 0.58);
    font-size: 9px;
    line-height: 1.4;
  }

  #accounts-view .mv7-account-focus-insight {
    position: absolute;
    z-index: 2;
    display: block;
    width: 39%;
    min-width: 0;
    height: 112px;
    padding: 0;
    border: 0;
    background: transparent;
    right: 13px;
    top: 138px;
    pointer-events: none;
  }

  #accounts-view .mv7-account-insight-copy,
  #accounts-view .mv7-account-insight-stats {
    display: none;
  }

  #accounts-view .mv7-account-focus-insight > svg {
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0.9;
  }

  #accounts-view .mv7-account-chart-grid {
    stroke: rgba(255, 255, 255, 0.035);
  }

  #accounts-view .mv7-account-chart-line {
    stroke-width: 1.8;
  }

  #accounts-view .mv7-account-actions {
    position: absolute;
    z-index: 6;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 44px;
    gap: 8px;
    margin: 0;
    right: 18px;
    bottom: 18px;
    left: 18px;
  }

  #accounts-view .mv7-account-actions button {
    min-width: 0;
    min-height: 46px;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 999px;
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.075), transparent 55%),
      rgba(255, 255, 255, 0.02);
    color: #f0f2f6;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
    font-size: 11px;
    white-space: nowrap;
  }

  #accounts-view .mv7-account-actions #account-transfer {
    border-color: color-mix(in srgb, var(--account-color) 48%, rgba(255, 255, 255, 0.12));
    background:
      linear-gradient(145deg, rgba(255, 255, 255, 0.09), transparent 55%),
      color-mix(in srgb, var(--account-color) 10%, transparent);
    color: var(--account-color);
  }

  #accounts-view .mv7-account-actions #account-edit {
    width: 44px;
    padding: 0;
  }

  #accounts-view .mv7-account-actions #account-edit > svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
  }

  #accounts-view .mv7-account-deck {
    display: grid;
    gap: 10px;
    padding: 0;
    margin-top: 10px;
  }

  #accounts-view .mv7-account-layer {
    display: grid;
    width: 100%;
    min-height: 100px;
    grid-template-columns: 50px minmax(0, 1fr) auto 18px;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 4px 11px;
    padding: 14px 15px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 22px;
    background:
      radial-gradient(circle at 7% 22%, color-mix(in srgb, var(--account-color) 8%, transparent), transparent 7rem),
      linear-gradient(145deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.01) 52%, transparent),
      rgba(7, 9, 13, 0.5);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.16),
      inset 0 -1px rgba(255, 255, 255, 0.025),
      0 17px 38px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(20px) saturate(128%);
    -webkit-backdrop-filter: blur(20px) saturate(128%);
  }

  #accounts-view .mv7-account-layer:hover,
  #accounts-view .mv7-account-layer:focus-visible {
    border-color: color-mix(in srgb, var(--account-color) 40%, rgba(255, 255, 255, 0.12));
    background:
      radial-gradient(circle at 7% 22%, color-mix(in srgb, var(--account-color) 10%, transparent), transparent 7rem),
      rgba(9, 12, 17, 0.58);
    transform: none;
  }

  #accounts-view .mv7-account-layer-token {
    width: 48px;
    height: 48px;
    grid-column: 1;
    grid-row: 1 / 3;
    border-color: color-mix(in srgb, var(--account-color) 38%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--account-color) 8%, transparent);
    box-shadow:
      inset 0 1px rgba(255, 255, 255, 0.12),
      0 0 18px color-mix(in srgb, var(--account-color) 11%, transparent);
    font-size: 11px;
  }

  #accounts-view .mv7-account-layer-copy {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    gap: 3px;
  }

  #accounts-view .mv7-account-layer-copy strong {
    color: #f0f2f5;
    font-size: 13px;
    font-weight: 540;
  }

  #accounts-view .mv7-account-layer-copy small {
    color: rgba(211, 216, 224, 0.55);
    font-size: 10px;
  }

  #accounts-view .mv7-account-layer-ratio {
    display: flex;
    grid-column: 2;
    grid-row: 2;
    align-items: center;
    gap: 7px;
    color: var(--account-color);
    font-size: 9px;
    white-space: nowrap;
  }

  #accounts-view .mv7-account-layer-ratio::before {
    width: min(105px, 62%);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(
      90deg,
      var(--account-color) 0 var(--account-share),
      rgba(255, 255, 255, 0.09) var(--account-share) 100%
    );
    content: '';
    box-shadow: 0 0 8px color-mix(in srgb, var(--account-color) 18%, transparent);
  }

  #accounts-view .mv7-account-layer-amount {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
    color: #f0f2f5;
    font-family: var(--v2-sans);
    font-size: 11px;
  }

  #accounts-view .mv7-account-layer-arrow {
    grid-column: 4;
    grid-row: 1 / 3;
    stroke: rgba(224, 228, 235, 0.62);
  }

  #accounts-view #accounts-empty-state {
    min-height: 190px;
    margin-top: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.018);
  }
}

@media (max-width: 370px) {
  #accounts-view.mv7-accounts-view {
    padding-inline: 12px;
  }

  #accounts-view .mv7-accounts-heading h2 {
    font-size: 28px;
  }

  #accounts-view #accounts-open-trash {
    display: none;
  }

  #accounts-view .mv7-money-map > header {
    padding-inline: 18px;
  }

  #accounts-view .mv7-money-node {
    width: 108px;
  }

  #accounts-view .mv7-money-node:nth-child(1),
  #accounts-view .mv7-money-node:nth-child(2) {
    left: 7px;
  }

  #accounts-view .mv7-money-node:nth-child(3),
  #accounts-view .mv7-money-node:nth-child(4) {
    right: 7px;
  }

  #accounts-view .mv7-money-source {
    width: 112px;
    min-height: 112px;
  }

  #accounts-view .mv7-account-focus-heading {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  #accounts-view .mv7-account-focus-heading .mv7-account-share {
    width: fit-content;
    grid-column: 2;
  }

  #accounts-view .mv7-account-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px;
    right: 14px;
    left: 14px;
  }

  #accounts-view .mv7-account-actions button {
    padding-inline: 9px;
    font-size: 10px;
  }

  #accounts-view .mv7-account-layer {
    grid-template-columns: 46px minmax(0, 1fr) auto 16px;
    gap: 4px 8px;
    padding-inline: 12px;
  }

  #accounts-view .mv7-account-layer-token {
    width: 44px;
    height: 44px;
  }

  #accounts-view .mv7-account-layer-amount {
    font-size: 10px;
  }
}

/* Ajuste de tamaño en Inicio móvil (pedido del usuario, 2026-08-16): el
   saludo era demasiado grande, el widget de Flujo de efectivo se veía
   vacío/pesado sin datos reales, y algunas tarjetas tenían más aire del
   necesario. Al final del archivo a propósito — gana por cascada sobre
   todas las iteraciones anteriores de estas mismas reglas más arriba.
   font-size/padding-bottom llevan !important porque hay más de una docena
   de redefiniciones previas de estos mismos selectores en este archivo
   (historial de rediseños v13-v18) y no todas ceden ante "el último gana"
   de forma predecible — sin !important, algunas no se aplicaban pese a
   estar más abajo en el archivo. */
@media (max-width: 768px) {
  #overview-view .mv7-mobile-overview-greeting {
    font-size: clamp(22px, 6vw, 27px) !important;
  }

  #overview-view #widget-cashflow {
    display: none;
  }

  #overview-view .mv7-metric-primary {
    min-height: 268px !important;
    padding-bottom: 98px !important;
  }

  #overview-view .mv7-activity-panel {
    padding-bottom: 14px !important;
  }
}
